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

📄 pt_sy_summ.ec

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻 EC
字号:
/*  打印系统凭证整理单  */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void addspace();void addspacef();char readch();void prtf_dnum();void mess();short num_time();short menu();short menusel();#include </u/ebcsav/include/begin>short ti,i,num_c2,num_c3,num,cred_num,open_num,canc_num;double d_amount,c_amount;char c;char s[7],st[11];$ char s_num[2],s_type[2],s_type1[2],s_type2[2],s_type0[2],cu_type[2],  ope_num[2],statu[2];$ double amoun,interes;FILE *pf;static char *title2[10]={"0. 返   回 ","1.定期利息 ","2.活期利息 ","3. 双整 ",  "4. 活期 ","5. 零整 ","6.存本取息 ","7.定活两便 ","8. 大额 ","9. 通知 "};static char *remind2[10]={"  返回主选择单  ","  打印定期利息凭证整理单  ",  "  打印活期利息凭证整理单  ","  打印整存整取凭证整理单  ",  "  打印活期凭证整理单  ","  打印零存整取凭证整理单  ",  "  打印存本取息凭证整理单  ","  打印定活两便凭证整理单  ",  "  打印大额储蓄凭证整理单  ","  打印通知存款凭证整理单  "};static short menu_row2[10]={5,5,5,6,6,6,6,6,6,6},  menu_col2[10]={8,19,30,8,16,24,32,43,54,62};static char *title3[3]={"0.返回 ","1.人民币 ","2.外币 "};static char *remind3[3]={"  返回主选择单  ","  打印人民币储蓄凭证整理单  ",  "  打印外币储蓄凭证整理单  "};static short menu_row3[3]={8,8,8},menu_col3[3]={8,15,24};move(0,23);$ 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';ope_num[0]=op_num;ope_num[1]='\0';s_num[0]=op.num&0x7f;s_num[1]='\0';s_type[1]='\0';s_type1[1]='\0';s_type2[1]='\0';cu_type[1]='\0';num_c2=num_c3=0;while(1)  {    move(2,0);    clrtobot();    block(1,0,22,80);    num=((op.type&1)==1)?9:4;    block(4,6,4,(num==9)?66:38);    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>4||(op.type&3)==1) num_c3=1;    else if((op.type&3)==2) num_c3=2;    else      {        block(7,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;    if(num_c3==2)      {        move(11,3);        printw("选择: U-美元  J-日元  H-港元  M-德国马克  P-英镑  F-法国法郎  C-加拿大元");        while(1)          {            move(11,76);            c=toupper(readch());            if(c=='U'||c=='J'||c=='H'||c=='M'||c=='P'||c=='F'||c=='C')              {                cu_type[0]=c;                break;              }          }      }    else cu_type[0]='R';    i=(num_c3-1)*10;    if(num_c2==1)      {        s_type[0]=i+1;        s_type1[0]=i+3;        s_type2[0]=i+6;      }    else if(num_c2==2)      {        s_type[0]=s_type2[0]=i+2;        s_type1[0]=i+7;      }    else      {        s_type[0]=s_type1[0]=s_type2[0]=i+num_c2-2;      }    $ declare blot1 scroll cursor for select sav_type,status,amount,interest       into $s_type0,$statu,$amoun,$interes from r_blot       where sec_num=$s_num and       (sav_type=$s_type or sav_type=$s_type1 or sav_type=$s_type2);    $ declare blot2 scroll cursor for select sav_type,status,amount,interest       into $s_type0,$statu,$amoun,$interes from f_blot       where sec_num=$s_num and        (sav_type=$s_type or sav_type=$s_type1 or sav_type=$s_type2)       and cur_type=$cu_type;    if(sqlca.sqlcode!=0)      {        move(20,20);        addstr("申请");        mess((short)16);        printw("(%d), ",sqlca.sqlcode);        mess((short)3);        getch();        return;      }    if(num_c3==1)      {        $ open blot1;      }    else      {        $ open blot2;      }    if(sqlca.sqlcode!=0)      {        move(20,20);        addstr("打开");        mess((short)16);        printw("(%d), ",sqlca.sqlcode);        mess(3);        getch();        break;      }    cred_num=open_num=canc_num=0;    d_amount=c_amount=0.0;    while(1)      {        if(num_c3==1)          {            $ fetch blot1;          }        else          {            $ fetch blot2;          }        if(sqlca.sqlcode!=0) break;        if(num_c2<3)          {            switch(statu[0])              {                case 'E':                case 'P':                  cred_num++;                  d_amount+=interes;                  break;                case 'D':                  if(s_type0[0]!=7) break;                  cred_num++;                  d_amount+=interes;                  break;                case 'M':                  d_amount+=amoun;                  break;              }          }        else          {            switch(statu[0])              {                case 'C':                case 'T':                  cred_num++;                  c_amount+=amoun;                  break;                case 'D':                  cred_num++;                  d_amount+=amoun;                  break;                case 'E':                case 'P':                  cred_num++;                  canc_num++;                  d_amount+=amoun;                  break;                case 'O':                case 'R':                  cred_num++;                  open_num++;                  c_amount+=amoun;              }          }      }    if(num_c3==1)      {        $ close blot1;      }    else      {        $ close blot2;      }    ti=num_time();    move(20,20);    mess((short)42);    mess((short)4);    getch();    printf("%c[5i%c%c9%c%c%c]%cq\n\n",27,27,'%',1,20,27,28);    addspacef(38);    printf("系  统  凭  证  整  理  单\n");    addspacef(34);    printf("==================================\n");    addspacef(14);    printf("%-10s",st);    addspacef(40);    printf("%4d年%2d月%2d日 %2d时%2d分\n",year,month,day,ti/100,ti%100);    printf("          ─────────────────────────────────────────\n\n");    addspacef(14);    printf("类型: %-10s",&title2[num_c2][2]);    addspacef(16);    printf("币种: ");    switch(cu_type[0])      {        case 'C':          printf("加拿大元");          break;        case 'F':          printf("法国法郎");          break;        case 'H':          printf("港元    ");          break;        case 'J':          printf("日元    ");          break;        case 'M':          printf("德国马克");          break;        case 'P':          printf("英镑    ");          break;        case 'R':          printf("人民币  ");          break;        case 'U':          printf("美元    ");      }    printf("\n\n");    addspacef(14);    if(num_c2<3)      {        printf("凭证张数                                借方发生额            贷方发生额\n\n");        addspacef(16);        printf("%4d",cred_num);        addspacef(28);      }    else      {        printf("凭证张数    销户数    开户数            借方发生额            贷方发生额\n\n");        addspacef(16);        printf("%4d",cred_num);        addspacef(7);        printf("%4d",canc_num);        addspacef(6);        printf("%4d",open_num);        addspacef(7);      }    prtf_dnum(d_amount,16);    addspacef(6);    prtf_dnum(c_amount,16);    printf("\n\n");    addspacef(50);    printf("借贷差: ");    prtf_dnum(c_amount-d_amount,16);    printf("\n\n");    printf("          ─────────────────────────────────────────\n");    printf("              事后监督:                    复核人:                  操作员:%s\n",s);    printf("%c%c[4i",12,27);  }$ 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/readch>#include </u/ebcsav/include/prtf_dnum>#include </u/ebcsav/include/menu>#include </u/ebcsav/include/menusel>#include </u/ebcsav/include/num_time>

⌨️ 快捷键说明

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