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

📄 pt_state_y.ec

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻 EC
📖 第 1 页 / 共 2 页
字号:
/*  打印年报表  */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void type_op();char edit_op();void addspace();void addspacef();char y_n();void mess();char readch();char readdv();char readst();short menu();short menusel();void prtf_dnum();FILE *pf_l;#include </u/ebcsav/include/begin>FILE *fp;char sec[11],st[8];double bac[32],bad[32],amound[32],amounc[32];short uro[32],urc[32],ur[32],voud[32],vouc[32],i,n,h,j,urh,urf,te1[32],sa1[32];double ba1[8],ba2[8],ba3[8],ba4[8],ba5[8],ba6[8],ba7[8];short voux[32],ur1[8],ur2[8],ur3[8],ur4[8],ur5[8],ur6[8],ur7[8];short h1[4],uh1[4],t_h1[4],f1[4],uf1[4],t_f1[4],num_c3=1,num;char *title[25]={" 整 存 整 取  "," 保 值 储 蓄  "," 活       期  ",                 " 零 存 整 取  "," 定 活 两 便  "," 存 本 取 息  ",                 " 大 额 储 蓄  "," 通 知 存 款  "," 业 务 合 计  ",                 "  │一年以下息",                 "利│一年以上息","  │保值利息  ","息│活期利息  ",                 "  │利息合计  "," 有 奖 储 蓄  ","  国  库  券  ",                 " 债 券 储 蓄  ","业 务 备 用 金","  暂  收  款  ",                 "  暂  付  款  "," 应 付 利 息  "," 往 来 收 支  ",                 " 营 业 收 支  "," 库 存 现 金  ","   合    计   "};char *title1[16]={" 整 存 整 取  "," 活       期  "," 业 务 合 计  ",                  "利│定期利息  ","  │活期利息  ","息│利息合计  ",                  " 买 入 外 币  ","支 付 人 民 币","业 务 备 用 金",                  "  暂  收  款  ","  暂  付  款  "," 应 付 利 息  ",                  " 往 来 收 支  "," 营 业 收 支  "," 库 存 现 金  ",                  "   合    计   "};char *title2[25]={"整│三个月","  │六个月","存│一  年","  │两  年",               "整│三  年","  │五  年","取│小  计","  活  期  ",               "零│一  年","存│三  年","整│五  年","取│小  计",               "存│一  年","本│三  年","取│五  年","息│小  计",               "定活两便  ",               "  │一个月","大│三个月","额│六个月","存│九个月",               "单│一  年","  │小  计","通知存款  ","合      计"};char *titl[24]={"  │  │一月","  │定│三月","美│  │六月","  │  │一年",                  "  │期│两年","元│  │小计","  │活    期","  │合    计",                  "  │  │一月","  │定│三月","日│  │六月","  │  │一年",                  "  │期│两年","元│  │小计","  │活    期","  │合    计",                  "  │  │一月","  │定│三月","港│  │六月","  │  │一年",                  "  │期│两年","币│  │小计","  │活    期","  │合    计"};static char *title3[7]={"0.返回 ","1.美元 ","2.日元 ","3.港币 ","4.人民币 ",                        "5.人民币附表 ","6.外币附表 "};static char *remind3[7]={"  返回主选择单  ","  打印美元年报表  ","  打印日元年报表  ","  打印港币年报表  ","  打印人民币年报表  ","  打印人民币附表  ","  打印外币附表  "};static short menu_row3[7]={7,7,7,7,7,7,7},menu_col3[7]={8,15,23,30,37,46,59};short s1a[25]={1,1,2,3,4,5,6,7,100,101,101,101,101,101,102,103,104,105,106,107,108,109,110,111,120};short t1e[25]={3,6,0,100,100,0,100,0,100,1,2,3,4,100,100,100,100,100,100,100,100,100,100,100,100};short s2a[25]={1,1,1,1,1,1,1,2,3,3,3,3,4,4,4,4,5,6,6,6,6,6,6,7,100};short t2e[25]={3,6,12,24,36,60,100,0,12,36,60,100,12,36,60,100,0,1,3,6,9,12,100,0,100};$ char cu[7]={'U','J','H','M','P','F','C'};$ char opa[2],se[2],sta[2],sav[2],te[2],c_type[2],t1[2],t2[2],t3[2],t4[2];$ double amoud,amouc,amou;$ long urh1,urf1,usr,vod,voc,usrc,usro,uruh1,t_urh1,uruf1,t_urf1;$ database saving;sec[10]='\0';opa[0]=op_num;opa[1]='\0';se[0]=op.num&0x7f;se[1]='\0';sta[1]='\0';sa1[1]='\0';sav[1]='\0';te[1]='\0';t1[1]='\0';t2[1]='\0';t3[1]='\0';t4[1]='\0';c_type[1]='\0';move(0,33);printw("打 印 年 报");fp=fopen("/u/ebcsav/data/sav_sect.dat","r");fseek(fp,((op.num&0x7f)-1)*34+24,0);fread(sec,10,1,fp);fclose(fp);for(n=0;n<7;n++)if(op.name[n]!='\0')st[n]=op.name[n]^0xff;else st[n]='\0';n=op.type;while(num_c3!=0){move(12,22);addspace(30);num=6;block(6,6,3,66);num_c3=menu(title3,remind3,menu_row3,menu_col3,num,num_c3);num_c3=menusel(title3,remind3,menu_row3,menu_col3,num,num_c3,0);if(num_c3==0){  $ close database;  endwin();  return;}switch(num_c3)   {      case 1:        c_type[0]='U';        break;      case 2:        c_type[0]='J';        break;      case 3:        c_type[0]='H';        break;      case 4:        c_type[0]='R';        break;    }if((op.type&0x1)==1&&c_type[0]=='R'&&num_c3==4){for(i=0;i<32;i++){ bac[i]=bad[i]=amound[i]=amounc[i]=0.0; ur[i]=uro[i]=urc[i]=voud[i]=vouc[i]=voux[i]=0;}sav[0]=1;t1[0]=3;t2[0]=6;t3[0]=12;t4[0]=24;$ select sum(debi_amoun),sum(cred_amoun),sum(today_bala),sum(open_user),    sum(canc_user),sum(today_user),sum(debi_vouch),sum(cred_vouch)  into $amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc from r_annual  where sav_type=$sav and ( term=$t1 or term=$t2 or term=$t3 or term=$t4 );  if(sqlca.sqlcode!=0)    { move(20,20);      printw("sum error");      getch();    }  uro[0]=usro;  urc[0]=usrc;  ur[0]=usr;  amound[0]=amoud;  amounc[0]=amouc;  bac[0]=amou;  voud[0]=vod;  vouc[0]=voc;  voux[0]=voud[0]+vouc[0];sav[0]=1;t1[0]=36;t2[0]=60;$ select sum(debi_amoun),sum(cred_amoun),sum(today_bala),sum(open_user),    sum(canc_user),sum(today_user),sum(debi_vouch),sum(cred_vouch)  into $amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc from r_annual  where sav_type=$sav and ( term=$t1 or term=$t2 );  if(sqlca.sqlcode!=0)    { move(20,20);      printw("sum error");      getch();    }  uro[1]=usro;  urc[1]=usrc;  ur[1]=usr;  amound[1]=amoud;  amounc[1]=amouc;  bac[1]=amou;  voud[1]=vod;  vouc[1]=voc;  voux[1]=voud[1]+vouc[1];for(i=2;i<25;i++){ sav[0]=s1a[i]; te[0]=t1e[i]; if(sav[0]==2||sav[0]==5||sav[0]==7) {  $ select sav_type,term,debi_amoun,cred_amoun,today_bala,open_user,canc_user,   today_user,debi_vouch,cred_vouch into $sav,$te,$amoud,$amouc,$amou,$usro,   $usrc,$usr,$vod,$voc from r_annual where sav_type=$sav; } else {  $ select sav_type,term,debi_amoun,cred_amoun,today_bala,open_user,canc_user,   today_user,debi_vouch,cred_vouch into $sav,$te,$amoud,$amouc,$amou,$usro,   $usrc,$usr,$vod,$voc from r_annual where sav_type=$sav and term=$te; }  uro[i]=usro;  urc[i]=usrc;  ur[i]=usr;  amound[i]=amoud;  amounc[i]=amouc;  if(amou<0)bad[i]=amou*-1;  else bac[i]=amou;  if(i==24)bac[i]=bad[i]=amou;  te1[i]=te[0];  sa1[i]=sav[0];  voud[i]=vod;  vouc[i]=voc;  voux[i]=voud[i]+vouc[i];}}if((op.type&0x2)==2&&c_type[0]!='R'&&num_c3!=5&&num_c3!=6){for(i=0;i<32;i++){ bac[i]=bad[i]=amound[i]=amounc[i]=0.0; ur[i]=uro[i]=urc[i]=voud[i]=vouc[i]=voux[i]=0;}sav[0]=11;te[0]=100;$ select debi_amoun,cred_amoun,today_bala,open_user,canc_user,today_user,  debi_vouch,cred_vouch into $amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc  from f_dai where sav_type=$sav and cur_type=$c_type and term=$te;  if(sqlca.sqlcode!=0)    { move(20,20);      printw("sum error");      getch();    }  uro[0]=usro;  urc[0]=usrc;  ur[0]=usr;  amound[0]=amoud;  amounc[0]=amouc;  bac[0]=amou;  voud[0]=vod;  vouc[0]=voc;  voux[0]=voud[0]+vouc[0];$ declare blot1 scroll cursor for select sav_type,term,debi_amoun,cred_amoun,  today_bala,open_user,canc_user,today_user,debi_vouch,cred_vouch from f_dai  where cur_type=$c_type;$ open blot1;for(i=1;i<16;i++){  $ fetch blot1 into $sav,$te,$amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc;  if(sqlca.sqlcode!=0)    { move(20,20);      printw("fetch blot1 error %d ",sqlca.sqlcode);      getch();      break;    }  if(sav[0]==11)   {i--;    continue;   }  uro[i]=usro;  urc[i]=usrc;  ur[i]=usr;  amound[i]=amoud;  amounc[i]=amouc;  if(amou<0)bad[i]=amou*-1;  else bac[i]=amou;  if(i==15)bad[i]=bac[i]=amou;  te1[i]=te[0];  sa1[i]=sav[0];  voud[i]=vod;  vouc[i]=voc;  voux[i]=voud[i]+vouc[i];}$close blot1;}/*endwin();$close database;return;*/if((op.type&0x1)==1&&c_type[0]=='R'&&num_c3==4){move(12,22);mess(60);mess(4);getch();move(12,22);addspace(40);move(12,22);mess(65);refresh();if((pf_l=fopen("/dev/lp0","w"))==0)/*if((pf_l=fopen("/u/ebcsav/tmp/r_state","w"))==0)*/{move(20,20);printw("打印机正在工作,任意键返回");getch();$ close database;endwin();return;}fprintf(pf_l,"\n\n\n\n\n%d",0);addspacef(66);fprintf(pf_l,"e%d%d",2,2);fprintf(pf_l,"人民币");fprintf(pf_l,"e%d%d",1,1);fprintf(pf_l,"e%d%d 营 业 年 报 表e%d%d\n",2,2,1,1);addspacef(59);fprintf(pf_l,"────────────────────────────\n\n\n\n");addspacef(30);fprintf(pf_l,"人民币");addspacef(19);fprintf(pf_l,"营业部门 : %-11s",sec);addspacef(19);fprintf(pf_l,"%4d年%2d月%2d日",year,month,day);addspacef(19);fprintf(pf_l,"  操作员 : %-7s\n",st);addspacef(22);fprintf(pf_l,"┏━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━┓\n");addspacef(22);fprintf(pf_l,"┃              │    本    年    发    生    额    │     本     年     余     额      │      户      数      │  传 票  张 数  ┃\n");addspacef(22);fprintf(pf_l,"┃   科    目   ├────────┬────────┼────────┬────────┼───┬───┬───┼──┬──┬──┨\n");addspacef(22);fprintf(pf_l,"┃              │    借    方    │    贷    方    │    借    方    │    贷    方    │ 开户 │ 销户 │总户数│借方│贷方│合计┃\n");addspacef(22);fprintf(pf_l,"┠───────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n");for(i=0;i<25;i++){addspacef(22);fprintf(pf_l,"┃%14s│",title[i]);prtf_dnum(amound[i],16);fprintf(pf_l,"│");prtf_dnum(amounc[i],16);fprintf(pf_l,"│");prtf_dnum(bad[i],16);fprintf(pf_l,"│");prtf_dnum(bac[i],16);fprintf(pf_l,"│%5d │%5d │%5d │%3d │%3d │%3d ┃\n",uro[i],urc[i],ur[i],voud[i],vouc[i],voux[i]);if(i!=24)if(i==8) {   addspacef(22);   fprintf(pf_l,"┠─┬─────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }else if(i>8&&i<13) {   addspacef(22);   fprintf(pf_l,"┃  ├─────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }else if(i==13) {   addspacef(22);   fprintf(pf_l,"┠─┴─────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }else {   addspacef(22);   fprintf(pf_l,"┠───────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }}sav[0]=100;te[0]=100;$ select hang_up,lift_hang,today_hang,freeze,unfreeze,today_free into         $urh1,$uruh1,$t_urh1,$urf1,$uruf1,$t_urf1 from r_annual         where sav_type=$sav and term=$te;addspacef(22);fprintf(pf_l,"┣━━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━┷━━━┷━━━┿━━┷━━┷━━┫\n");addspacef(22);fprintf(pf_l,"┃              │ 挂  失  户  数 │%14d  │ 解  挂  户  数 │%14d  │   挂   失   总   数  │%14d  │\n",urh1,uruh1,t_urh1);   addspacef(22);fprintf(pf_l,"┃ 特 殊 处 理  ├────────┼────────┼────────┼────────┼───────────┼────────┨\n");addspacef(22);fprintf(pf_l,"┃              │ 冻  结  户  数 │%14d  │ 解  冻  户  数 │%14d  │   冻   结   总   数  │%14d  │\n",urf1,uruf1,t_urf1);   addspacef(22);fprintf(pf_l,"┗━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━┛\n");addspacef(22);fprintf(pf_l,"          经  理 :                      事  后 :                        复  核 :                       制  表:%d\n",2);fprintf(pf_l,"\n\n\n\n\n\n\n\n\n\n\n");fclose(pf_l);}  if((op.type&0x2)==2&&c_type[0]!='R'&&num_c3!=5&&num_c3!=6){move(12,22);mess(60);mess(4);getch();move(12,22);addspace(40);move(12,22);mess(65);refresh();if((pf_l=fopen("/dev/lp0","w"))==0)/*if((pf_l=fopen("/u/ebcsav/tmp/r_state","w"))==0)*/{move(20,20);printw("打印机正在工作,任意键返回");getch();$ close database;endwin();return;}fprintf(pf_l,"\n\n\n\n\n%d",0);addspacef(66);fprintf(pf_l,"e%d%d",2,2);switch(toupper(c_type[0]))  {    case 'U':              fprintf(pf_l,"美  元");              break;    case 'J':              fprintf(pf_l,"日  元");              break;    case 'H':              fprintf(pf_l,"港  元");              break;  }fprintf(pf_l,"e%d%d",1,1);

⌨️ 快捷键说明

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