这个虽然很简单,但是我还是弄了一会儿,可见有多菜。练习算。
主要考察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 }