1、银行账目管理系统说明书 一:需求分析 经过和银行工作人员交流了解:伴随银行业务推陈出新和这些业务为用户带来便利,使银行吸引了越来越多用户,一切全部使银行帐目标管理越来越关键。 银行帐目管理系统是针对银行帐目标日常管理而设计。银行操作系统不仅要求操作方便而且要求界面简练,它需要实现帐目管理,用户查询和查询统计等多个功效。其中帐目管理又包含了开户、销户、存款、取款和修改信息功效。用户能够经过不一样方法来查询需要信息。 经过该系统设计实现,使银行部门愈加好地进行业务管理,为用户提供更佳优质服务。 二:组员分工 杨修丽 :界面和类实现中信息录入,删除和查询。 何 颖 :菜单和类实现
2、中设置输入格式和信息修改。 姜佳宁 :类定义和对文件输入,修改。 三:系统总框图 银行管理系统 用户信息录入 用户信息修改 用户信息删除 用户信息查询 退出系统 四:运行环境 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 te
3、lephone[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() {}
4、
int astronaut::getsno()
{
return sno;
}
char *astronaut::getname()
{
return name;
}
void astronaut::setsno(int temp)
{
sno=temp;
}
void astronaut::enter()
{
//对信息输入
}
void astronaut::display()
{
cout< 5、tw(8)<<
telephone< 6、eate);
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)!"< 7、 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)"< 8、ak;
}
void main()
{
cout<<"姓名: 杨修丽 学号:131038 班级:电子091班 "< 9、
cout<<" "< 10、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 11、);
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::getnam 12、e() //返回用户姓名
{
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");是以输入方法打开文件。
//ofstr 13、eam 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<<"输入用户信息 14、"< 15、endl;
cin>>telephone;
cout<<"家庭住址:"< 16、
cout< 17、ch;
cin>>ch;
if(ch=='Y'||ch=='y')
{
cout<<"请输入新姓名:"< 18、cout<<"联络电话:"< 19、 //菜单项
{
cout<<"请选择操作(0——4) "< 20、户写入
{
ofstream bfile("astronaut.txt",ios::app);
bfile.write((char*)&information,sizeof information);
}
void input(void) //对文件中用户输入
{
char ch;
information.enter();
write();
cout<<"你还要输入下一位用户信息吗(Y/N)!"< 21、input();
}
}
void change() //对文件中用户修改
{
int ch,p=0,l=0;
cout<<"请输入你要修改用户号码:"< 22、of 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. 23、close();
l++;
return;
}
}
p++;
}
efile.close();
if(l!=1)
cout<<"没有你所要修改用户信息!"< 24、aut1.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();
ifs 25、tream 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() 26、 //查询
{
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<<"一共有"< 27、oid 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;
28、case 5:
output();
menu();
break;
case 0:
exit(0);
menu();
break;
default :
menu();
cout<<"输入无效请重新输入(0——5)"< 29、out<<" "< 30、 cout<<" 输入“2”——用户信息修改"< 31、>
#include 32、
void setsno(int temp);
int getsno();
char *getname();
void change();
void read();
void write();
};
#include 33、
{
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;
34、}
tfile.close();
sno=maxnum++;
ofstream ofile("max.txt");
ofile.write((char*)&maxnum,sizeof maxnum);
tfile.close();
cout<<"输入用户信息"< 35、"< 36、ndl;
cin>>time;
}
void astronaut::display()
{
cout< 37、是不是要改写(Y/N)"< 38、民族:"< 39、iostream.h>
#include 40、ion);
}
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)!"< 41、ge()
{
int ch,p=0,l=0;
cout<<"请输入你要修改用户号码:"< 42、ion.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();
i 43、f(l!=1)
cout<<"没有你所要修改用户信息!"< 44、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(i 45、file.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 informa 46、tion))
{
information.display();
i++;
}
}
if(i!=0)
cout<<"一共有"<>ch;
switch(ch)
{
case 1:
input();
menu();
break;
case 2:
change();
menu(); 47、
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)"< 48、}
void main()
{
cout<<"姓名: 杨修丽 学号:131038 班级:电子091班 "< 49、 cout<<" "< 50、lect();
}
九:结束语:
经过此次课程设计,我们学到了很多东西,不仅巩固和提升了对C++类定义和实现和文件输入输出应用,也对她们概念有了一个全新了解,而且让我明白一个程序编写是大家努力共同结果,不是一个人就能做好,也使我们小组同学愈加团结,同时,对C++了解也更深刻,编程时千万要小心,不能因为括号或分号直接错误而造成运行不过去。
因为这是我们第一次做这么大程序,所以在所难免会有程序不妥之处,还有部分功效没有立即编写,有些功效还有待我们改善,这全部是我们需要努力学习和研究地方。
十:参考文件
C++程序设计,刘娜娜,北京航空航天大学出版社;
C++程序设计基础,吴文虎,清华






