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

📄 pt_blot.ec

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻 EC
字号:
#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_c3,num,l,pa,pab,pae;char c;char s[7],st[21],sn[7];$ char s_num[2],s_type[2],cu_type[2],ter[2],nam[9],ope_num[2],statu[2];$ long a_num,b_num,cr_num;$ double amoun,balanc,interes;FILE *pf;static char *title3[3]={"0.返回 ","1.人民币 ","2.外币 "};static char *remind3[3]={"  返回主选择单  ","  打印人民币储蓄交易日记帐  ",  "  打印外币储蓄交易日记帐  "};static short menu_row3[3]={5,5,5},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_blot1 scroll cursor for select * into $b_num,$ope_num,$s_num,  $a_num,$nam,$s_type,$cu_type,$ter,$cr_num,$statu,$amoun,$balanc,$interes   from r_blot;$ declare read_blot2 scroll cursor for select * into $b_num,$ope_num,$s_num,  $a_num,$nam,$s_type,$cu_type,$ter,$cr_num,$statu,$amoun,$balanc,$interes   from f_blot;if(sqlca.sqlcode!=0)  {    move(20,20);    addstr("申请");    mess((short)16);    printw("(%d), ",sqlca.sqlcode);    mess(3);    getch();    return;  }num_c3=0;while(1)  {    if((op.type&3)==1) num_c3=1;    else if((op.type&3)==2) num_c3=2;    else      {        block(4,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) break;    if(num_c3==1)      {        $ open read_blot1;      }    else      {        $ open read_blot2;      }    if(sqlca.sqlcode!=0)      {        move(20,20);        addstr("打开");        mess((short)16);        printw("(%d), ",sqlca.sqlcode);        mess(3);        getch();        break;      }    move(6,20);    addstr("起始页号: ");    scanw("%hd",&pab);    move(8,20);    addstr("终止页号: ");    scanw("%hd",&pae);    move(10,20);    mess((short)60);    mess((short)4);    getch();    printf("%c%c%c%c%c%c%c%c%c%c%c%c\n\n\n\n",27,'[','5','i',      27,'%','9',1,20,28,'$',10);    pa=1;    l=0;    while(1)      {        if(num_c3==1)          {            $ fetch read_blot1;          }        else          {            $ fetch read_blot2;          }        if(sqlca.sqlcode!=0) break;        if(pa<pab)          {            l++;            if(l>=40)              {                l=0;                pa++;              }            continue;          }        if(l==0)          {            if(pa>1) printf("%c",12);            addspacef(52);            printf("%c%c%c%c",28,'p',27,'[');            if(num_c3==1) printf("人 民 币");            else printf("外 币");            printf("交 易 日 记 帐%c%c%c%c\n",28,'q',27,']');            addspacef(48);            printf("──────────────────────\n");            addspacef(14);            printf("营业部门: %-10s",st);            addspacef(30);            printf("%4d年%2d月%2d日",year,month,day);            addspacef(34);            printf("操作员: %-6s\n",s);            addspacef(10);            printf("┏━┯━━┯━━━━━━┯━━━━┯━━━━━━━━┯━━━━┯━━━━━━━┯━━━━━━━┯━━━━━━━┯━━━┓\n");            addspacef(10);            printf("┃所│ 流 │            │        │储种    存期    │        │              │              │              │      ┃\n");            addspacef(10);            printf("┃  │ 水 │  帐    号  │ 户  名 │                │ 凭证号 │  发  生  额  │   余    额   │   利     息  │操作员┃\n");            addspacef(10);            printf("┃号│ 号 │            │        │    币种    业务│        │              │              │              │      ┃\n");            addspacef(10);            printf("┠─┼──┼──────┼────┼────────┼────┼───────┼───────┼───────┼───┨\n");          }        if((l%5)==0&&l!=0)          {            addspacef(10);            printf("┃  │    │            │        │                │        │              │              │              │      ┃\n");          }        addspacef(10);        printf("┃  │");        printf("%4d│",b_num);        prtf_inum((long)s_num[0],2);        printf("-");        prtf_inum(a_num,9);        printf("│");        printf("%-8s│",nam);        switch(((short)s_type[0])%10)          {            case 1:              printf("双整");              break;            case 2:              printf("活期");              break;            case 3:              printf("零整");              break;            case 4:              printf("取息");              break;            case 5:              printf("定活");              break;            case 6:              printf("大额");              break;            case 7:              printf("通知");          }        switch(toupper(cu_type[0]))          {            case 'R':              printf("RM¥");              break;            case 'U':              printf("US$");              break;            case 'J':              printf("Ja¥");              break;            case 'H':              printf("HK$");              break;            case 'M':              printf(" DM");              break;            case 'P':              printf("  £");              break;            case 'F':              printf(" FF");              break;            case 'C':              printf("Ca$");          }        i=((short)s_type[0])%10;        if(i==1||i==3||i==6)          {            if(ter[0]<12) printf("%2d月",ter[0]);            else printf("%2d年",ter[0]/12);          }        else printf("    ");        switch(toupper(statu[0]))          {            case 'A':              printf("调息");              break;            case 'B':              printf("作废");              break;            case 'C':              printf("续存");              break;            case 'D':              printf("支出");              break;            case 'E':              printf("销户");              break;            case 'F':              printf("冻结");              break;            case 'G':              break;            case 'H':              printf("挂失");              break;            case 'I':              printf("计息");              break;            case 'J':              break;            case 'K':              printf("登折");              break;            case 'L':              printf("解挂");              break;            case 'M':              printf("保值");              break;            case 'N':              printf("修改");              break;            case 'O':              printf("开户");              break;            case 'P':              printf("部提");              break;            case 'Q':              break;            case 'R':              printf("重开");              break;            case 'S':              printf("换折");              break;            case 'T':              printf("转帐");              break;            case 'U':              printf("解冻");              break;            case 'V':              printf("口挂");              break;            case 'W':              break;            case 'X':              printf("买汇");              break;            case 'Y':              break;            case 'Z':              ;          }        printf("│");        if(cr_num>0) prtf_inum(cr_num,8);        else printf("冲%4d号",-cr_num);        printf("│");        prtf_dnum(amoun,14);        printf("│");        prtf_dnum(balanc,14);        printf("│");        prtf_dnum(interes,14);        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);        l++;        if(l>=40)          {            addspacef(10);            printf("┗━┷━━┷━━━━━━┷━━━━┷━━━━━━━━┷━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━┛\n");            addspacef(100);            printf("操作员:\n");            addspacef(68);            printf("第%2d页\n",pa);            l=0;            pa++;          }        if(pa>pae) break;      }    if(l>0)      {            addspacef(10);            printf("┗━┷━━┷━━━━━━┷━━━━┷━━━━━━━━┷━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━┛\n");        addspacef(100);        printf("操作员:\n");        addspacef(68);        printf("第%2d页\n",pa);      }    printf("%c%c%c%c%c%c%c%c\n\n\n\n",12,28,'$',13,27,'[','4','i');    if(num_c3==1)      {        $ close read_blot1;      }    else      {        $ close read_blot2;      }    break;  }$ 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 + -