活期储蓄账目管理.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计
题目: 活期储蓄账目管理
学院:
班级:
学生姓名:
学生学号:
指导教师:
2013年 11 月 27 日
课程设计任务书
目录
摘要................................... 错误!未定义书签。
1 题目分析............................ 错误!未定义书签。
2 概要设计 (2)
3 详细设计 (2)
4 调试设计 (5)
5 用户使用说明 (6)
6 测试结果 (6)
7 结论体会 (8)
8 参考文献 (8)
9 源程序 (9)
摘要
随着计算机的普及,现代人越来越多的想到用计算机来代替许多人做的事情。从而提高办事效率,使经济收入更加可观,从而就产生了计算机这门课程。随着信息技术的飞速发展,大量信息需要传输,传输信息就要先经过编码,然后再译码,可见编码技术的提高对整个信息产业有着举足轻重的作用。而计算机主要是通过程序来实现各种事情的,再者程序也必须通过各种算法才能达到存储各种数据,所以数据结构这门课程就应运而生。本课程设计主要是用数据结构编写关于活期储蓄账目管理的算法,来达到活期储蓄账目管理的目的。
关键词:编码存储活期储存账目管理
错误!未定义书签。
1 题目分析
活期储蓄管理系统用户通过该系统可以进行存款、取款、销户等业务。该系统在金融业给人民带来了很大的方便,系统开发成功后,一旦应用于银行领域,会给管理员与用户带来很大的方便,其主要作用具体如下:
1)、可以代替营业员进行许多繁杂的手动操作。
2)、给用户带来了很大的方便。
3)、可以节省许多人力资源。
4)、可以提高人们的工作效率。
活期储蓄账目管理系统主要是由于在活期储蓄处理中,储户开户、销户、存入、支出活动频繁,为实现储户的各种操作而设计的,本课程设计的主要功能包括实现储户开户、销户、存入、支出等活动,为了能比较迅速找到账户,实现这样的几个功能,就要通过链表来存储数据结构,其结构则按照C语言的相关知识定义结构体,其中储户开户、销户就是实现链表的插入与删除,而存入、支出等活动则是实现链表中结点的查找,然后进行更改。
2 概要设计
1)、数据结构:
typedef struct message{
char name[10];
char sex[3];
int old;
char no[20];
double base;
double ir;
int code;
int year;
int yday;
message *next;
}message,*Message;
2)、各种函数说明:
Message out();将txt文件中的信息读出
tm * date();调用系统时间
void make();对文件中已有账户进行处理
void it(Message ); 将信息写入txt文件
void create();创建新账户
void debit(Message); 从账户中取款
void credit(Message); 向账户中存款
int chaxun();查询账户信息
void rework(Message); 修改账户密码
int main();主函数
3 详细设计1)、头文件headerfile.h中,声明结构体和函数:typedef struct message{
char name[10];
char sex[3];
int old;
char no[20];
double base;
double ir;
int code;
int year;
int yday;
message *next;
}message,*Message; Message out();
tm * date();
void make();
void it(Message );
void create();
void debit(Message);
图1 程序结构图
void credit(Message); 图1程序结构图
int chaxun();
void rework(Message);
2)、int main()//主函数
{
int choice=0;
while(1)
{
cout<<"请选择操作:1、创建账户2、查询账户0、退出\n";
cin>>choice;
switch(choice)
{
case 1:create();break;
case 2:chaxun();break;
case 0:return 0;
default:cout<<"你敲错键了。\n";break;
}
}
}
tm * date()//调用系统时间
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
return timeinfo;
}
void make()//预处理账目
{
Message p,q,head=out();
p=head->next;
while(p!=NULL)
{
for(int i=1;i<=d->tm_yday-p->yday+365*(d->tm_year-p->year);i++)
{
p->base=p->base+p->base*p->ir;
}
p=p->next;
}
q=head->next;
ofstream fout("Message.txt");
fout.close();
while(q!=NULL){it(q);q=q->next;}
}
Message out()//将txt文件中的信息读出
{
Message p,q,head;head=new message;p=head;
ifstream fin("Message.txt");
if(!fin) {cout<<"文件打开失败\n";return head;}
else
while(!fin.eof())
{
q=new message;
fin>>q->name>>q->sex>>q->old>>q->no>>q->base>>q->ir>>q->code>>q->yea r>>q->yda;
q->next=NULL;
p->next=q;
p=p->next;
}
fin.close();
return head;
}
void it(Message q)//将信息写入txt文件
{
ofstream fout("Message.txt",ios::app);
if(!fout) {cout<<"文件打开失败\n"; }
fout<