博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言设计ATM存取款界面
阅读量:4338 次
发布时间:2019-06-07

本文共 4794 字,大约阅读时间需要 15 分钟。

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

主要考察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 
19 #include
20 // 21 //clrscr();函数不是标准的C函数,只存在Tuber C中且#include
。 22 //但是可以用system("cls");代替,且#include
。 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("=========================\n"); 41 printf("|\t请选择以下数字:\t|\n"); 42 printf("|\t1、取款\t\t|\n"); 43 printf("|\t2、存款\t\t|\n"); 44 printf("|\t3、查询余额\t|\n"); 45 printf("|\t4、退出\t\t|\n"); 46 printf("=========================\n"); 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("谢谢使用!\n再见!\n"); 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,存款只能存整数!\n"); 90 printf("请输入密码:\n"); 91 scanf("%d",&pw); 92 93 while(pw != 520) 94 { 95 i++; 96 system("cls"); 97 printf("请第%d次输入密码\n", i); 98 scanf("%d",&pw); 99 if(i==3)100 {101 printf("谢谢使用,密码错误次数过多,请明天再试。\n");102 exit(0);//输入错误次数过多,系统退出。103 }104 }105 106 }107 108 /**109 * 函数名称:取款110 * 输入参数:111 * 输出参数:112 * 返 回 值:113 */114 void qu(void)115 {116 int number;//菜单数117 118 do119 {120 system("cls");//清屏121 122 //取款菜单123 printf("=========================\n");124 printf("|\t请选择以下数字:\t|\n");125 printf("|\t1、取100\t|\n");126 printf("|\t2、取200\t|\n");127 printf("|\t3、取300\t|\n");128 printf("|\t4、返回\t\t|\n");129 printf("=========================\n");130 131 scanf("%d", &number);132 133 }while(number != 1 && number != 2 && number != 3 && number != 4);134 135 //三级菜单136 do137 {138 switch(number)139 {140 case 1:141 qianshu -= 100;142 printf("请稍后!,正在吐钞...\n");143 printf("目前余额:%d\n", qianshu);144 break;145 146 case 2:147 qianshu -= 200;148 printf("请稍后!,正在吐钞...\n");149 printf("目前余额:%d\n", qianshu);150 break;151 152 case 3:153 qianshu -= 300;154 printf("请稍后!,正在吐钞...\n");155 printf("目前余额:%d\n", 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 do180 {181 loop1:printf("请输入存款金额:\n");182 scanf("%d", &number);183 qianshu += number;184 185 system("cls");186 printf("本次存款:%d\n", number);187 printf("你目前账号余额:%d\n", qianshu);188 189 //菜单190 printf("=========================\n");191 printf("|\t请选择以下数字:\t|\n");192 printf("|\t1、继续存款\t|\n");193 printf("|\t2、返回\t\t|\n");194 printf("=========================\n");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 do214 {215 system("cls");216 217 printf("你目前账号余额:%d\n", qianshu);218 printf("\n");219 printf("=========================\n");220 printf("|\t请选择以下数字:\t|\n");221 printf("|\t1、继续查询\t|\n");222 printf("|\t2、返回\t\t|\n");223 printf("=========================\n");224 225 scanf("%d", &number);226 }while(number != 2);227 }

 

转载于:https://www.cnblogs.com/arvintang/p/5109342.html

你可能感兴趣的文章
swap交换2变量
查看>>
洛谷P2495 [SDOI2011]消耗战(虚树)
查看>>
HP服务器安装CentOS7 x64无法识别阵列卡
查看>>
北京楼市政策松动信号加强 新盘价格仍平稳
查看>>
常用演示版保护技术
查看>>
oracle系统化学习笔记
查看>>
[LeetCode#114]Flatten Binary Tree to Linked List
查看>>
[LeetCode#280] Wiggle Sort
查看>>
关于KMP算法的重大发现
查看>>
实现适配于移动页面中间的swiper图片切换
查看>>
基于ZooKeeper的分布式Session实现(转)
查看>>
oracle特殊需求:从其他数据库表复制数据至本地数据库表,数据不能重复
查看>>
Typescript高级类型与泛型难点详解
查看>>
微信-商城商品的图文/商品链接分享(后台数据合成图片+二维码生成)
查看>>
jquery tab mouseover 特效
查看>>
日本語を勉強するの日記(四)
查看>>
Python环境的安装
查看>>
Python简介以及入门
查看>>
Combination-Sum II
查看>>
Next Permutation
查看>>