仿ATM程序软件

一、目标:

ATM仿真软件

1 系统的基本功能

ATM的管理系统其基本功能如下:密码验证机制;吞锁卡机制;存取款功能;账户查询功能;转账功能等。

要求

要能提供以下几个基本功能:

(1)系统内的相关信息文件由程序设计人员预先从键盘上录入,文件中的数据记录不得少于20条;

(2)设计并实现系统的相关界面,使用分级菜单提高人机交互性;

(3)登录系统必须输入正确的卡号和密码,输入错误时提示用户,连续输入错误3次则显示锁卡,用户登录后可以修改自己的密码;

(4)取款功能:输入取款金额,核对。若超出账户余额,则输出“余额不足”则,输出对应金额的现金,并提示用户是否打印回单,退卡,返回界面;

(5)存款功能:存入现金,核对金额,存入账户,提示用户是否打印回单,返回主界面;

(6)查询账户信息,包括用户名、余额信息,以及各种操作的历史记录;

(7)转账模块,提示用户输入正确的账号,检查转账条件是否满足,并完成转账操作;

(8)退出终端系统,提示用户保存好银行卡。

在查询界面中提供以下功能:利用账户的历史余额数据,进行账户余额的预测分析。

 提示

(1)用户的卡号和密码必须以密文形式保存在文件中,所以在验证账号信息的过程中必须包含加密和解密的过程。

(1)ATM仿真系统功能框图如下:

图1 ATM仿真软件功能框图

(2)结构体

根据用户信息,设计每个用户的结构体如下:

struct Account{                                                                                          //账号信息

       char ID[20];                                          //卡号

    char name[20];                                                                               //姓名

       int password[6];                                         //密码

       double money;                                        //账户余额

}

struct Statement{                                           //单笔流水信息

    char ID[20];                                                                                     //编号

    char accountID[20];                                                                        //对应账号

    char time[20];                                                                               //交易时间

    int type;                                                                                            //交易类型

    double money;                                                                                 //交易数额

    char toAccunt[20];                                                                          //对方账号

}

2.4 其他要求

