C语言设计ATM存取款界面

这个虽然很简单,但是我还是弄了一会儿,可见有多菜。练习算。

主要考察switch开关语句、do...while语句,页面的跳转我用的是goto,虽然是弊端,可是还是用了,因为太菜啊。大家有好建议的欢迎提出。

好了不说了,贴源码,欢迎各位网友老师,提出批评改进意见。

  1 /**
  2  * Copyright (c) 1991 - 2016 Arvin Tang.
  3  * All rights reserved.
  4  *
  5  * 文件名称:
  6  * 简要描述:用C语言实现ATM界面,很丑的说
  7  *
  8  * 当前版本:1.0
  9  * 作    者:
 10  * 完成日期:2016-1-7
 11  * 修订说明:
 12  *
 13  * 取代版本:
 14  * 作    者:
 15  * 完成日期:
 16  * 修订说明:
 17  */
 18 #include <stdio.h>
 19 #include <stdlib.h>
 20 //
 21 //clrscr();函数不是标准的C函数,只存在Tuber C中且#include <conio.h>。
 22 //但是可以用system("cls");代替,且#include <stdlib.h>。
 23 
 24 void pw(void);
 25 void qu(void);
 26 void cun(void);
 27 void cha(void);
 28 
 29 int qianshu = 1000;//定义卡内钱数
 30 
 31 int main(void)
 32 {
 33     int number;
 34 
 35     pw();
 36     system("cls");//清除屏幕上的密码
 37 
 38 loop:do
 39     {
 40         printf("=========================
");
 41         printf("|	请选择以下数字:	|
");
 42         printf("|	1、取款		|
");
 43         printf("|	2、存款		|
");
 44         printf("|	3、查询余额	|
");
 45         printf("|	4、退出		|
");
 46         printf("=========================
");
 47 
 48         scanf("%d",&number);
 49     }while(number != 1 && number != 2 && number != 3 && number != 4);
 50  
 51     switch(number)
 52     {
 53         case 1:
 54         qu();
 55         system("cls");
 56         goto loop;
 57 
 58         case 2:
 59         cun();
 60         system("cls");
 61         goto loop;
 62 
 63         case 3:
 64         cha();
 65         system("cls");
 66         goto loop;
 67 
 68         case 4:
 69         printf("谢谢使用!
再见!
");
 70         system("pause");
 71         break;
 72 
 73     }
 74 
 75     return 0;
 76 }
 77 
 78 /**
 79  * 函数名称:密码输入判断函数
 80  * 输入参数:
 81  * 输出参数:
 82  * 返 回 值:
 83  */
 84 void pw(void)
 85 {
 86     int pw;//密码变量
 87     int i=1;//密码次数累加量
 88 
 89     printf("温馨提示密码:520,存款只能存整数!
");
 90     printf("请输入密码:
");
 91     scanf("%d",&pw);
 92 
 93     while(pw != 520)
 94     {
 95         i++;
 96         system("cls");
 97         printf("请第%d次输入密码
", i);
 98         scanf("%d",&pw);
 99         if(i==3)
100         {
101             printf("谢谢使用,密码错误次数过多,请明天再试。
");
102             exit(0);//输入错误次数过多,系统退出。
103         }
104     }
105 
106 }
107 
108 /**
109  * 函数名称:取款
110  * 输入参数:
111  * 输出参数:
112  * 返 回 值:
113  */
114 void qu(void)
115 {
116     int number;//菜单数
117 
118     do
119     {
120         system("cls");//清屏
121 
122         //取款菜单
123         printf("=========================
");
124         printf("|	请选择以下数字:	|
");
125         printf("|	1、取100	|
");
126         printf("|	2、取200	|
");
127         printf("|	3、取300	|
");
128         printf("|	4、返回		|
");
129         printf("=========================
");
130 
131         scanf("%d", &number);
132 
133     }while(number != 1 && number != 2 && number != 3 && number != 4);
134 
135     //三级菜单
136     do
137     {
138         switch(number)
139         {
140             case 1:
141             qianshu -= 100;
142             printf("请稍后!,正在吐钞...
");
143             printf("目前余额:%d
", qianshu);
144             break;
145 
146             case 2:
147             qianshu -= 200;
148             printf("请稍后!,正在吐钞...
");
149             printf("目前余额:%d
", qianshu);
150             break;
151 
152             case 3:
153             qianshu -= 300;
154             printf("请稍后!,正在吐钞...
");
155             printf("目前余额:%d
", qianshu);
156             break;
157 
158             case 4:
159             return;
160         }
161 
162         scanf("%d", &number);
163 
164     }while(number != 4);
165 }
166 
167 /**
168  * 函数名称:存款
169  * 输入参数:
170  * 输出参数:
171  * 返 回 值:
172  */
173 void cun(void)
174 {
175     int number;
176 
177     system("cls");
178 
179     do
180     {
181         loop1:printf("请输入存款金额:
");
182         scanf("%d", &number);
183         qianshu += number;
184 
185         system("cls");
186         printf("本次存款:%d
", number);
187         printf("你目前账号余额:%d
", qianshu);
188 
189         //菜单
190         printf("=========================
");
191         printf("|	请选择以下数字:	|
");
192         printf("|	1、继续存款	|
");
193         printf("|	2、返回		|
");
194         printf("=========================
");
195 
196         scanf("%d", &number);
197 
198         if(number == 1)
199             goto loop1;
200 
201     }while(number != 2);
202 }
203 
204 /**
205  * 函数名称:查询
206  * 输入参数:
207  * 输出参数:
208  * 返 回 值:
209  */
210 void cha(void)
211 {
212     int number;
213     do
214     {
215         system("cls");
216 
217         printf("你目前账号余额:%d
", qianshu);
218         printf("
");
219         printf("=========================
");
220         printf("|	请选择以下数字:	|
");
221         printf("|	1、继续查询	|
");
222         printf("|	2、返回		|
");
223         printf("=========================
");
224 
225         scanf("%d", &number);
226     }while(number != 2);
227 }
原文地址:https://www.cnblogs.com/arvintang/p/5109342.html