⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pt_open.ec

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻 EC
字号:
/*   pt_open   */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void addspace();void addspacef();void prtf_inum();void prtf_dnum();void mess();short menu();short menusel();#include </u/ebcsav/include/begin>struct operator opt;short i,num_c2,num_c3,num,l,count,pa;char c;char s[7],st[21],sn[7];$ char s_num[2],s_type[2],cu_type[2],ter[2],nam[9],addres[25],ope_num[2];$ long a_num;$ double amoun;FILE *pf;static char *title2[8]={"0.返回 ","1.双整 ","2.活期 ","3.零整 ",  "4.存本取息 ","5.定活两便 ","6.大额 ","7.通知 "};static char *remind2[8]={"  返回主选择单  ","  打印整存整取开户登记簿  ",  "  打印活期开户登记簿  ","  打印零存整取开户登记簿  ",  "  打印存本取息开户登记簿  ","  打印定活两便开户登记簿  ",  "  打印大额储蓄开户登记簿  ","  打印通知存款开户登记簿  "};static short menu_row2[8]={5,5,5,5,5,5,5,5},  menu_col2[8]={8,15,22,29,36,47,58,65};static char *title3[3]={"0.返回 ","1.人民币 ","2.外币 "};static char *remind3[3]={"  返回主选择单  ","  打印人民币储蓄开户登记簿  ",  "  打印外币储蓄开户登记簿  "};static short menu_row3[3]={7,7,7},menu_col3[3]={8,15,24};move(0,27);$ database saving;printw("打  印  开  户  登  记  簿");pf=fopen("/u/ebcsav/data/sav_sect.dat","r");fseek(pf,((op.num&0x7f)-1)*34+24,0);fread(st,10,1,pf);fclose(pf);st[10]='\0';for(i=0;i<7;i++)  if(op.name[i]!='\0')s[i]=op.name[i]^0xff;  else s[i]='\0';$ declare read_open scroll cursor for select * into $s_num,$s_type,$cu_type,  $ter,$a_num,$nam,$addres,$amoun,$ope_num from open_acc;if(sqlca.sqlcode!=0)  {    move(20,20);    addstr("申请");    mess((short)17);    printw("(%d), ",sqlca.sqlcode);    mess(3);    getch();    return;  }num_c2=num_c3=0;while(1)  {    move(2,0);    clrtobot();    block(1,0,22,80);    num=((op.type&1)==1)?7:2;    block(4,6,3,(num==7)?68:26);    num_c2=menu(title2,remind2,menu_row2,menu_col2,num,num_c2);    num_c2=menusel(title2,remind2,menu_row2,menu_col2,num,num_c2,0);    if(num_c2==0) break;    if(num_c2>2||(op.type&3)==1) num_c3=1;    else if((op.type&3)==2) num_c3=2;    else      {        block(6,6,3,28);        num_c3=menu(title3,remind3,menu_row3,menu_col3,2,num_c3);        num_c3=menusel(title3,remind3,menu_row3,menu_col3,2,num_c3,0);      }    if(num_c3==0) continue;    $ open read_open;    if(sqlca.sqlcode!=0)      {        move(20,20);        addstr("打开");        mess((short)17);        printw("(%d), ",sqlca.sqlcode);        mess(3);        getch();        break;;      }    move(10,20);    mess((short)60);    mess((short)4);    getch();    printf("%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n\n\n",27,'[','5','i',27,'%','9',1,15);    count=0;    pa=1;    l=1;    while(1)      {        $ fetch read_open;        if(sqlca.sqlcode!=0) break;        if(((num_c3==1)&&((s_type[0]!=(num_c3-1)*10+num_c2)||          (toupper(cu_type[0])!='R')))||          ((num_c3==2)&&((s_type[0]!=(num_c3-1)*10+num_c2)||          (toupper(cu_type[0])=='R')))) continue;        if(l==1)          {            if(pa>1) printw("%c",12);            addspacef(52);            printf("%c%c%c%c开 户 登 记 簿%c%c%c%c\n",              28,'p',27,'[',28,'q',27,']');            addspacef(44);            printf("─────────────────────\n\n");            addspacef(20);            printf("营业部门: %-10s",st);            addspacef(20);            printf("%4d年%2d月%2d日",year,month,day);            addspacef(20);            printf("操作员: %-6s\n\n",s);            addspacef(20);            printf("储蓄种类: %-10s",&title2[num_c2][2]);            addspacef(20);            printf("币种: %s\n",title3[num_c3]);            addspacef(14);            printf("┏━━━━━━┯━━━━┯━━━━┯━━┯━━━━━━━┯━━━━━━━━━━━━┯━━━┯━━━┓\n");            addspacef(14);            printf("┃            │        │        │    │              │                        │      │      ┃\n");            addspacef(14);            printf("┃   帐   号  │ 户  名 │ 币  种 │存期│   金    额   │     储  户  地  址     │操作员│ 备注 ┃\n");            addspacef(14);            printf("┃            │        │        │    │              │                        │      │      ┃\n");          }        addspacef(14);        printf("┠──────┼────┼────┼──┼───────┼────────────┼───┼───┨\n");        addspacef(14);        printf("┃");        prtf_inum((long)s_num[0],2);        printf("-");        prtf_inum(a_num,9);        printf("│%-8s│",nam);        switch(toupper(cu_type[0]))          {            case 'R':              printf(" 人民币 ");              break;            case 'U':              printf(" 美  元 ");              break;            case 'J':              printf(" 日  元 ");              break;            case 'H':              printf(" 港  元 ");              break;            case 'M':              printf("德国马克");              break;            case 'P':              printf(" 英  镑 ");              break;            case 'F':              printf("法国法郎");              break;            case 'C':              printf("加拿大元");          }        if(num_c2==1||num_c2==3||num_c2==6)          {            if(ter[0]<12) printf("│%2d月│",ter[0]);            else printf("│%2d年│",ter[0]/12);          }        else printf("│    │");        prtf_dnum(amoun,14);        printf("│%-24s│",addres);        pf=fopen("/u/ebcsav/data/sav_op.dat","r");        fseek(pf,(ope_num[0]-1)*17,0);        fread(&opt,17,1,pf);        fclose(pf);        for(i=0;i<7;i++)          if(opt.name[i]!='\0')sn[i]=opt.name[i]^0xff;          else sn[i]='\0';        printf("%-6s│      ┃\n",sn);        count++;        l++;        if(l>30)          {            addspacef(14);            printf("┗━━━━━━┷━━━━┷━━━━┷━━┷━━━━━━━┷━━━━━━━━━━━━┷━━━┷━━━┛\n");            addspacef(80);            printf("操作员:\n");            addspacef(60);            printf("第%2d页\n",pa);            l=1;            pa++;          }      }    if(l>1)      {        addspacef(14);        printf("┗━━━━━━┷━━━━┷━━━━┷━━┷━━━━━━━┷━━━━━━━━━━━━┷━━━┷━━━┛\n");        addspacef(80);        printf("操作员:\n");        addspacef(60);        printf("第%2d页\n",pa);      }    if(count>0)      {        addspacef(20);        printf("开户数: %3d\n",count);      }    printf("%c%c%c%c%c%c%c%c%c%c\n\n\n\n",12,27,'%','9',1,20,27,'[','4','i');    $ close read_open;  }$ close database;endwin();#include </u/ebcsav/include/end>#include </u/ebcsav/include/mess>#include </u/ebcsav/include/addspace>#include </u/ebcsav/include/addspacef>#include </u/ebcsav/include/prtf_inum>#include </u/ebcsav/include/prtf_dnum>#include </u/ebcsav/include/menu>#include </u/ebcsav/include/menusel>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -