自己的银行系统1
来源:互联网 发布:单证研究生有用吗 知乎 编辑:程序博客网 时间:2024/05/19 14:54
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: fun.cpp* 作 者:王飞* 完成日期:2012 年12月 23日* 版本号: v1.0* 对任务及求解方法的描述部分:综合运用知识,做自己的银行系统* 输入描述:略* 问题描述:略* 程序输出:如下*/#include <iostream>#include <string.h>#include <stdio.h>#include <iomanip>using namespace std;//银行中最大的账户数量#define MAXACCOUNTNUMBER 20000//银行卡的开号初始值#define INITNUMBER 10001struct Account{ long accNumber; //卡号 char accName[20]; //户主 char accPwd[10]; //密码 double balance; //余额 char flag[6]; //卡的状态};//银行中所有卡Account array[MAXACCOUNTNUMBER];//银行中银行卡数量int size=0;//欢迎界面void welcome();//主界面void mainFrame();//生成银行中自增卡号long autoCreament();//开户void openAccount();//存款void deposit();//鉴定密码void chaxunmima(char Pwd[]);//输出指定卡的信息void printAccount(Account acc);//查询当前的余额void bid();//相应的取款void withdrawal();//销户void closed();//根据卡号查找卡在数组中的下标int searchAccount(long accNumber);int main(){ char loginName[20]; char loginPwd[20]; int i; //欢迎界面 welcome(); //.. for(i=0;i<3;i++) { cout<<endl<<"请输入用户名:"; cin>>loginName; cout<<endl<<"请输入六位登陆密码:"; cin>>loginPwd; if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"666666")==0)//鉴定管理员的身份 { mainFrame(); break; }else{ cout<<endl<<"用户名或密码输入错误"<<endl; cout<<endl<<"您还有"<<2-i<<"次机会"<<endl<<endl; if(2-i==0){ cout<<"请办理密码业务后再来!"<<endl; } } } return 0;}//欢迎界面void welcome(){ cout<<'\t'<<'\t'<<'\t'<<"+----------------------------------+"<<endl; cout<<'\t'<<'\t'<<'\t'<<"| |"<<endl; cout<<'\t'<<'\t'<<'\t'<<"|--------欢迎登陆银行系统----------|"<<endl; cout<<'\t'<<'\t'<<'\t'<<"| |"<<endl; cout<<'\t'<<'\t'<<'\t'<<"+----------------------------------+"<<endl;}//主菜单void mainFrame(){int order;cout<<endl;cout<<"***-----------------------------***"<<endl;cout<<"***----------1.开户-------------***"<<endl;cout<<"***----------2.存款-------------***"<<endl;cout<<"***----------3.取款-------------***"<<endl;cout<<"***----------4.销户-------------***"<<endl;cout<<"***----------5.查询-------------***"<<endl;cout<<"***----------6.退出-------------***"<<endl;cout<<"***-----------------------------***"<<endl;cout<<endl<<"请输入操作指令: ";cin>>order;switch(order){case 1:openAccount();break;case 2:deposit();break;case 3:withdrawal();break;case 4:closed();break;case 5:bid();break;default:break;}}//创建账户void openAccount(){ cout<<endl<<"请输入户主:"; cin>>array[size].accName;fflush(stdin); cout<<endl<<"请输入六位数字密码:"; cin>>array[size].accPwd;fflush(stdin); chaxunmima(array[size].accPwd); cout<<endl<<"请输入开户金额:"; cin>>array[size].balance;fflush(stdin); //.. strcpy(array[size].flag,"正常"); //写卡号 array[size].accNumber=autoCreament(); printAccount(array[size]); size++; cout<<endl<<"开户成功,按任意键返回"<<endl; fflush(stdin); getchar(); mainFrame();}//密码的鉴定void chaxunmima(char Pwd[]){ int i; char a[7];if(strlen(Pwd)!=6){cout<<"不是六位数字密码!请重新输入!"<<endl;openAccount();}else{cout<<endl<<"请您再次输入:";for(i=0;i<6;i++){cin>>a[i];}a[6]='\0';if(strcmp(a,Pwd)==0){cout<<endl<<"创建密码完成!"<<endl;}else{cout<<"前后密码输入不一致,请重新输入!"<<endl;openAccount();}}}//实现卡号的涨涨long autoCreament(){ if(size==0){ return INITNUMBER; }else{ return array[size-1].accNumber+1; }}//输出指定卡的信息void printAccount(Account acc){ cout<<endl; cout<<"|----------------------------------------|"<<endl; cout<<setiosflags(ios::left)<<"|"<<setw(8)<<"卡号"<<setw(8)<<"户主"<<setw(8)<<"密码"<<setw(8)<<"金额"<<setw(8)<<"状态"<<"|"<<endl; cout<<setiosflags(ios::left)<<"+----------------------------------------+"<<endl; cout<<setiosflags(ios::left)<<"|"<<setw(8)<<acc.accNumber<<setw(8)<<acc.accName<<setw(8)<<"正常"<<setw(8)<<acc.balance<<setw(8)<<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; cin.sync(); cout<<endl<<"请输入存款的账号:"; cin>>accNum; cout<<endl<<"请输入存款金额:"; cin>>money; pos=searchAccount(accNum); if(pos==-1){ //卡号有误 cout<<"卡号不存在,请重新操作"<<endl; //... deposit(); }else{ //展示下存款前卡的信息 cout<<endl<<"存款前卡的信息:"<<endl; printAccount(array[pos]); //找到了该卡号所对应的卡 array[pos].balance+=money;//展示存款后卡的信息 cout<<endl<<"存款后卡的信息:"<<endl; printAccount(array[pos]); cout<<endl<<"存款成功,按任意键返回"<<endl; fflush(stdin); getchar(); mainFrame(); }}//查询余额void bid(){ int size,accNumber; cout<<endl<<"请输入您要查询的卡号:"; cin>>accNumber; size=searchAccount(accNumber); printAccount(array[size]);cout<<endl<<"查询成功,按任意键返回"<<endl; fflush(stdin); getchar(); mainFrame();}//取款void withdrawal(){char key[7];int money,i,size,accNumber;cout<<endl<<"请输入您的卡号:";cin>>accNumber;//寻找该卡号size=searchAccount(accNumber);cout<<endl<<"请输入您的密码:";for(i=0;i<6;i++){cin>>key[i];}key[6]='\0';if(strcmp(key,array[size].accPwd)==0){cout<<endl<<"请输入您要取款的金额:";cin>>money;//展示下存款前卡的信息 cout<<endl<<"取款前卡的信息:"<<endl; printAccount(array[size]); //找到了该卡号所对应的卡 if(array[size].balance<money) {cout<<endl<<"您的账户余额不足!无法取款啊!"<<endl;cout<<endl<<"取款失败,按任意键返回!"<<endl;fflush(stdin);getchar();mainFrame(); } else {array[size].balance-=money; //展示存款后卡的信息cout<<endl<<"取款后卡的信息:"<<endl;printAccount(array[size]);cout<<endl<<"取款成功,按任意键返回"<<endl;fflush(stdin);getchar();mainFrame(); }}else{cout<<endl<<"密码有误,请重新操作!!!"<<endl;}}//销户//销户void closed(){char key[7];int i,size,accNumber;cout<<endl<<"请输入您要销户的卡号:";cin>>accNumber;//寻找该卡号size=searchAccount(accNumber);cout<<endl<<"请输入您的密码:";for(i=0;i<6;i++){cin>>key[i];}key[6]='\0';if(strcmp(key,array[size].accPwd)==0){cout<<endl<<"销户前卡的信息:"<<endl;printAccount(array[size]);cout<<"您将进行销户!!!!!!"<<endl;getchar();array[size].balance=0;strcpy(array[size].flag,"不存在");strcpy(array[size].accName,"不存在"); cout<<endl<<"销户后卡的信息:"<<endl;printAccount(array[size]);cout<<endl<<"销户成功,按任意键返回"<<endl; fflush(stdin);getchar();mainFrame();}else{cout<<"密码错误!!!不要妄想销别人的户!!!!!"<<endl;cout<<endl<<"按任意键返回"<<endl;fflush(stdin);getchar();mainFrame();}}
输出结果:
心得体会:
自己加油!
- 自己的银行系统1
- 本人自己写的一个银行系统
- 黑马程序员-自己写的银行调度系统
- 最简单的银行系统(1)
- 银行系统的开发精华1
- 简单的银行系统
- 简单的银行系统
- 简单的银行系统
- 简单的银行系统
- 简单的银行系统
- 银行系统(1)
- 银行系统(1)
- 我的银行系统成功
- 坑爹的银行系统
- 带文件的银行系统
- 升级后的银行系统
- 简单的银行系统框架
- 银行系统的简单问题
- python替换文件中的配置值
- 转圈数 java
- 【Perl读书笔记】读取标准输入
- Struts2的properties文件
- VB加零函数
- 自己的银行系统1
- Struts2的异常处理机制
- 第1课 创建第一个 Ultimate Grid 程序
- [Leetcode] Unique Binary Search Trees
- Struts2的国际化,中英文切换
- 网站建设指南
- 用指针玩字符串(7)——比较两个字符串strcmp()
- 关于IOS开发网络下载数据存放在Document下,被拒的
- iPhone开发中,使用僵尸变量解决EXC_BAD_ACCESS方法