(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。

(2)变量、方法命名符合规范。

(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。

(4)程序的层次清晰,可读性强。

 二、程序内部用到的小知识

1、原型:char *itoa( int value, char *string,int radix);

这个函数是一个c语言中将数字转化成字符串的函数。第一个参数value 是你要转换的数字,第二个参数string 是转换成字符串后放在那个数组里面,第三个参数radix是转换后的进制数(10进制、16进制等等)

itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。标准库中有sprintf,功能比这个更强

示例代码:(原本我使用的springtf,以为它是c++的函数,所以就换了,没想到这个函数在c环境中也可以使用!!)

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char str[10];
 5     int a=1234321;
 6     //将整数转化为字符串
 7     sprintf(str,"%d",a);
 8     int len=strlen(str);
 9     printf("%s %d",str,a);
10 }

2、将字符串转化成数字sscanf函数

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char str[]="1234321";
 5     int a;
 6     sscanf(str,"%d",&a);
 7     printf("%d
",a);
 8     char str1[]="123.321";
 9     double b;
10     sscanf(str1,"%lf",&b);
11     printf("%lf
",b);
12     return 0;
13 }

3、

C语言 strcpy() 函数用于对字符串进行复制(拷贝)。
头文件:string.h
语法/原型:
char* strcpy(char* strDestination, const char* strSource);
参数说明:
strDestination:目的字符串。
strSource:源字符串。
strcpy() 会把 strSource 指向的字符串复制到 strDestination。
必须保证 strDestination 足够大,能够容纳下 strSource,否则会导致溢出错误。
返回值:目的字符串,也即 strDestination。
 
还有一个和它很像的函数叫strcpy(s1,s2),它是让两个字符串比较。所在头文件也是#include<string.h>
当s1<s2时,返回为负数 注意不是-1
当s1==s2时,返回值= 0
当s1>s2时,返回正数 注意不是1
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。如:
 
4、获取当前时间的函数
 
struct tm的结构为
  int tm_sec;       /* 秒 – 取值区间为[0,59] */
  int tm_min;       /* 分 - 取值区间为[0,59] */
  int tm_hour;      /* 时 - 取值区间为[0,23] */
  int tm_mday;      /* 一个月中的日期 - 取值区间为[1,31] */
  int tm_mon;       /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
  int tm_year;      /* 年份,其值等于实际年份减去1900 */
  int tm_wday;      /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
  int tm_yday;      /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
  int tm_isdst;     /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
  time_t 这种类型就是用来存储从1970年到现在经过了多少秒,要想更精确一点,可以用结构struct timeval,它精确到微秒。
 
 1 #include<stdio.h>
 2 #include<time.h>
 3 int main()
 4 {
 5     struct tm *local;
 6     time_t t;
 7     t=time(NULL);
 8     local=localtime(&t);
 9     printf("%d %d %d
",local->tm_year+1900,local->tm_mon+1,local->tm_mday);
10     return 0;
11 }

三、程序代码:

c版:

  1 //程序刚开始个人信息保存在account.txt文件内。文件内密码是加密密码,三位加密密码对应一位
  2 //真实密码
  3 //222333,前三位对应真实密码2后三位对应真实密码3.所以正确密码位23
  4 //account.txt文件初始已有20条数据
  5 #include<stdio.h>
  6 #include<string.h>
  7 #include<stdlib.h>
  8 #include<windows.h>
  9 #include<time.h>
 10 #define maxn 10005
 11 #define INF 0x3f3f3f3f
 12 #define Key 111
 13 typedef struct                                                      //账号信息
 14 {
 15     char ID[20];                                                    //卡号
 16     char name[20];                                                //姓名
 17     int password;                                                //密码
 18     double money;                                                //账户余额
 19     double origin_money;
 20 } Account;
 21 Account m[maxn];
 22 typedef struct                                                     //单笔流水信息
 23 {
 24     char ID[20];                                                    //编号
 25     char accountID[20];                                            //对应账号
 26     int year,yue,r;                                                //交易时间
 27     int type;        //1为收钱,2为扣钱                                                //交易类型
 28     double money;                                                //交易数额
 29     char toAccunt[20];                                            //对方账号
 30 } Statement;
 31 Statement w[maxn];
 32 int number,now,start;
 33 void init()
 34 {
 35     now=-1;
 36     char password[25],ans;
 37     number=0;
 38     FILE *fp=NULL;
 39     fp=fopen("account.txt","r");
 40     char ch;
 41     while(1)
 42     {
 43         if(feof(fp)) break;
 44         fscanf(fp,"%s%s%s%lf%lf",m[number].ID,m[number].name,password,&m[number].money,&m[number].origin_money);
 45         int len=strlen(password);
 46         ans=0;
 47         int sum=0,i,j;
 48         for(j=0,i=0; i<len; ++i,++j,j%=3)
 49         {
 50             sum*=10;
 51             sum+=password[i]-'0';
 52             if(j==2)
 53             {
 54                 ans=ans*10+sum/Key;
 55                 sum=0;
 56             }
 57         }
 58         m[number].password=ans;
 59         number++;
 60     }
 61     fclose(fp);
 62     number--;
 63     start=0;
 64     fp=NULL;
 65     fp=fopen("message.txt","r");
 66     while(1)
 67     {
 68         if(feof(fp)) break;
 69         fscanf(fp,"%s%d%d%d%d%lf%s",w[start].accountID,&w[start].year,&w[start].yue,&w[start].r,&w[start].type,&w[start].money,w[start].toAccunt);
 70         start++;
 71     }
 72     fclose(fp);
 73     start--;
 74 }
 75 void Login()
 76 {
 77     system("cls");
 78     char id[20];
 79     int flag=0;
 80     int ans;
 81     system("cls");
 82     printf("请输入用户名:");
 83     scanf("%s",id);
 84     int i;
 85     for(i=0; i<number; ++i)
 86     {
 87         if(strcmp(m[i].ID,id)==0)
 88         {
 89             now=i;
 90             flag=1;
 91             break;
 92         }
 93     }
 94     if(flag)
 95     {
 96         printf("请输入密码
");
 97         scanf("%d",&ans);
 98         if(m[now].password==ans)
 99         {
100             printf("登陆成功
");
101         }
102         else now=-1,printf("密码错误
");
103     }
104     else
105     {
106         printf("用户名错误
");
107     }
108     system("pause");
109 }
110 void Get_money()
111 {
112     system("cls");
113     double ans;
114     printf("输入你的取钱金额
");
115     scanf("%lf",&ans);
116     if(m[now].money>=ans)
117     {
118         m[now].money-=ans;
119         printf("取钱成功
");
120         system("cls");
121         printf ("--------丨                        丨---
");
122         printf ("--------丨                        丨---
");
123         printf ("--------丨  账户%s                丨---
",m[now].ID);
124         printf ("--------丨  成功取得金额%lf        丨---
",ans);
125         printf ("--------丨  请注意拿取现金        丨---
");
126         printf ("--------丨                        丨---
");
127         printf ("--------丨                        丨---
");
128     }
129     else printf("余额不足
");
130     system("pause");
131 }
132 void Save_money()
133 {
134     system("cls");
135     double ans;
136     printf("输入你的存钱金额
");
137     scanf("%lf",&ans);
138     m[now].money+=ans;
139     printf("存储成功
");
140     system("pause");
141 }
142 void Find_money()
143 {
144     system("cls");
145     printf("账号id:姓名: 余额: 
");
146     printf("%s  %s  %lf
",m[now].ID,m[now].name,m[now].money);
147     system("pause");
148 }
149 void Find_message()
150 {
151     system("cls");
152     printf("自己账号:对方账号:类型(1为收钱,2为扣钱): 数额: 时间(年、月、日):
");
153     int i;
154     for(i=0; i<start; ++i)
155     {
156         if(strcmp(w[i].accountID,m[now].ID)==0)
157         {
158             printf("%s %d %d %d %d %lf %s
",w[i].accountID,w[i].year,w[i].yue,w[i].r,w[i].type,w[i].money,w[i].toAccunt);
159         }
160     }
161     system("pause");
162 }
163 void Modify_password()
164 {
165     int x,y;
166     system("cls");
167     printf("输入老密码
");
168     scanf("%d",&x);
169     system("cls");
170     if(x==m[now].password)
171     {
172         printf("你确认要修改密码:
");
173         printf("确认输入1,否则输入0
");
174         scanf("%d",&x);
175         if(x)
176         {
177             printf("输入新密码
");
178             scanf("%d",&x);
179             m[now].password=x;
180             printf("修改密码成功
");
181         }
182     }
183     else
184     {
185         printf("密码错误
");
186     }
187     system("pause");
188 }
189 void Conversion()
190 {
191     char id[20];
192     system("cls");
193     printf("输入你要转入得账户id:
");
194     scanf("%s",id);
195     int i;
196     for(i=0; i<number; ++i)
197     {
198         if(strcmp(m[i].ID,id)==0)
199         {
200             int ans=0;
201             printf("确认要进行转账:");
202             printf("输入1继续进行,输入0终止操作:
");
203             scanf("%d",&ans);
204             if(ans)
205             {
206                 struct tm *local;
207                 time_t t;
208                 t=time(NULL);
209                 local=localtime(&t);
210 
211                 double sum;
212                 printf("输入转账金额
");
213                 scanf("%lf",&sum);
214                 m[i].money+=sum;
215                 strcpy(w[start].accountID,m[now].ID);
216                 strcpy(w[start].toAccunt,m[i].ID);
217                 w[start].money=sum;
218                 w[start].type=2;
219                 w[start].year=local->tm_year+1900;
220                 w[start].yue=local->tm_mon;
221                 w[start++].r=local->tm_mday;
222 
223                 strcpy(w[start].accountID,m[i].ID);
224                 strcpy(w[start].toAccunt,m[now].ID);
225                 w[start].money=sum;
226                 w[start].type=1;
227                 w[start].year=local->tm_year+1900;
228                 w[start].yue=local->tm_mon;
229                 w[start++].r=local->tm_mday;
230                 m[now].money-=sum;
231                 break;
232             }
233             else break;
234         }
235     }
236     system("pause");
237 }
238 void Quit()
239 {
240     FILE *fp=NULL;
241     fp=fopen("message.txt","w");
242     int i,j;
243     for(i=0; i<start; ++i)
244     {
245         fprintf(fp,"%s %d %d %d %d %lf %s
",w[i].accountID,w[i].year,w[i].yue,w[i].r,w[i].type,w[i].money,w[i].toAccunt);
246     }
247     fclose(fp);
248 
249     char str[25];
250     fp=NULL;
251     fp=fopen("account.txt","w");
252     for(i=0; i<number; ++i)
253     {
254         itoa(m[i].password, str, 10);
255         //sprintf(str,"%d",m[i].password);
256         int len=strlen(str);
257         fprintf(fp,"%s %s ",m[i].ID,m[i].name);
258         for(j=0; j<len; ++j)
259         {
260             int ans=str[j]-'0';
261             ans*=Key;
262             if(j!=len-1)
263                 fprintf(fp,"%d",ans);
264             else fprintf(fp,"%d ",ans);
265         }
266         fprintf(fp,"%lf %lf
",m[i].money,m[i].origin_money);
267     }
268     fclose(fp);
269 }
270 void Menu()
271 {
272     int x;
273     while(1)
274     {
275         system("cls");
276         printf ( "                                                                 
");
277         printf ( "                                                                 
");
278         printf ( "                                                                 
");
279         printf ("--------------------------------------                           
");
280         printf ("--------------------------------------
");
281         printf ("--------丨[0]查看自己信息        丨---
");
282         printf ("--------丨[1]查看自己交易信息    丨---
");
283         printf ("--------丨[2]转账                丨---
");
284         printf ("--------丨[3]存钱                丨---
");
285         printf ("--------丨[4]取钱                丨---
");
286         printf ("--------丨[5]修改密码            丨---
");
287         printf ("--------丨[6]余额分析            丨---
");
288         printf ("--------丨[7]结束                丨---
");
289         printf ("----------输入相应数字----------------
");
290         printf ("---------------------------------------                           
");
291         printf ( "                                                                 
");
292         printf ( "                                                                 
");
293         scanf("%d",&x);
294         if(x==0)
295         {
296             Find_money();
297         }
298         else if(x==1)
299         {
300             Find_message();
301         }
302         else if(x==2)
303         {
304             Conversion();
305         }
306         else if(x==3)
307         {
308             Save_money();
309         }
310         else if(x==4)
311         {
312             Get_money();
313         }
314         else if(x==5)
315         {
316             Modify_password();
317         }
318         else if(x==6)
319         {
320             int y;
321             system("cls");
322             printf ("--------------------------------------------------
");
323             printf ("--------丨                                       丨---
");
324             printf ("--------丨     你原有余额%lf                     丨---
",m[now].origin_money);
325             printf ("--------丨                                       丨---
");
326             printf ("--------丨     先已有余额%lf                     丨---
",m[now].money);
327             if(m[now].origin_money>m[now].money)
328             printf ("--------丨     你的余额减少了%lf                 丨---
",m[now].origin_money-m[now].money);
329             else
330             printf ("--------丨     你的余额增加了%lf                 丨---
",m[now].money-m[now].origin_money);
331             printf ("--------丨                                       丨---
");
332             printf ("--------丨 想要设置原有余额请输入1,否则输入0    丨---
");
333             printf ("--------------------------------------------------
");
334             scanf("%d",&y);
335             if(y==1)
336             {
337                 printf("

原有余额设置是以你现在的余额为原有余额,你是否确认设置
");
338                 printf("确认输出1,否则输出0
");
339                 scanf("%d",&y);
340                 if(y) m[now].origin_money=m[now].money;
341             }
342             system("pause");
343         }
344         else if(x==7)
345         {
346             system("cls");
347             printf ("--------------------------------------                           
");
348             printf ("--------------------------------------
");
349             printf ("--------丨                         丨---
");
350             printf ("--------丨     谢谢你的使用        丨---
");
351             printf ("--------丨                         丨---
");
352             printf ("--------丨     请保存好银行卡      丨---
");
353             printf ("--------丨                         丨---
");
354             printf ("--------丨                         丨---
");
355             printf ("---------------------------------------                           
");
356             Quit();
357             return;
358         }
359     }
360 }
361 int main()
362 {
363     printf ("--------------------------------------                           
");
364     printf ("--------------------------------------
");
365     printf ("--------丨                         丨---
");
366     printf ("--------丨                         丨---
");
367     printf ("--------丨                         丨---
");
368     printf ("--------丨     欢迎使用ATM机       丨---
");
369     printf ("--------丨                         丨---
");
370     printf ("--------丨                         丨---
");
371     printf ("---------------------------------------                           
");
372     system("pause");
373     int t=0;
374     init();
375     while(1)
376     {
377         t++;
378         Login();
379         if(now>=0)
380         {
381             break;
382         }
383         if(t==3 && now<0)
384         {
385             printf("密码多次错误,为了保护你的安全。你的卡已被吞取!
");
386             return 0;
387         }
388     }
389     Menu();
390     return 0;
391 }
View Code

c++版:

  1 //程序刚开始个人信息保存在account.txt文件内。文件内密码是加密密码,三位加密密码对应一位
  2 //真实密码
  3 //222333,前三位对应真实密码2后三位对应真实密码3.所以正确密码位23
  4 #include<stdio.h>
  5 #include<string.h>
  6 #include<iostream>
  7 #include<algorithm>
  8 #include<fstream>
  9 #include<windows.h>
 10 #include<time.h>
 11 #include<string>
 12 using namespace std;
 13 const int maxn=10005;
 14 const int INF=0x3f3f3f3f;
 15 const int Key=111;
 16 struct Account                                                     //账号信息
 17 {
 18     char ID[20];                                                    //卡号
 19     char name[20];                                                //姓名
 20     int password;                                                //密码
 21     double money;                                                //账户余额
 22 } m[maxn];
 23 struct Statement                                                     //单笔流水信息
 24 {
 25     char ID[20];                                                    //编号
 26     char accountID[20];                                            //对应账号
 27     int year,yue,r;                                                //交易时间
 28     int type;        //1为收钱,2为扣钱                                                //交易类型
 29     double money;                                                //交易数额
 30     char toAccunt[20];                                            //对方账号
 31 } w[maxn];
 32 int number,now,start;
 33 void init()
 34 {
 35     now=-1;
 36     char password[25],ans;
 37     number=0;
 38     FILE *fp=NULL;
 39     fp=fopen("account.txt","r");
 40     char ch;
 41     while(1)
 42     {
 43         if(feof(fp)) break;
 44         fscanf(fp,"%s%s%s%lf",m[number].ID,m[number].name,password,&m[number].money);
 45         int len=strlen(password);
 46         ans=0;
 47         int sum=0;
 48         for(int j=0,i=0; i<len; ++i,++j,j%=3)
 49         {
 50             sum*=10;
 51             sum+=password[i]-'0';
 52             if(j==2)
 53             {
 54                 ans=ans*10+sum/Key;
 55                 sum=0;
 56             }
 57         }
 58         m[number].password=ans;
 59         number++;
 60     }
 61     fclose(fp);
 62     number--;
 63     start=0;
 64     fp=NULL;
 65     fp=fopen("message.txt","r");
 66     while(1)
 67     {
 68         if(feof(fp)) break;
 69         fscanf(fp,"%s%d%d%d%d%lf%s",w[start].accountID,&w[start].year,&w[start].yue,&w[start].r,&w[start].type,&w[start].money,w[start].toAccunt);
 70         start++;
 71     }
 72     fclose(fp);
 73     start--;
 74 }
 75 void Login()
 76 {
 77     system("cls");
 78     char id[20],flag=0,password,ans;
 79     system("cls");
 80     printf("请输入用户名:");
 81     scanf("%s",id);
 82     for(int i=0; i<number; ++i)
 83     {
 84         if(strcmp(m[i].ID,id)==0)
 85         {
 86             now=i;
 87             flag=1;
 88             password=m[i].password;
 89             break;
 90         }
 91     }
 92     if(flag)
 93     {
 94         printf("请输入密码
");
 95         scanf("%d",&ans);
 96         if(password==ans)
 97         {
 98             printf("登陆成功
");
 99         }
100     }
101     else
102     {
103         printf("用户名错误
");
104     }
105     system("pause");
106 }
107 void Get_money()
108 {
109     system("cls");
110     double ans;
111     printf("输入你的取钱金额
");
112     scanf("%lf",&ans);
113     if(m[now].money>=ans)
114     {
115         m[now].money-=ans;
116         printf("取钱成功
");
117     }
118     else printf("余额不足
");
119     system("pause");
120 }
121 void Save_money()
122 {
123     system("cls");
124     double ans;
125     printf("输入你的存钱金额
");
126     scanf("%lf",&ans);
127     m[now].money+=ans;
128     printf("存储成功
");
129     system("pause");
130 }
131 void Find_money()
132 {
133     system("cls");
134     printf("账号id:姓名: 余额: 
");
135     printf("%s  %s  %lf
",m[now].ID,m[now].name,m[now].money);
136     system("pause");
137 }
138 void Find_message()
139 {
140     system("cls");
141     printf("自己账号:对方账号:类型(1为收钱,2为扣钱): 数额: 时间(年、月、日):
");
142     for(int i=0; i<start; ++i)
143     {
144         if(strcmp(w[i].accountID,m[now].ID)==0)
145         {
146             printf("%s %d %d %d %d %lf %s
",w[i].accountID,w[i].year,w[i].yue,w[i].r,w[i].type,w[i].money,w[i].toAccunt);
147         }
148     }
149     system("pause");
150 }
151 void Conversion()
152 {
153     char id[20];
154     system("cls");
155     printf("输入你要转入得账户id:
");
156     scanf("%s",id);
157     for(int i=0; i<number; ++i)
158     {
159         if(strcmp(m[i].ID,id)==0)
160         {
161             int ans=0;
162             printf("确认要进行转账:");
163             printf("输入1继续进行,输入0终止操作:
");
164             scanf("%d",&ans);
165             if(ans)
166             {
167                 struct tm *local;
168                 time_t t;
169                 t=time(NULL);
170                 local=localtime(&t);
171 
172                 double sum;
173                 printf("输入转账金额
");
174                 scanf("%lf",&sum);
175                 m[i].money+=sum;
176                 strcpy(w[start].accountID,m[now].ID);
177                 strcpy(w[start].toAccunt,m[i].ID);
178                 w[start].money=sum;
179                 w[start].type=2;
180                 w[start].year=local->tm_year+1900;
181                 w[start].yue=local->tm_mon;
182                 w[start++].r=local->tm_mday;
183 
184                 strcpy(w[start].accountID,m[i].ID);
185                 strcpy(w[start].toAccunt,m[now].ID);
186                 w[start].money=sum;
187                 w[start].type=1;
188                 w[start].year=local->tm_year+1900;
189                 w[start].yue=local->tm_mon;
190                 w[start++].r=local->tm_mday;
191                 m[now].money-=sum;
192                 break;
193             }
194             else break;
195         }
196     }
197     system("pause");
198 }
199 void Quit()
200 {
201     FILE *fp=NULL;
202     fp=fopen("message.txt","w");
203     for(int i=0; i<start; ++i)
204     {
205         fprintf(fp,"%s %d %d %d %d %lf %s
",w[i].accountID,w[i].year,w[i].yue,w[i].r,w[i].type,w[i].money,w[i].toAccunt);
206     }
207     fclose(fp);
208 
209     char str[25];
210     fp=NULL;
211     fp=fopen("account.txt","w");
212     for(int i=0; i<number; ++i)
213     {
214         sprintf(str,"%d",m[i].password);
215         int len=strlen(str);
216         fprintf(fp,"%s %s ",m[i].ID,m[i].name);
217         for(int i=0; i<len; ++i)
218         {
219             int ans=str[i]-'0';
220             ans*=Key;
221             if(i!=len-1)
222                 fprintf(fp,"%d",ans);
223             else fprintf(fp,"%d ",ans);
224         }
225         fprintf(fp,"%lf
",m[i].money);
226     }
227     fclose(fp);
228 }
229 void Menu()
230 {
231     int x;
232     while(1)
233     {
234         system("cls");
235         printf ( "                                                                 
");
236         printf ( "                                                                 
");
237         printf ( "                                                                 
");
238         printf ("--------------------------------------                           
");
239         printf ("--------------------------------------
");
240         printf ("--------丨[0]查看自己信息        丨---
");
241         printf ("--------丨[1]查看自己交易信息    丨---
");
242         printf ("--------丨[2]转账                丨---
");
243         printf ("--------丨[3]存钱                丨---
");
244         printf ("--------丨[4]取钱                丨---
");
245         printf ("--------丨[5]结束                丨---
");
246         printf ("----------输入相应数字----------------
");
247         printf ("---------------------------------------                           
");
248         printf ( "                                                                 
");
249         printf ( "                                                                 
");
250         scanf("%d",&x);
251         if(x==0)
252         {
253             Find_money();
254         }
255         else if(x==1)
256         {
257             Find_message();
258         }
259         else if(x==2)
260         {
261             Conversion();
262         }
263         else if(x==3)
264         {
265             Save_money();
266         }
267         else if(x==4)
268         {
269             Get_money();
270         }
271         else if(x==5)
272         {
273             system("cls");
274             printf ("--------------------------------------                           
");
275             printf ("--------------------------------------
");
276             printf ("--------丨                         丨---
");
277             printf ("--------丨     谢谢你的使用        丨---
");
278             printf ("--------丨                         丨---
");
279             printf ("--------丨     请保存好银行卡      丨---
");
280             printf ("--------丨                         丨---
");
281             printf ("--------丨                         丨---
");
282             printf ("---------------------------------------                           
");
283             Quit();
284             return;
285         }
286     }
287 }
288 int main()
289 {
290     printf ("--------------------------------------                           
");
291     printf ("--------------------------------------
");
292     printf ("--------丨                         丨---
");
293     printf ("--------丨                         丨---
");
294     printf ("--------丨                         丨---
");
295     printf ("--------丨     欢迎使用ATM机       丨---
");
296     printf ("--------丨                         丨---
");
297     printf ("--------丨                         丨---
");
298     printf ("---------------------------------------                           
");
299     system("pause");
300     init();
301     Login();
302     if(now>=0)
303         Menu();
304     return 0;
305 }
View Code
原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/11775032.html