C语言实现模拟银行系统
本文实例为大家分享了C语言实现银行系统的具体代码,供大家参考,具体内容如下
1.实现要求
生成一个1000-1000000之间的随机数来代表账户余额(要求每次生成的数不一样);
实现登录功能:用户有三次输入密码的机会,输入正确的密码才能登录,如果输入错误超过了三次 之后密码还是错,则提示账户被冻结,退出程序。
实现查询账户余额功能:查询账户余额并输出。
实现取款功能:提示用户输入相应的金额,并取款。
实现存款功能:提示用户输入存款金额,并存款。
实现修改密码功能:提示用户输入新的密码,密码修改成功后,退出系统,提示重新登录。
实现退出系统功能。
2.示例代码:
//示例代码:#include#include#includevoid menu(); int changePwd(); int drawDeposit() ; void getDeposit() ; void judgePwd(); void Print(); long saveDeposit(); long deposit; //存款int password=123456; //密码 //随机生成一个1000-1000000之间的整数来代表存款void getDeposit() {do {deposit=rand()%1000000+1; } while(deposit<1000); }//打印菜单选择项void menu() {printf("\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); printf("\t☆※※※※※※※※欢迎使用银行系统※※※※※※※※☆\n"); printf("\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n"); printf("银行业务有以下几种:\n"); printf("按键1:查看账户余额\n"); printf("按键2:取款\n"); printf("按键3:存款\n"); printf("按键4:修改密码\n"); printf("按键5:退出系统\n"); }//判断密码是否正确void judgePwd() {int input; int count=0; //输入密码的次数,初值为0printf("请输入您的密码:"); scanf("%d",&input); count++; //每输入一次密码,次数加一//如果密码密码输入错误,就提示重新输入,直到输入正确的密码或者次数用完while(input!=password) {if(count==3) {//当count=3时,表示输入了3次错误的密码,退出程序printf("你的次数已用完,账户已被冻结!\n"); printf("正在退出系统......\n"); exit(0); }printf("密码输入错误,请重新输入:(您还有%d次机会)\n请输入您的密码:",3-count); scanf("%d",&input); count++; }printf("密码输入正确,登录成功!\n"); printf("\n \n"); }//打印账户余额void Print() {printf("您的账户余额为:%ld\n",deposit); }//取款int drawDeposit() {long draw; //取款金额do {printf("请输入您的取款金额(本机只能提取100元面值的钞票):"); scanf("%ld",&draw); if(draw>deposit) {//如果输入的金额大于余额,提示余额不足while(draw>deposit) {printf("您的余额不足,请重新输入取款金额:"); scanf("%ld",&draw); }}if(draw<100||draw%100!=0) {//输入的金额不合法,提示重新输入printf("输入的取款金额有误,请重新输入取款金额:\n"); }} while(draw<100||draw%100!=0); deposit=deposit-draw; //计算余额(原来的余额-取款金额)return draw; }//存款longsaveDeposit() {long save; //存款金额printf("存款时只接受面值为100的钞票。\n") ; printf("请输入您的存款金额:"); scanf("%ld",&save); //存款金额不能为负,且只能存百元钞while(save<=0||save%100!=0) {printf("存款金额不符合规定,请重新输入存款金额:"); scanf("%ld",&save); }deposit=deposit+save; //账户余额=原来的余额+存款金额return save; }//修改密码int changePwd() {int change_pwd,change; char ch; printf("您确定要修改密码吗?(Y/y)"); scanf("%c",&ch); ch=getchar(); if(ch=='y'||ch=='Y') {judgePwd(); printf("请输入新的密码:"); scanf("%d",&change_pwd); printf("请确认新的密码:") ; scanf("%d",&change); if(change_pwd!=change) {printf("两次密码输入不一致,即将返回主页面...\n"); //menu(); return password; } else {password=change_pwd; printf("密码修改成功......\n"); printf("请重新登录:\n"); judgePwd(); return change_pwd; }} else {return password; }}int main() {srand((unsigned)time(NULL)); //使每次生成的随机金额不同getDeposit(); //调用函数生成账户余额menu(); //调用函数,打印菜单//int password=123456; //设置初始密码judgePwd(); //判断输入的密码是否正确int ch,statu=0; //程序主体:登录之后,只有等到用户自己选择退出时才退出系统, 否则就一直执行下去while(1) {printf("--------------------------------------------------------------------------------\n\n"); menu(); printf("请选择你的业务:\n"); scanf("%d",&ch); //根据用户输入选择执行相应的操作switch(ch) {case 1:Print(); break; case 2:printf("取款成功,金额为:%ld\n",drawDeposit()); break; case 3:printf("存款成功,金额为:%ld\n",saveDeposit()); break; case 4:password=changePwd(); break; case 5:statu=-1; break; default:printf("输入有误,请重新输入......\n"); }if(statu==-1) {break; }}printf("\n欢迎下次光临,再见\3\3\3\3\3...\n"); }
【C语言实现模拟银行系统】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- Android|Android Flutter实现有趣的页面滚动效果
- IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)
- C语言|C语言 - 常见面试题整理
- 简单实现程序DLL劫持
- 低代码如何实现链接一切应用,实现办公自动化
- Python技能树共建Python爬虫模拟登录
- Spring MVC实现文件上传
- C语言实战项目通讯录超详细~
- Win10英文版安装中文语言包后局部仍显示英文怎样办
- QT|QT---创建对话框3(形状可变对话框的实现)