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

📄 dem_canc.ec

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻 EC
📖 第 1 页 / 共 3 页
字号:
   }tzbz=0;if(t1==1807){             if(ts<tz[0])              {               tzbz=1;               k=180200;              }             else              {             i=0;                    do{                      i++;                      }while(ts>=tz[i]&&i<15);                      k=t1*100+i;              }            }t1=k/10000;t2=k%10000;t3=t2/100;t4=t2%100*30;if(t1>32&&t1!=50){        t1-=32;        t3=3;        k-=320000;         }if(t1==50){          t1=18;          t3=8;        k-=320000;          }k1=k;$ declare read1 scroll cursor for select ll,rq into $rat,$dat1 from inter_rate where syh=$k1;    if(sqlca.sqlcode!=0)      {        move(21,20);        addstr("申请");        mess((short)9);        printw("(%d), ",sqlca.sqlcode);        mess((short)3);        getch();        return;      } $ open read1; if(sqlca.sqlcode !=0)  {    printw("** %d 错误 1: 打开利率表出错 **",sqlca.sqlcode);   getch();   return;   }$fetch first read1;dat2=0;dat3=0;do{   if(dat1>=dat2)               {                dat2=dat1;                ll2=rat;               }    if(dat1<=dat&&dat1>=dat3)               {                dat3=dat1;                ll1=rat;               }   $fetch next read1;  }while(sqlca.sqlcode!=SQLNOTFOUND);$close read1;if(t1==18)k1=t1*10000+200;else k1=t1*10000+1200;$ declare read2 scroll cursor for select ll,rq into $rat,$dat1 from inter_rate where syh=$k1;    if(sqlca.sqlcode!=0)      {        move(21,20);        addstr("申请");        mess((short)9);        printw("(%d), ",sqlca.sqlcode);        mess((short)3);        getch();        return;      } $ open read2; if(sqlca.sqlcode !=0)  {    printw("** %d 错误 2: 打开利率表出错 **",sqlca.sqlcode);   getch();   return;   }$fetch first read2;dat4=0;do{   if(dat1>=dat4)               {                dat4=dat1;                ll3=rat;               }    $fetch next read2;  }while(sqlca.sqlcode!=SQLNOTFOUND);$close read2;   if(t1==18)    {    switch(t3)          {           case 2:                  lx=(long)amount*ts*ll3/30/1000;                  break;           case 3:                  if(day>=dd)                  ts=(year-yy)*12+month-mm;                  else                   ts=(year-yy)*12+month-mm-1;                  lx=(long)amount*(1+ts)/2*ll2/1000;                  break;           case 1:                  if(t4>ts)                              {                       lx=(long)amount*ts*ll3/30/1000;                              }                  else {                        if(t4>=1080)                       {if(t4==1080) y=yy+3;                        else y=yy+5;                         m=mm;                        $ select bl,sy,sm,sd,wy,wm,wd into $bl,$sy,$sm,$sd,$wy,$wm,$wd from maint_rate where y=$y and m=$m;                        if(t4==1080){                                 if(sy!=0&&sm!=0&&sd!=0)                                                {                                   if(sy<yy||sy==yy&&sm<mm||sy==yy&&sm==mm&&sd<=dd)                                                   {                                             ts1=t4;                                                      }                                        else                                             ts1=(y-sy)*360+(m-sm)*30+dd-sd;                                                 }                                     else                                            ts1=0;                                           }                                  else    {                                 if(wy!=0&&wm!=0&&wd!=0)                                                {                                   if(wy<yy||wy==yy&&wm<mm||wy==yy&&wm==mm&&wd<=dd)                                                   {                                             ts1=t4;                                                      }                                        else                                             ts1=(y-wy)*360+(m-wm)*30+dd-sd;                                                 }                                     else                                            ts1=0;                                           }                     lx1=(long)amount*bl/10000*ts1;                        }                 else                     lx1=0;               lx=(long)amount*t4*ll1/30/1000;               lx2=(long)amount*(ts-t4)*ll3/30/1000;                        }                  break;           case 6:                  lx=(long)amount*t4*ll1/30/1000;                   break;           case 7:                  if(tzbz==0)                  lx=(long)amount*ts*ll1/30/1000;                  else lx=(long)amount*ts*ll3/30/1000;                  break;           case 8:                  if(t4>ts)                              {                              lx=(long)amount*ts*ll3/30/1000;                              }                  else {                       am=amount;                       j=ts/t4;                        y=yy;                        lx=0;                        lx1=0;                       for(i=1;i<=j;i++)                         {                        if(t4>=1080)                       {if(t4==1080) y=y+3;                        else y=y+5;                         m=mm;                        $ select bl,sy,sm,sd,wy,wm,wd into $bl,$sy,$sm,$sd,$wy,$wm,$wd from maint_rate where y=$y and m=$m;                        if(t4==1080){                                 if(sy!=0&&sm!=0&&sd!=0)                                                {                                   if(sy<yy||sy==yy&&sm<mm||sy==yy&&sm==mm&&sd<=dd)                                                   {                                             ts1=t4;                                                      }                                        else                                             ts1=(y-sy)*360+(m-sm)*30+dd-sd;                                                 }                                     else                                            ts1=0;                                           }                                  else    {                                 if(wy!=0&&wm!=0&&wd!=0)                                                {                                   if(wy<yy||wy==yy&&wm<mm||wy==yy&&wm==mm&&wd<=dd)                                                   {                                             ts1=t4;                                                      }                                        else                                             ts1=(y-wy)*360+(m-wm)*30+dd-sd;                                                 }                                     else                                            ts1=0;                                           }                     lx1+=(long)am*bl/10000*ts1;                    lx4=(long)am*bl/10000*ts1;                    if(t4==1080)yy+=3;                    else                        yy+=5;                        }                 else                     lx1=0;                          lx3=(long)am*t4*ll1/30/1000;                          lx+=(long)lx3+(long)((lx3-(long)lx3)*100+0.500000001)/100.0;                          am+=(long)lx3+(long)((lx3-(long)lx3)*100+0.500000001)/100.0;                          am+=(long)lx4+(long)((lx4-(long)lx4)*100+0.500000001)/100.0;k1=k; $ open read1; if(sqlca.sqlcode !=0)  {    printw("** %d 错误 1: 打开利率表出错 **",sqlca.sqlcode);   getch();   return;   }$fetch first read1;dat3=0;dd=dat%100;yy=dat/10000;mm=(dat%10000)/100+t4/30;if((mm%12)!=0)dat=(yy+mm/12)*10000+(mm%12)*100+dd;elseif((mm/12)>0)dat=(yy+mm/12-1)*10000+1200+dd;elsedat=yy*10000+1200+dd;do{   if(dat1<=dat&&dat1>=dat3)               {                dat3=dat1;                ll1=rat;               }   $fetch next read1;  }while(sqlca.sqlcode!=SQLNOTFOUND);$close read1;                          }                        lx2=(long)am*(ts%t4)*ll3/30/1000;                        }                  break;           }     }    else    {       switch(t3)           {           case 12:                  lx=(long)amount*ts*ll3/30/1000;                  if(t1==10)lx=(long)lx;                  break;           case 3:                  if(t4>ts)                              {                              lx=(long)amount*ts*ll3/30/1000;                              if(t1==10)lx=(long)lx;                              }                  else {                       am=amount;                       if(t1==10)am=(long)am;                       j=ts/t4;                       move(1,40);                        y=yy;                        lx=0;                        lx1=0;                       for(i=1;i<=j;i++)                         {                          lx3=(long)am*t4*ll1/30/1000;                              if(t1==10)lx3=(long)lx3;                          lx+=(long)lx3+(long)((lx3-(long)lx3)*100+0.500000001)/100.0;                          am+=(long)lx3+(long)((lx3-(long)lx3)*100+0.500000001)/100.0; k1=k; $ open read1; if(sqlca.sqlcode !=0)  {    printw("** %d 错误 1: 打开利率表出错 **",sqlca.sqlcode);   getch();   return;   }$fetch first read1;dat3=0;dd=dat%100;yy=dat/10000;mm=(dat%10000)/100+t4/30;if((mm%12)!=0)dat=(yy+mm/12)*10000+(mm%12)*100+dd;elseif((mm/12)>0)dat=(yy+mm/12-1)*10000+1200+dd;elsedat=yy*10000+1200+dd;do{   if(dat1<=dat&&dat1>=dat3)               {                dat3=dat1;                ll1=rat;               }   $fetch next read1;  }while(sqlca.sqlcode!=SQLNOTFOUND);$close read1;                          }                        lx2=(long)am*(ts%t4)*ll3/30/1000;                              if(t1==10)lx2=(long)lx2;                        }                  break;           case 11:                  if(t4>ts)                              {                  lx=(long)amount*ts*ll3/30/1000;                  if(t1==10)lx=(long)lx;                              }                  else {                  lx=(long)amount*t4*ll1/30/1000;                  if(t1==10)lx=(long)lx;                  lx2=(long)amount*(ts-t4)*ll3/30/1000;                  if(t1==10)lx2=(long)lx2;                       }                  break;           }   }t1=lx1;lx1=t1+(long)((lx1-t1)*100+0.500000001)/100.0;*maint=lx1;  lx+=lx2;t1=lx;if(t3!=2&&t3!=12)lx=t1+(long)((lx-t1)*100+0.500000001)/100.0;return(lx);}

⌨️ 快捷键说明

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