文档库 最新最全的文档下载
当前位置:文档库 › 银行账目管理系统的介绍

银行账目管理系统的介绍

银行账目管理系统的介绍
银行账目管理系统的介绍

银行账目管理系统说明书

一:需求分析

通过与银行工作人员交流了解:随着银行业务的推陈出新以及这些业务为客户带来的便利,使银行吸引了越来越多的客户,一切都使银行帐目的管理越来越重要。银行帐目管理系统是针对银行帐目的日常管理而设计。银行操作系统不仅要求操作方便而且要求界面简洁,它需要实现帐目管理,用户查询和查询统计等几个功能。其中帐目管理又包含了开户、销户、存款、取款和修改信息的功能。用户可以通过不同的方式来查询需要的信息。

通过该系统的设计实现,使银行部门更好地进行业务管理,为客户提供更佳优质的服务。

二:组员分工

杨修丽:界面以及类的实现中的信息录入,删除和查询。

何颖:菜单和类的实现中的设置输入格式和信息的修改。

姜佳宁:类的定义和对文件的输入,修改。

三:系统总框图

四:运行环境

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 #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("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<<" "<

cout<<"操作流程:"<

cout<<" "<

cout<<" 输入“1”——用户信息录入"<

cout<<" "<

cout<<" 输入“2”——用户信息修改"<

cout<<" "<

cout<<" 输入“3”——用户信息删除"<

cout<<" "<

cout<<" 输入“4”——用户信息查询"<

cout<<" "<

cout<<" 输入“0”——退出系统"<

cout<<" "<

menu();

select();

}

九:结束语:

通过本次课程设计,我们学到了很多东西,不仅巩固和提高了对C++的类的定义和实现以及文件的输入输出的应用,也对他们的概念有了一个全新的理解,而且让我明白一个程序的编写是大家努力共同的结果,不是一个人就能做好的,也使我们的小组同学更加的团结,同时,对C++的理解也更深刻,编程时千万要小心,不能因为括号或者分号直接的错误而导致运行不过去。

因为这是我们第一次做这么大的程序,所以在所难免的会有程序的不当之处,还有一些功能没有及时的编写,有些功能还有待我们改进,这都是我们需要

相关文档