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

📄 bank.c

📁 模拟储蓄所
💻 C
字号:
/*          Extenal Debug Application              */
/***************************************************/
/*                     by                          */
/*   MatrikMare Application Develop Solutions      */
/*                 1997--2004                      */
/*            All Rights Reserved                  */
/*                                                 */
/*       Kernel Debug :    原水凝露                */
/*                                                 */
/***************************************************/

/* purpose */
/* 题目是 模拟储蓄所
编制一个程序,模拟储蓄所业务的处理,包括存款取款,利息计算等。
基本要求:1开户处理 2存款处理 3取款处理
4消户处理 5利息计算 6账目维护*/

/* Definations*/
#define ROI 0.02
/*Rate of interest*/
/* include file(s) start(s) here*/
#include "stdio.h"
#include "math.h"
#include "string.h"
/*main function starts here*/
void main()
{
/* arguments*/
long unm[21],time[21],lgnm,lgpw,adpw;
float mny[21];
int i,flag,id,r,n;

/*main application*/
for(i=1;i<21;i++)
{ unm[i]=0;mny[i]=0;time[i]=0;}
r=0;
adpw=123456;
printf("Virtual Bank Ver 1.0.0.1\n");


while(r==0)
  {    printf("***********************\n");
       printf("1-login the bank\n");
       printf("2-Administrate the bank\n");
       printf("3-Exit the bank\n");
      flag=0;
      while(flag!=1 && flag!=2 && flag!=3)
          {printf("Enter your choice:");
          scanf("%d",&flag);
          }
      if (flag==1)
          {n=0;
          while(n==0)
             {printf("Enter your Card-id:");
              scanf("%ld",&lgnm);
               for(i=1;i<21;i++)
                 if(unm[i]==lgnm && unm[i]!=-1)n=i;
               if(n==0) printf("No such Card-id Registered\n");
               else r=user(n,unm,mny,time);
             }
          }
       else if(flag==2)
          {printf("Enter Administrator's Password:");
          scanf("%ld",&lgpw);
          if(lgpw==adpw)
          {printf("Ok,Please Login!\n");
          r=admin(unm,mny,time);}
          }
       else
          {printf("ByeBye\n");
          r=1;}



}

getch();

}

/*ext-functions start here*/
/*Private Function Declare admin(
ByRef unm as long,
ByRef mny as long,
ByRef time as long) as int
*/
int admin(unm,mny,time)
/* arguments*/
long *unm,*time;
float *mny;

/*main application*/
{int flag=0,n,rr=0;

while(rr==0)
{      printf("*******************\n");
       printf("1-Register a user\n");
       printf("2-Cancel a user\n");
       printf("3-Examine a user\n");
       printf("4-Back to Main Menu\n");
      flag=0;
      while(flag!=1 && flag!=2 && flag!=3 && flag!=4)
          {printf("Enter your choice:");
          scanf("%d",&flag);
          }
      if(flag==1)
          {   n=0;
              while(n<1 || n>20)
                 { printf("User id (i to 20):");
                  scanf("%d",&n);}
              printf("User %d's Card-id:",n);
              scanf("%d",unm+n);
              printf("Successful!\n");
          }
       else if(flag==2)
          {   n=0;
              while(n<1 || n>20)
                 { printf("User id (i to 20):");
                  scanf("%d",&n);}
              printf("User %d Card-id is %ld\n",n,*(unm+n));
              printf("Cancel?[Y/N]");
              getchar();
              if (getchar()=='y')
                 {printf("Canceled\n");
                 *(unm+n)=-1;
                  }
           }
       else if(flag==3)
          {   n=0;
              while(n<1 || n>20)
                 { printf("User id (i to 20):");
                  scanf("%d",&n);}
              printf("==========================\n");
              printf("User %d \n",n);
              if(*(unm+n)==-1)
                printf("This user has been canceled\n");
              else
              {printf("Card-id is %ld\n",*(unm+n));
              printf("Money is %f\n",*(mny+n));
              printf("Time is %ld\n",*(time+n));
              }
              printf("==========================\n");
           }
       else rr=1;

}
return (0);
}
/*Private Function Declare user(
ByVal id as int,
ByRef unm as long,
ByRef mny as long,
ByRef time as long) as int
*/
int user(id,unm,mny,time)
/* arguments*/
long *unm,*time;
float *mny;
int id;
/*main application*/
{int flag=0,rr=0;

float n,m,gm,t=0;
m=*(mny+id);

while(rr==0)
{      printf("*******************\n");
       printf("1-Add Money\n");
       printf("2-Get Money\n");
       printf("3-Examine your infomation\n");
       printf("4-Back to Main Menu\n");
       printf("Current rate of interest is 2%\n");
       printf("Current money is %f\n",m);
       flag=0;
      while(flag!=1 && flag!=2 && flag!=3 && flag!=4)
          {printf("Enter your choice:");
          scanf("%d",&flag);
          }
      if(flag==1)
          {   printf("Add Money Amout (less than 10000):");
              scanf("%f",&n);
              m=m+n;
              printf("Successful!\n");
              printf("Your current money is %f\n",m);
              *(mny+id)=m;
          }
       else if(flag==2)
          {    n=m+1;
              while(n>m)
                 { printf("Get Money Amout (less than %f):",m);
                  scanf("%f",&n);}
                  m=m-n;
                  printf("Your current money in bank is %f\n",m);
                  printf("Enter time:");
                  scanf("%f",&t);
                  gm=(0.02*t+1)*n;
                  printf("Your've get %f\n",gm);
           *(time+id)=(int)t;*(mny+id)=m;
           }
       else if(flag==3)
          {
              printf("==========================\n");
              printf("User %d \n",id);
              if(*(unm+id)<0)
                printf("This user has been canceled\n");
              else
              {printf("Card-id is %ld\n",*(unm+id));
              printf("Money is %f\n",*(mny+id));
              printf("Time is %d\n",*(time+id));
              }
              printf("==========================\n");
           }
       else rr=1;

}
return (0);
}

/*Debug Ends Here*/

⌨️ 快捷键说明

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