大学C++总结
来源:互联网 发布:淘宝店铺客服怎么应聘 编辑:程序博客网 时间:2024/05/18 00:30
#include <iostream>#include <string.h>#include <iomanip>#include <stdio.h>using namespace std;//银行中卡数#define MAXRECORDNUMBER 20000//银行卡的卡号初始值#define INITNUMBER 45678struct Account{ int accNumber;//账户 char accName[9];//户名 char accPWD[7];//密码 double balance;//余额 char flag[6];//销户标志};//银行中所有卡Account array[MAXRECORDNUMBER];//银行中银行卡的数量int size=0;//生成银行卡的卡号long autoCreament();//欢迎界面void welcome();//主界面void mainmenu();//取款void withdraw();//存款void deposit();//查询void query();//开户void openAnAccount();//销户void closeAnAcount();//输出指定卡的信息void printAccount(Account acc);//根据卡号查找卡在数组中的下标int searchAccount(long accNumber);int main(){ welcome(); char name0[]="liu"; char password0[]="yhr"; int t=0; while (t<3) { cout<<"请输入用户名:"<<endl; char name[50]; cin>>name; cout<<"请输入密码:"<<endl; char password[6]; cin>>password; if(strcmp(name0,name)!=0||strcmp(password,password0)!=0) { t++; cout<<"用户名或密码输入错误,请重新输入!"<<endl; } else break; } if(t>=3) { cout<<"对不起,您已经连续输入错误3次,请您退出操作!"<<endl; } if(t<3) { mainmenu(); } return 0;}void welcome(){ cout<<" "<<"+--------------------------+"<<endl; cout<<" "<<"| |"<<endl; cout<<" "<<"| 欢迎光临刘氏银行业务平台 |"<<endl; cout<<" "<<"| |"<<endl; cout<<" "<<"+--------------------------+"<<endl;}void mainmenu(){ int c; c=-1; cout<<" "<<"+--------------------------+"<<endl; cout<<" "<<"| 1.开户 2.存款 |"<<endl; cout<<" "<<"| 3.取款 4.查询 |"<<endl; cout<<" "<<"| 5.销户 0.退出 |"<<endl; cout<<" "<<"+--------------------------+"<<endl; cout<<" 请输入选择业务的代号: "<<endl; cin>>c; switch (c) { case 0: cout<<"————————欢迎再次光临刘氏银行,再见!————————"<<endl; break; case 2: cout<<"————————现在进入存款系统————————"<<endl; deposit(); break; case 3: cout<<"————————现在进入取款系统————————"<<endl; withdraw(); break; case 4: cout<<"————————现在进入查询系统————————"<<endl; query(); break; case 1: cout<<"————————现在进入开户系统————————"<<endl; openAnAccount(); break; case 5: cout<<"————————现在进入销户系统————————"<<endl; closeAnAcount(); break; case 6: break; default: cout<<"\n"<<"无效选项!"<<endl; break; }}void openAnAccount()//开户{ cout<<"请输入户主:"<<endl; cin>>array[size].accName; cout<<"请输入密码:"<<endl; cin>>array[size].accPWD; cout<<"请输入金额:"<<endl; cin>>array[size].balance; strcpy(array[size].flag,"正常"); array[size].accNumber=autoCreament(); printAccount(array[size]); cout<<"-------------开户业务已成功!请继续其他交易---------------"<<endl; size++; cout<<"-------开户成功,按任意键返回-------"<<endl; fflush(stdin); getchar(); mainmenu();}long autoCreament()//查找该账户信息{ if(size==0) { return INITNUMBER; } else { return array[size-1].accNumber+1; }}//输出指定卡的信息void printAccount(Account acc){ cout<<"|------------------------------------------------------------|"<<endl; cout<<setiosflags(ios::left)<<"|"<<setw(12)<<"卡号"<<setw(12)<<"户主"<<setw(12)<<"密码"<<setw(12)<<"金额"<<setw(12)<<"状态"<<"|"<<endl; cout<<setiosflags(ios::left)<<"+------------------------------------------------------------+"<<endl; cout<<setiosflags(ios::left)<<"|"<<setw(12)<<acc.accNumber<<setw(12)<<acc.accName<<setw(12)<<"******"<<setw(12)<<acc.balance<<setw(12)<<acc.flag<<"|"<<endl; cout<<"|------------------------------------------------------------|"<<endl;}/*根据卡号查找卡的下标* 若返回值>=0,卡号是正确* 若返回值=-1,卡号有误*/int searchAccount(long accNumber){ int i,pos=-1; for(i=0; i<size; i++) { if(array[i].accNumber==accNumber) { //找到了这张卡 pos=i; break; } } return pos;}void deposit()//存款{ long accNum;//存款的账号 double money;//存款的金额 int pos; cout<<"请输入存款的账号:"; cin>>accNum; pos=searchAccount(accNum); if(pos==-1) { //卡号有误 cout<<"卡号不存在,请重新输入卡号"<<endl; //... deposit(); } else { //展示下存款前卡的信息 cout<<"存款前卡的信息:"<<endl; printAccount(array[pos]); cout<<"请输入存款金额:"; cin>>money; //找到了该卡号所对应的卡 array[pos].balance+=money; //展示存款后卡的信息 cout<<"存款后卡的信息:"<<endl; printAccount(array[pos]); cout<<"存款成功,按任意键返回"<<endl; fflush(stdin); getchar(); mainmenu(); }}void withdraw()//取款{ char pwd[10]; long accNum;//取款的账号 double money1; double money;//取款的金额 int pos; cout<<"请输入取款的账号:"<<endl; cin>>accNum; pos=searchAccount(accNum); if(pos==-1) { //卡号有误 cout<<"卡号不存在,请重新输入卡号"<<endl; //... withdraw(); } else { //展示下取款前卡的信息 cout<<"取款前卡的信息:"<<endl; printAccount(array[pos]); cout<<"请输入密码:"<<endl; cin>>pwd; if(strcmp(array[pos].accPWD,pwd)==0) { cout<<"密码正确!"<<endl; cout<<"请输入取款金额:"; cin>>money; //找到了该卡号所对应的卡 money1=array[pos].balance-money; if(money1<=0) { cout<<"您账户内的余额不足,请及时充值!"; cout<<endl; mainmenu(); } else { array[pos].balance-=money; //展示取款后卡的信息 cout<<"取款后卡的信息:"<<endl; printAccount(array[pos]); cout<<"取款成功,按任意键返回"<<endl; fflush(stdin); getchar(); mainmenu(); } } else { cout<<"对不起,密码错误!请重新输入!"<<endl; withdraw(); } }}void query()//查询{ char pwd[10]; long accNum;//查询的账号 int pos; cout<<"请输入查询的账号:"<<endl; cin>>accNum; pos=searchAccount(accNum); if(pos==-1) { //卡号有误 cout<<"卡号不存在,请重新输入卡号"<<endl; //... query(); } else { cout<<"请输入密码:"<<endl; cin>>pwd; if(strcmp(array[pos].accPWD,pwd)==0) { cout<<"密码正确!"<<endl; cout<<"银行卡的信息:"<<endl; printAccount(array[pos]); cout<<"查询成功,按任意键返回"<<endl; fflush(stdin); getchar(); mainmenu(); } else { cout<<"对不起,密码错误!请重新输入!"<<endl; query(); } }}void closeAnAcount()//销户{ char pwd[10]; long accNum; //销户的账号 int pos; cout<<"请输入销户的账号:"<<endl; cin>>accNum; pos=searchAccount(accNum); if(pos==-1) { //卡号有误 cout<<"卡号不存在,请重新输入卡号"<<endl; //... closeAnAcount(); } else { cout<<"请输入密码:"<<endl; cin>>pwd; if(strcmp(array[pos].accPWD,pwd)==0) { cout<<"密码正确!"<<endl; cout<<"销户信息如下:"<<endl; array[pos].balance=0; strcpy(array[pos].flag,"销户"); cout<<"销户已成功,按任意键返回!"<<endl; printAccount(array[pos]); fflush(stdin); //清除缓存区 getchar(); //任意键返回 mainmenu(); } else { cout<<"对不起,密码错误!请重新输入!"<<endl; closeAnAcount(); } }}
运行结果:
- 大学总结
- 大学总结
- 大学总结
- 大学总结
- 大学总结
- 大学总结
- 迎来寒假-总结大学
- 大学以来的总结
- 大学两年总结
- 大学总结(一)
- 大学ACM的总结
- 大学C++总结
- 大学ACM的总结
- 大学软件工程总结
- 大学2年总结
- 大学软件工程总结
- 大学专业学习总结
- 大学三年总结
- 不用组件的URL重写(适用于较大型项目)
- freemarker的数据格式化
- Sicily.1046. Plane Spotting(排序)
- Clojure语言四:解析XML
- ASP.NET缓存全解析5:文件缓存依赖
- 大学C++总结
- servlet学习
- Console命令详解,让调试js代码变得更简单
- error LNK2005: _DllMain@12 already defined
- linux基本的聊天软件代码实现
- ASP.NET缓存全解析6:数据库缓存依赖
- Oracle 10数据库迁移
- dentry与inode
- 沙发碳酸钙违规