银行账目管理系统的介绍
银行账目管理系统说明书
一:需求分析
通过与银行工作人员交流了解:随着银行业务的推陈出新以及这些业务为客户带来的便利,使银行吸引了越来越多的客户,一切都使银行帐目的管理越来越重要。银行帐目管理系统是针对银行帐目的日常管理而设计。银行操作系统不仅要求操作方便而且要求界面简洁,它需要实现帐目管理,用户查询和查询统计等几个功能。其中帐目管理又包含了开户、销户、存款、取款和修改信息的功能。用户可以通过不同的方式来查询需要的信息。
通过该系统的设计实现,使银行部门更好地进行业务管理,为客户提供更佳优质的服务。
二:组员分工
杨修丽:界面以及类的实现中的信息录入,删除和查询。
何颖:菜单和类的实现中的设置输入格式和信息的修改。
姜佳宁:类的定义和对文件的输入,修改。
三:系统总框图
四:运行环境
Microsoft Visual C++。五:每个模块的设计分析1.类的定义:
class astronaut
{
private:
int maxnum;
int sno;
int capital;
float rate;
char name[5];
char sex[2];
char pnum[10];
char folk[2];
char telephone[10];
char address[30];
char time[2];
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< telephone< } void astronaut::change() { //对信息的修改 } 3.对文件的管理: astronaut information; void menu() { cout<<"请选择操作(0——4) "< cout<<" "< } 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)!"< 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<<"输入无效请重新输入(0——4)"< break; } void main() { cout<<"姓名: 杨修丽学号:2009131038 班级:电子091班"< cout<<" "< cout<<"姓名: 何颖学号:2009131009 班级:电子091班"< cout<<" "< cout<<"姓名: 姜佳宁学号:2009131012 班级:电子091班"< cout<<" "< cout<<"课程设计名称:银行用户信息管理系统"< cout<<" "< cout<<"操作流程:"< cout<<" "< cout<<" 输入“1”——用户信息录入"< cout<<" "< cout<<" 输入“2”——用户信息修改"< cout<<" "< cout<<" 输入“3”——用户信息删除"< cout<<" "< cout<<" 输入“4”——用户信息查询"< cout<<" "< cout<<" 输入“0”——退出系统"< cout<<" "< menu(); select(); } 六:列出所有定义的函数及说明 class astronaut //银行用户信息类 { private: int maxnum; int sno; int capital; float rate; char name[5]; char sex[2]; char pnum[10]; char folk[2]; char telephone[10]; char address[30]; char time[2]; 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); } else { maxnum=1; } tfile.close(); sno=maxnum++; ofstream ofile("max.txt"); ofile.write((char*)&maxnum,sizeof maxnum); tfile.close(); cout<<"输入用户信息"< cout<<"用户姓名:"< cin>>name; cout<<"性别(男——A,女——B):"< cin>>sex; while(strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0) //设置用户性别,不是AB则错误。 { cout<<"错误请重新输入!"< cin>>sex; } cout<<"居民身份证号码:"< cin>>pnum; cout<<"民族:"< cin>>folk; cout<<"联系电话:"< cin>>telephone; cout<<"家庭住址:"< cin>>address; cout<<"本金"< cin>>capital; cout<<"利率"< cin>>rate; cout<<"存款日期"< cin>>time; cout<<"到期日期"< cin>>time; } void astronaut::display() //设置用户信息如何显示 { //set(4),则表示此后面设置的变量占地地方不大于4时等于4,大于时是本身大小。 cout< telephone< } void astronaut::change() 对用户信息的修改 { cout<<"请输入要修改用户的信息:"< cout<<"姓名是不是要改写(Y/N)"< char ch; cin>>ch; if(ch=='Y'||ch=='y') { cout<<"请输入新姓名:"< cin>>name; } cout<<"性别(男——A,女——B):"< cin>>sex; if (strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0) { cout<<"错误请重新输入!:"< cin>>sex; } cout<<"居民身份证号码:"< cin>>pnum; cout<<"民族:"< cin>>folk; cout<<"联系电话:"< cin>>telephone; cout<<"家庭住址:"< cin>>address; cout<<"本金"< cin>>capital; cout<<"利率"< cin>>rate; cout<<"存款日期"< cin>>time; cout<<"到期日期"< cin>>time; cout<<"你刚刚输入的用户信息如下:"< display(); } void menu() //菜单项 { cout<<"请选择操作(0——4) "< cout<<" "< } 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)!"< cin>>ch; if(ch=='Y'||ch=='y') { input(); } } void change() //对文件中用户的修改{ int ch,p=0,l=0; cout<<"请输入你要修改的用户的号码:"< 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<<"没有你所要修改的用户信息!"< } void omit() //对文件中用户的删除{ int ch; cout<<"请输入要删除的用户的号码:"< 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<<"一共有"< else cout<<"还没有输入用户信息"< } void select() //选择菜单函数 { int ch; do{ cin>>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<<"输入无效请重新输入(0——5)"< break; } }while(1); } void main() //主函数,界面 { cout<<"姓名: 杨修丽学号:2009131038 班级:电子091班"< cout<<" "< cout<<"姓名: 何颖学号:2009131009 班级:电子091班"< cout<<" "< cout<<"姓名: 姜佳宁学号:2009131012 班级:电子091班"< cout<<" "< cout<<"课程设计名称:银行用户信息管理系统"< cout<<" "< cout<<"操作流程:"< cout<<" "< cout<<" 输入“1”——用户信息录入"< cout<<" "< cout<<" 输入“2”——用户信息修改"< cout<<" "< cout<<" 输入“3”——用户信息删除"< cout<<" "< cout<<" 输入“4”——用户信息查询"< cout<<" "< cout<<" 输入“0”——退出系统"< cout<<" "< menu(); select(); } 七:使用说明(操作手册) 八:程序源代码:#include { private: int maxnum; int sno; int capital; float rate; char name[5]; char sex[2]; char pnum[10]; char folk[2]; char telephone[10]; char address[30]; char time[2]; public: astronaut(); ~astronaut(); void enter(); void display(); void setsno(int temp); int getsno(); char *getname(); void change(); void read(); void write(); }; #include #include #include #include #include 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); } else { maxnum=1; } tfile.close(); sno=maxnum++; ofstream ofile("max.txt"); ofile.write((char*)&maxnum,sizeof maxnum); tfile.close(); cout<<"输入用户信息"< cout<<"用户姓名:"< cin>>name; cout<<"性别(男——A,女——B):"< cin>>sex; while(strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0) { cout<<"错误请重新输入!"< cin>>sex; } cout<<"居民身份证号码:"< cin>>pnum; cout<<"民族:"< cin>>folk; cout<<"联系电话:"< cin>>telephone; cout<<"家庭住址:"< cin>>address; cout<<"本金"< cin>>capital; cout<<"利率"< cin>>rate; cout<<"存款日期"< cin>>time; cout<<"到期日期"< cin>>time; } void astronaut::display() { cout< telephone< } void astronaut::change() { cout<<"请输入要修改用户的信息:"< cout<<"姓名是不是要改写(Y/N)"< char ch; cin>>ch; if(ch=='Y'||ch=='y') { cout<<"请输入新姓名:"< cin>>name; } cout<<"性别(男——A,女——B):"< cin>>sex; if (strcmp(sex,"A")!=0&&strcmp(sex,"B")!=0) { cout<<"错误请重新输入!:"< cin>>sex; } cout<<"居民身份证号码:"< cin>>pnum; cout<<"民族:"< cin>>folk; cout<<"联系电话:"< cin>>telephone; cout<<"家庭住址:"< cin>>address; cout<<"本金"< cin>>capital; cout<<"利率"< cin>>rate; cout<<"存款日期"< cin>>time; cout<<"到期日期"< cin>>time; cout<<"你刚刚输入的用户信息如下:"< display(); } #include #include #include #include #include astronaut information; void menu() { cout<<"请选择操作(0——4) "< cout<<" "< } 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)!"< cin>>ch; if(ch=='Y'||ch=='y') { input(); } } void change() { int ch,p=0,l=0; cout<<"请输入你要修改的用户的号码:"< 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<<"没有你所要修改的用户信息!"< } void omit()//删除函数 { int ch; cout<<"请输入要删除的用户的号码:"< 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<<"一共有"< else cout<<"还没有输入用户信息"< } void select()//选择菜单函数 { int ch; do{ cin>>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<<"输入无效请重新输入(0——5)"< break; } }while(1); } void main() { cout<<"姓名: 杨修丽学号:2009131038 班级:电子091班"< cout<<" "< cout<<"姓名: 何颖学号:2009131009 班级:电子091班"< cout<<" "< cout<<"姓名: 姜佳宁学号:2009131012 班级:电子091班"< cout<<" "< cout<<"课程设计名称:银行用户信息管理系统"< cout<<" "<