银行账户管理系统说明书.docx
银行账目管理系统说明书一:需求分析通过与银行工作人员交流了解:随着银行业务的推陈出新以及这些业务为客户带来的便利,使银行吸引了越来越多的客户,一切都使银行帐目的管理越来越重要。银行帐目管理系统是针对银行帐目的日常管理而设计。银行操作系统不仅要求操作方便而且要求界面简洁,它需要实现帐目管理,用户查询和查询统计等几个功能。其中帐目管理又包含了开户、销户、存款、取款和修改信息的功能。用户可以通过不同的方式来查询需要的信息。通过该系统的设计实现,使银行部门更好地进行业务管理,为客户提供更佳优质的服务。二:组员分工杨修丽 :界面以及类的实现中的信息录入,删除和查询。何 颖 :菜单和类的实现中的设置输入格式和信息的修改。姜佳宁 :类的定义和对文件的输入,修改。三:系统总框图银行管理系统用户信息录入用户信息修改用户信息删除用户信息查询退出系统四:运行环境Microsoft Visual C+。五:每个模块的设计分析1.类的定义:class astronautprivate:int maxnum;int sno;int capital;float rate;char name5;char sex2;char pnum10;char folk2;char telephone10;char address30;char time2;public:astronaut();astronaut();void enter();void display();void setsno(int temp);int getsno();char *getname();void change();void read();void write();2.类的实现:astronaut:astronaut()astronaut:astronaut()int astronaut:getsno()return sno;char *astronaut:getname()return name;void astronaut:setsno(int temp)sno=temp;void astronaut:enter()/对信息的输入void astronaut:display()cout<<setw(4)<<sno<<setw(4)<<name<<setw(4)<<sex<<setw(4)<<folk<<setw(8)<<pnum<<setw(8)<<telephone<<setw(8)<<address<<setw(4)<<capital<<setw(4)<<rate<<setw(4)<<time<<endl;void astronaut:change()/对信息的修改3.对文件的管理:astronaut information;void menu() cout<<"请选择操作(04) "<<endl;cout<<" "<<endl;void read()ifstream afile("astronaut.txt",ios:nocreate);afile.read(char*)&information,sizeof information);void write()ofstream bfile("astronaut.txt",ios:app);bfile.write(char*)&information,sizeof information);void input(void)char ch;information.enter();write();cout<<"你还要输入下一位用户的信息吗(Y/N)!"<<endl;cin>>ch;if(ch='Y'|ch='y')input();void change() /对文件信息的修改void omit()/删除函数/对文件信息删除void output() /对文件查询4.界面的实现:void select()/选择菜单函数运用switch语句进行编写从0到4的各个出口,如果输入的不是0到4的数,则default:default : menu(); cout<<"输入无效请重新输入(04)"<<endl; break;void main() cout<<"姓名: 杨修丽 学号:2009131038 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"姓名: 何 颖 学号:2009131009 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"姓名: 姜佳宁 学号:2009131012 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"课程设计名称:银行用户信息管理系统"<<endl;cout<<" "<<endl;cout<<"操作流程:"<<endl;cout<<" "<<endl;cout<<" 输入“1”用户信息录入"<<endl;cout<<" "<<endl;cout<<" 输入“2”用户信息修改"<<endl;cout<<" "<<endl;cout<<" 输入“3”用户信息删除"<<endl;cout<<" "<<endl;cout<<" 输入“4”用户信息查询"<<endl;cout<<" "<<endl;cout<<" 输入“0”退出系统"<<endl;cout<<" "<<endl;menu();select();六:列出所有定义的函数及说明class astronaut /银行用户信息类private:int maxnum;int sno;int capital;float rate;char name5;char sex2;char pnum10;char folk2;char telephone10;char address30;char time2;public:astronaut();astronaut();void enter();void display();void setsno(int temp);int getsno();char *getname();void change();void read();void write();astronaut:astronaut() /构造函数,函数体为空astronaut:astronaut() /析构函数 ,函数体为空int astronaut:getsno() /返回用户帐号return sno;char *astronaut:getname() /返回用户姓名return name;void astronaut:setsno(int temp) /设置用户姓名sno=temp;void astronaut:enter() /将信息传入文件ifstream tfile("max.txt",ios:binary|ios:nocreate); / ifstream默认以输入/方式打开文件,而ofstream默认以输出方式打开文件。例如: /ifstream file2("c:pdos.def");是以输入方式打开文件。/ofstream file3("c:x.123");是以输出方式打开文件。if(tfile) /如果tfile不为空tfile.read(char *)&maxnum,sizeof maxnum); elsemaxnum=1;tfile.close();sno=maxnum+;ofstream ofile("max.txt");ofile.write(char*)&maxnum,sizeof maxnum);tfile.close();cout<<"输入用户信息"<<endl;cout<<"用户姓名:"<<endl;cin>>name;cout<<"性别(男A,女B):"<<endl; cin>>sex;while(strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0) /设置用户性别,不是AB则错误。 cout<<"错误请重新输入!"<<endl;cin>>sex;cout<<"居民身份证号码:"<<endl;cin>>pnum;cout<<"民族:"<<endl;cin>>folk;cout<<"联系电话:"<<endl;cin>>telephone;cout<<"家庭住址:"<<endl;cin>>address;cout<<"本金"<<endl;cin>>capital;cout<<"利率"<<endl;cin>>rate;cout<<"存款日期"<<endl;cin>>time;cout<<"到期日期"<<endl;cin>>time;void astronaut:display() /设置用户信息如何显示 /set(4),则表示此后面设置的变量占地地方不大于4时等于4,大于时是本身大小。cout<<setw(4)<<sno<<setw(4)<<name<<setw(4)<<sex<<setw(4)<<folk<<setw(8)<<pnum<<setw(8)<<telephone<<setw(8)<<address<<setw(4)<<capital<<setw(4)<<rate<<setw(4)<<time<<endl;void astronaut:change() 对用户信息的修改cout<<"请输入要修改用户的信息:"<<endl;cout<<"姓名是不是要改写(Y/N)"<<endl;char ch;cin>>ch;if(ch='Y'|ch='y')cout<<"请输入新姓名:"<<endl;cin>>name;cout<<"性别(男A,女B):"<<endl;cin>>sex;if (strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0)cout<<"错误请重新输入!:"<<endl;cin>>sex;cout<<"居民身份证号码:"<<endl;cin>>pnum;cout<<"民族:"<<endl;cin>>folk;cout<<"联系电话:"<<endl;cin>>telephone;cout<<"家庭住址:"<<endl;cin>>address;cout<<"本金"<<endl;cin>>capital;cout<<"利率"<<endl;cin>>rate;cout<<"存款日期"<<endl;cin>>time;cout<<"到期日期"<<endl;cin>>time;cout<<"你刚刚输入的用户信息如下:"<<endl;display();void menu() /菜单项 cout<<"请选择操作(04) "<<endl;cout<<" "<<endl;void read() /对文件的读ifstream afile("astronaut.txt",ios:nocreate);afile.read(char*)&information,sizeof information);void write() /对文件中用户的写入ofstream bfile("astronaut.txt",ios:app);bfile.write(char*)&information,sizeof information);void input(void) /对文件中用户的输入char ch;information.enter();write();cout<<"你还要输入下一位用户的信息吗(Y/N)!"<<endl;cin>>ch;if(ch='Y'|ch='y')input();void change() /对文件中用户的修改int ch,p=0,l=0;cout<<"请输入你要修改的用户的号码:"<<endl;cin>>ch;ifstream efile("astronaut.txt",ios:nocreate);while(efile.good() efile.seekg(sizeof(information)*p);if(efile.read(char *) &information,sizeof information)if(ch=information.getsno() information.display();ch=0;information.change();ofstream ffile("astronaut.txt",ios:nocreate|ios:in);ffile.seekp(sizeof(information)*p);ffile.write(char *) &information,sizeof information);ffile.close();l+;return;p+;efile.close();if(l!=1)cout<<"没有你所要修改的用户信息!"<<endl;void omit() /对文件中用户的删除int ch;cout<<"请输入要删除的用户的号码:"<<endl;cin>>ch;ifstream out("astronaut.txt",ios:nocreate);ofstream in("astronaut1.txt",ios:trunc);while(out)if(out.read(char*)&information,sizeof information)if(ch!=information.getsno() in.write(char*)&information,sizeof information); in.close();out.close();ofstream gfile("astronaut.txt",ios:trunc);gfile.close();ifstream ifile("astronaut1.txt",ios:nocreate);ofstream hfile("astronaut.txt",ios:trunc);while(ifile) if(ifile.read(char*)&information,sizeof information)hfile.write(char *)&information,sizeof information);ifile.close();hfile.close();void output() /查询int i=0;ifstream cfile("astronaut.txt",ios:nocreate);while(cfile)if( cfile.read(char *)&information,sizeof information) information.display();i+;if(i!=0)cout<<"一共有"<<i<<"个用户信息"<<endl;else cout<<"还没有输入用户信息"<<endl;void select() /选择菜单函数int ch;docin>>ch;switch(ch)case 1:input();menu();break;case 2:change();menu();break;case 3:omit();menu();break;case 4:output();menu();break; case 5:output();menu();break;case 0:exit(0);menu();break;default : menu(); cout<<"输入无效请重新输入(05)"<<endl; break;while(1); void main() /主函数,界面 cout<<"姓名: 杨修丽 学号:2009131038 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"姓名: 何 颖 学号:2009131009 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"姓名: 姜佳宁 学号:2009131012 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"课程设计名称:银行用户信息管理系统"<<endl;cout<<" "<<endl;cout<<"操作流程:"<<endl;cout<<" "<<endl;cout<<" 输入“1”用户信息录入"<<endl;cout<<" "<<endl;cout<<" 输入“2”用户信息修改"<<endl;cout<<" "<<endl;cout<<" 输入“3”用户信息删除"<<endl;cout<<" "<<endl;cout<<" 输入“4”用户信息查询"<<endl;cout<<" "<<endl;cout<<" 输入“0”退出系统"<<endl;cout<<" "<<endl;menu();select();七:使用说明(操作手册)八:程序源代码:#include<iostream.h>#include<string.h>class astronautprivate:int maxnum;int sno;int capital;float rate;char name5;char sex2;char pnum10;char folk2;char telephone10;char address30;char time2;public:astronaut();astronaut();void enter();void display();void setsno(int temp);int getsno();char *getname();void change();void read();void write();#include<iostream.h>#include<iomanip.h>#include<string.h>#include<fstream.h>#include<stdio.h>astronaut:astronaut()astronaut:astronaut()int astronaut:getsno()return sno;char *astronaut:getname()return name;void astronaut:setsno(int temp)sno=temp;void astronaut:enter()ifstream tfile("max.txt",ios:binary|ios:nocreate);if(tfile)tfile.read(char *)&maxnum,sizeof maxnum); elsemaxnum=1;tfile.close();sno=maxnum+;ofstream ofile("max.txt");ofile.write(char*)&maxnum,sizeof maxnum);tfile.close();cout<<"输入用户信息"<<endl;cout<<"用户姓名:"<<endl;cin>>name;cout<<"性别(男A,女B):"<<endl;cin>>sex;while(strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0)cout<<"错误请重新输入!"<<endl;cin>>sex;cout<<"居民身份证号码:"<<endl;cin>>pnum;cout<<"民族:"<<endl;cin>>folk;cout<<"联系电话:"<<endl;cin>>telephone;cout<<"家庭住址:"<<endl;cin>>address;cout<<"本金"<<endl;cin>>capital;cout<<"利率"<<endl;cin>>rate;cout<<"存款日期"<<endl;cin>>time;cout<<"到期日期"<<endl;cin>>time;void astronaut:display()cout<<setw(4)<<sno<<setw(4)<<name<<setw(4)<<sex<<setw(4)<<folk<<setw(8)<<pnum<<setw(8)<<telephone<<setw(8)<<address<<setw(4)<<capital<<setw(4)<<rate<<setw(4)<<time<<endl;void astronaut:change()cout<<"请输入要修改用户的信息:"<<endl;cout<<"姓名是不是要改写(Y/N)"<<endl;char ch;cin>>ch;if(ch='Y'|ch='y')cout<<"请输入新姓名:"<<endl;cin>>name;cout<<"性别(男A,女B):"<<endl;cin>>sex;if (strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0)cout<<"错误请重新输入!:"<<endl;cin>>sex;cout<<"居民身份证号码:"<<endl;cin>>pnum;cout<<"民族:"<<endl;cin>>folk;cout<<"联系电话:"<<endl;cin>>telephone;cout<<"家庭住址:"<<endl;cin>>address;cout<<"本金"<<endl;cin>>capital;cout<<"利率"<<endl;cin>>rate;cout<<"存款日期"<<endl;cin>>time;cout<<"到期日期"<<endl;cin>>time;cout<<"你刚刚输入的用户信息如下:"<<endl;display();#include<iostream.h>#include<fstream.h>#include<string.h>#include<iomanip.h>#include<stdlib.h>astronaut information;void menu() cout<<"请选择操作(04) "<<endl;cout<<" "<<endl;void read()ifstream afile("astronaut.txt",ios:nocreate);afile.read(char*)&information,sizeof information);void write()ofstream bfile("astronaut.txt",ios:app);bfile.write(char*)&information,sizeof information);void input(void)char ch;information.enter();write();cout<<"你还要输入下一位用户的信息吗(Y/N)!"<<endl;cin>>ch;if(ch='Y'|ch='y')input();void change()int ch,p=0,l=0;cout<<"请输入你要修改的用户的号码:"<<endl;cin>>ch;ifstream efile("astronaut.txt",ios:nocreate);while(efile.good() efile.seekg(sizeof(information)*p);if(efile.read(char *) &information,sizeof information)if(ch=information.getsno() information.display();ch=0;information.change();ofstream ffile("astronaut.txt",ios:nocreate|ios:in);ffile.seekp(sizeof(information)*p);ffile.write(char *) &information,sizeof information);ffile.close();l+;return;p+;efile.close();if(l!=1)cout<<"没有你所要修改的用户信息!"<<endl;void omit()/删除函数int ch;cout<<"请输入要删除的用户的号码:"<<endl;cin>>ch;ifstream out("astronaut.txt",ios:nocreate);ofstream in("astronaut1.txt",ios:trunc);while(out)if(out.read(char*)&information,sizeof information)if(ch!=information.getsno() in.write(char*)&information,sizeof information); in.close();out.close();ofstream gfile("astronaut.txt",ios:trunc);gfile.close();ifstream ifile("astronaut1.txt",ios:nocreate);ofstream hfile("astronaut.txt",ios:trunc);while(ifile) if(ifile.read(char*)&information,sizeof information)hfile.write(char *)&information,sizeof information);ifile.close();hfile.close();void output()int i=0;ifstream cfile("astronaut.txt",ios:nocreate);while(cfile)if( cfile.read(char *)&information,sizeof information) information.display();i+;if(i!=0)cout<<"一共有"<<i<<"个用户信息"<<endl;else cout<<"还没有输入用户信息"<<endl;void select()/选择菜单函数int ch;docin>>ch;switch(ch)case 1:input();menu();break;case 2:change();menu();break;case 3:omit();menu();break;case 4:output();menu();break; case 5:output();menu();break;case 0:exit(0);menu();break;default : menu(); cout<<"输入无效请重新输入(05)"<<endl; break;while(1); void main() cout<<"姓名: 杨修丽 学号:2009131038 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"姓名: 何 颖 学号:2009131009 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"姓名: 姜佳宁 学号:2009131012 班级:电子091班 "<<endl;cout<<" "<<endl;cout<<"课程设计名称:银行用户信息管理系统"<<endl;cout<<" "<<endl;cout<<"操作流程:"<<endl;cout<<" "<<endl;cout<<" 输入“1”用户信息录入"<<endl;cout<<" "<<endl;cout<<" 输入“2”用户信息修改"<<endl;cout<<" "<<endl;cout<<" 输入“3”用户信息删除"<<endl;cout<<" "<<endl;cout<<" 输入“4”用户信息查询"<<endl;cout<<" "<<endl;cout<<" 输入“0”退出系统"<<endl;cout<<" "<<endl;menu();select();九:结束语:通过本次课程设计,我们学到了很多东西,不仅巩固和提高了对C+的类的定义和实现以及文件的输入输出的应用,也对他们的概念有了一个全新的理解,而且让我明白一个程序的编写是大家努力共同的结果,不是一个人就能做好的,也使我们的小组同学更加的团结,同时,对C+的理解也更深刻,编程时千万要小心,不能因为括号或者分号直接的错误而导致运行不过去。因为这是我们第一次做这么大的程序,所以在所难