银行账目管理系统说明书
一:需求分析
通过与银行工作人员交流了解:随着银行业务的推陈出新以及这些业务为客户带
来的便利,使银行吸引了越来越多的客户,一切都使银行帐目的管理越来越重要。
银行帐目管理系统是针对银行帐目的日常管理而设计。银行操作系统不仅要求操
作方便而且要求界面简洁,它需要实现帐目管理,用户查询和查询统计等几个功
能。其中帐目管理又包含了开户、销户、存款、取款和修改信息的功能。用户可
以通过不同的方式来查询需要的信息。
通过该系统的设计实现,使银行部门更好地进行业务管理,为客户提供更佳优质
的服务。
二:组员分工
杨修丽 :界面以及类的实现中的信息录入,删除和查询。
何 颖 :菜单和类的实现中的设置输入格式和信息的修改。
姜佳宁 :类的定义和对文件的输入,修改。
三:系统总框图
四:运行环境
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<<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<<"请选择操作(0——4) "<<endl;
cout<<" "<<endl;
}
void read()
{
ifstream afile("",ios::nocreate);
((char*)&information,sizeof information);
}
void write()
{
ofstream bfile("",ios::app);
((char*)&information,sizeof information);
}
void input(void)
{
char ch;
();
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<<"输入无效请重新输入(0——4)"<<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 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("",ios::binary|ios::nocreate); // ifstream 默认以输入//方式打开文件,
而 ofstream 默认以输出方式打开文件。例如:
//ifstream file2("c:");是以输入方式打开文件。
//ofstream file3("c:");是以输出方式打开文件。
if(tfile) //如果 tfile 不为空
{
((char *)&maxnum,sizeof maxnum);
}
else
{
maxnum=1;
}
();
sno=maxnum++;
ofstream ofile("");
((char*)&maxnum,sizeof maxnum);
();
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<<"请选择操作(0——4) "<<endl;
cout<<" "<<endl;
}
void read() //对文件的读
{
ifstream afile("",ios::nocreate);
((char*)&information,sizeof information);
}
void write() //对文件中用户的写入
{
ofstream bfile("",ios::app);
((char*)&information,sizeof information);
}
void input(void) //对文件中用户的输入
{
char ch;
();
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("",ios::nocreate);
while(())
{
(sizeof(information)*p);
if(((char *) &information,sizeof information))
{
if(ch==())
{
();
ch=0;
();
ofstream ffile("",ios::nocreate|ios::in);
(sizeof(information)*p);
((char *) &information,sizeof information);
();
l++;
return;
}
}
p++;
}
();
if(l!=1)
cout<<"没有你所要修改的用户信息!"<<endl;
}
void omit() //对文件中用户的删除
{
int ch;
cout<<"请输入要删除的用户的号码:"<<endl;
cin>>ch;
ifstream out("",ios::nocreate);
ofstream in("",ios::trunc);
while(out)
{
if(((char*)&information,sizeof information))
if(ch!=())
{
((char*)&information,sizeof information);
}
}
();
();
ofstream gfile("",ios::trunc);
();
ifstream ifile("",ios::nocreate);
ofstream hfile("",ios::trunc);
while(ifile)
{
if(((char*)&information,sizeof information))
((char *)&information,sizeof information);
}
();
();
}
void output() //查询
{
int i=0;
ifstream cfile("",ios::nocreate);
while(cfile)
{
if( ((char *)&information,sizeof information))
{
();
i++;
}
}
if(i!=0)
cout<<"一共有"<<i<<"个用户信息"<<endl;
else
cout<<"还没有输入用户信息"<<endl;
}
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)"<<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<>
#include<>
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();
};
#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("",ios::binary|ios::nocreate);
if(tfile)
{
((char *)&maxnum,sizeof maxnum);
}
else
{
maxnum=1;
}
();
sno=maxnum++;
ofstream ofile("");
((char*)&maxnum,sizeof maxnum);
();
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<>
#include<>
#include<>
#include<>
#include<>
astronaut information;
void menu()
{
cout<<"请选择操作(0——4) "<<endl;
cout<<" "<<endl;
}
void read()
{
ifstream afile("",ios::nocreate);
((char*)&information,sizeof information);
}
void write()
{
ofstream bfile("",ios::app);
((char*)&information,sizeof information);
}
void input(void)
{
char ch;
();
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("",ios::nocreate);
while(())
{
(sizeof(information)*p);
if(((char *) &information,sizeof information))
{
if(ch==())
{
();
ch=0;
();
ofstream ffile("",ios::nocreate|ios::in);
(sizeof(information)*p);
((char *) &information,sizeof information);
();
l++;
return;
}
}
p++;
}
();
if(l!=1)
cout<<"没有你所要修改的用户信息!"<<endl;
}
void omit()//删除函数
{
int ch;
cout<<"请输入要删除的用户的号码:"<<endl;
cin>>ch;
ifstream out("",ios::nocreate);
ofstream in("",ios::trunc);
while(out)
{
if(((char*)&information,sizeof information))
if(ch!=())
{
((char*)&information,sizeof information);
}
}
();
();
ofstream gfile("",ios::trunc);
();
ifstream ifile("",ios::nocreate);
ofstream hfile("",ios::trunc);
while(ifile)
{
if(((char*)&information,sizeof information))
((char *)&information,sizeof information);
}
();
();
}
void output()
{
int i=0;
ifstream cfile("",ios::nocreate);
while(cfile)
{
if( ((char *)&information,sizeof information))
{
();
i++;
}
}
if(i!=0)
cout<<"一共有"<<i<<"个用户信息"<<endl;
else
cout<<"还没有输入用户信息"<<endl;
}
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)"<<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++的理解也更深刻,编程时千万要
小心,不能因为括号或者分号直接的错误而导致运行不过去。
因为这是我们第一次做这么大的程序,所以在所难免的会有程序的不当之处,
还有一些功能没有及时的编写,有些功能还有待我们改进,这都是我们需要努力
学习和研究的地方。
十:参考文献
C++程序设计,刘娜娜,北京航空航天大学出版社;
C++程序设计基础,吴文虎,清华大学出版社。