发布时间:2024-09-23 19:01
本文实例为大家分享了C语言实现银行系统的具体代码,供大家参考,具体内容如下
生成一个1000-1000000之间的随机数来代表账户余额(要求每次生成的数不一样);
实现登录功能:用户有三次输入密码的机会,输入正确的密码才能登录,如果输入错误超过了三次 之后密码还是错,则提示账户被冻结,退出程序。
实现查询账户余额功能:查询账户余额并输出。
实现取款功能:提示用户输入相应的金额,并取款。
实现存款功能:提示用户输入存款金额,并存款。
实现修改密码功能:提示用户输入新的密码,密码修改成功后,退出系统,提示重新登录。
实现退出系统功能。
//示例代码: #include#include #include void 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;//输入密码的次数,初值为0 printf(\"请输入您的密码:\"); 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; } //存款 long saveDeposit() { 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\"); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。