课程设计报告银行储蓄管理系统.docx

上传人:b****3 文档编号:27187717 上传时间:2023-06-27 格式:DOCX 页数:21 大小:291.38KB
下载 相关 举报
课程设计报告银行储蓄管理系统.docx_第1页
第1页 / 共21页
课程设计报告银行储蓄管理系统.docx_第2页
第2页 / 共21页
课程设计报告银行储蓄管理系统.docx_第3页
第3页 / 共21页
课程设计报告银行储蓄管理系统.docx_第4页
第4页 / 共21页
课程设计报告银行储蓄管理系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

课程设计报告银行储蓄管理系统.docx

《课程设计报告银行储蓄管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计报告银行储蓄管理系统.docx(21页珍藏版)》请在冰豆网上搜索。

课程设计报告银行储蓄管理系统.docx

课程设计报告银行储蓄管理系统

《数据结构》

课程设计报告

 

设计题目活期储蓄账目

学院名称信息工程学院

专业班级13计本1

姓名

学号000000000000

一、实验题目—活期储蓄账理-------------------------------

二、问题描述-----------------------------------------------

三、设计目标-----------------------------------------------

四、需求分析-----------------------------------------------

五、概要设计-----------------------------------------------

1---系统流程图--------------------------------------

2--各个模块功能的详细描-------------------------------

六、详细设计-----------------------------------------------

七、测试分析-----------------------------------------------

八、使用说明-----------------------------------------------

九、课程设计总结-------------------------------------------

一活期储蓄账目管理

二问题描述

活期储蓄处理中,储蓄开户、销户、存款、取款活动频繁,系统设计要求:

•能够比较迅速地找到储户的账户,以实现存款、取款记账;

•能比较简单,迅速地插入和删除,以实现开户和销户的需要。

三设计目标

编写一个程序,要求该程序可以实现储蓄开户,及储蓄销户。

同时,该程序具有在储蓄账户中实现存款、取款,查看该账户信息的功能。

四需求分析

本演示程序用c语言编写,完成银行管理系统的生成,储户开户、销户、存入、支出。

a输入的形式和输入值的范围:

开户时自定义输入账号、用户姓名、密码、及开户金额;用户登陆时输入正确的账号及密码,完成登陆后即可进行存款、取款及销户。

b输出的形式:

在所有三种操作中都显示操作是否正确以及相应操作后的内容。

其中输入错误回到主页面,可继续选择操作。

c程序所能达到的功能:

用户开户

账户登陆(存款、取款、查询余额、退出登录)

账户注销

d测试数据

五概要设计:

1、系统流程图

 

2、各个模块功能的详细描

本程序主要包括11个函数

voidchoice():

该函数可以实现选择功能

voidDeleteList(LINK*L):

该函数可以实现销户操作

voidDeposit(LINK*L,LINK*p):

该函数可以实现存款功能

voidInitList(LINK*L):

构造函数

voidInsertList(LINK*L)该函数可以实现开户操作

voidmain()定义主函数

voidmenu()该函数可以输出菜单页面的功能

voidPrinList(LINK*L)把存放在链表中的数据输出来

voidPrint(LINK*L)该函数可以将账户信息释放出来

voidsave(LINK*L)该函数可以将账户信息存储起来

voidSearch(LINK*L)该函数可以实现查询账户是否存在的功能

六详细设计(给出算法的伪码描述)

#include

#include

#include

inttotal=1;

typedefstructElemType

{

charname[8];

intaccount;

charpassword[6];

floatmoney;

}ElemType;

typedefstructInode

{

ElemTypedata;

structInode*next;

}LINK;

LINK*InitList(LINK*L)

{

L=(LINK*)malloc(sizeof(LINK));

L->next=NULL;

returnL;

}

voidInsertList(LINK*L)

{

LINK*s;

s=(LINK*)malloc(sizeof(LINK));

printf("请输入你要开户的姓名:

");

scanf("%s",s->data.name);

s->data.account=10001000+total++;

printf("\n你开户的账号为:

%d\n",s->data.account);

printf("\n请输入你账户的密码:

");

scanf("%s",s->data.password);

s->data.money=0.00;

s->next=NULL;

if(L->next==NULL)

L->next=s;

else

{

s->next=L->next;

L->next=s;

}

printf("开户成功。

\n");

}

voidDeleteList(LINK*L)

{

LINK*p=L,*q;

charpass[6];

ints;

printf("请输入你要销户的账号:

");

scanf("%d",&s);

printf("请输入该账号的密码:

");

scanf("%s",pass);

while(p->next!

=NULL)

{

if(p->next->data.account==s)

break;

p=p->next;

}

if(p->next!

=NULL)

{

while(strcmp((p->next->data.password),pass)!

=0)

{

printf("密码错误!

请重新输入:

");

scanf("%s",pass);

}

q=p->next;

p->next=q->next;

free(q);

printf("账户销户成功。

\n");

}

else

printf("你所要销户的账户不存在或者该账户已销户。

\n");

}

voidPrinList(LINK*L)

{

LINK*p=L->next;

while(p!

=NULL)

{

printf("%s\t",p->data.name);

printf("%d\t%s\t%2f\n",p->data.account,p->data.password,p->data.money);

p=p->next;

}

}

voidDeposit(LINK*L,LINK*p)

{

intcq;

floatmn;

while

(1)

if(p!

=NULL)

{

printf("请输入存款

(1)、取款

(2)、查询余额(3)、退出账号(4)。

\n(请输入括号内的数字,输入其他数字默认为取款):

");

scanf("%d",&cq);

if(cq==1)

{

printf("请输入你的存款金额:

");

scanf("%f",&mn);

p->data.money=p->data.money+mn;

printf("存款成功!

\n");

}

elseif(cq==3)

{

printf("你的账户余额为:

%.2f\n",p->data.money);

}

elseif(cq==4)

{

printf("账号退出成功。

\n");

return;

}

else

{

printf("请输入你的取款金额:

");

FH:

scanf("%f",&mn);

if((p->data.money-mn)>=0)

{

p->data.money=p->data.money-mn;

printf("取款成功!

\n");

}

else

{

printf("取款失败!

\n");

printf("你账户上的余额不足!

你的账户余额为:

%.2fRMP\n",p->data.money);

printf("请输入合适的取款金额:

");

gotoFH;

}

}

}

}

voidSearch(LINK*L)

{

LINK*p=L->next;

intacc;

charpass[6];

printf("请输入你要登录的账号:

");

scanf("%d",&acc);

printf("请输入你的密码:

");

scanf("%s",pass);

while(p!

=NULL)

{

if(p->data.account==acc)

break;

p=p->next;

}

if(p==NULL)

printf("不存在该账户\n");

else

{

if(strcmp((p->data.password),pass)==0)

printf("账户登录成功。

\n");

else

{

while(strcmp(p->data.password,pass)!

=0)

{

charpa;

printf("密码错误\n");

printf("是否重新输入(是,就输入任意键)、(否,从键盘输入Norn):

");

scanf("\n%c",&pa);

if(pa=='n'||pa=='N')

{system("cls");

return;}

printf("\n请重新输入你的密码:

");

scanf("%s",pass);

}

}

Deposit(L,p);

}

}

voidsave(LINK*L)

{

FILE*fp;

fp=fopen("Account.txt","w");

LINK*p;

p=(LINK*)malloc(sizeof(LINK));

p=L->next;

while(p!

=NULL)

{

if(fwrite(p,sizeof(structInode),1,fp)!

=1)

printf("filewriteerror\n");

p=p->next;

}

fclose(fp);

}

voidPrint(LINK*L)

{

FILE*fp;

LINK*p,*s;

if((fp=fopen("Account.txt","r"))==NULL)

{

printf("cannotopen.\n");

exit(0);

}

s=(LINK*)malloc(sizeof(LINK));

s->next=NULL;

for(;fread(s,sizeof(structInode),1,fp)!

=0;)

{

total++;

if(L->next==NULL)

{

L->next=s;

p=s;

p->next=s->next;

}

else

{

p->next=s;

p=s;

p->next=s->next;

}

s=(LINK*)malloc(sizeof(LINK));s->next=NULL;

}

fclose(fp);

}

voidmenu()

{

printf("********欢迎进入活期储蓄账目管理*******\n");

printf("1.储蓄开户。

\n");

printf("2.储蓄销户。

\n");

printf("3.储蓄的账户存款、取款。

\n");

printf("4.返回菜单。

\n");

printf("5.查看所有储蓄账户信息。

\n");

printf("6.退出账目管理。

\n");

printf("*****************\n");

}

voidchoice()

{

LINK*L=NULL;

charxunhan;

L=InitList(L);

Print(L);

while

(1)

{

menu();

printf("请选择你需要的功能:

");

scanf("%c",&xunhan);

if(xunhan=='6')

break;

system("cls");

switch(xunhan)

{

case'1':

InsertList(L);

//ch=getchar();

break;

case'2':

DeleteList(L);

//ch=getchar();

break;

case'3':

Search(L);

//ch=getchar();

break;

case'4':

menu();

//ch=getchar();

break;

case'5':

PrinList(L);

//ch=getchar();

break;

default:

printf("输入错误!

请重新选择功能。

\n");

break;

}

fflush(stdin);

}

save(L);

}

voidmain()

{

choice();

}

七、测试分析

白盒

黑盒

进入菜单界面

选择1,实现开户功能·

选择2,实现销户功能

选择3,账户登陆成功,选择1,实现存款功能

 

选择4,账户登陆成功,选择2,实现取款功能

账户登陆成功,选择2,当账户资金不足时

账户登陆成功,选择3,显示余额

账户登陆成功,选择4,退出账户

当已有账户登陆失败时,重新输入密码

当目前没有存在的登录账户时,回到菜单

选择5,查询所有储户信息

选择6实现退出账目管理功能

八使用说明

运行程序,首先出来的是登陆界面,登录进去就可以到菜单界面,根据菜单的提示选择您想要实现的功能:

1.储蓄开户根据提示输入账户名及密码

2.储蓄销户根据提示输入账号及密码

3.储蓄的账户存款、取款。

登陆好自己的账号,选择要实现功能,1存款,2取款,3显示余额。

若不能登陆成功,则根据提示建立一个账户。

4.返回菜单。

5.查看所有储蓄账户信息。

6.退出账目管理。

九课程设计总结

通过本次课程设计使我对编程有了新的认识,对自己所学的知识有了新的了解。

在做本次课成设计的过程中,我巩固了自己所学过的知识,并且能将这些知识运用到实际中。

当然,在这个过程中我也遇到很多困难,不会编写函数,不会调程序,不能理解程序中的内容,但经过俩周多的努力,我克服这些困难,圆满的完成了本次课程设计,使自己有了巨大的进步。

在下次课程设计中,我一定会发挥得更好,让自己再次提高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1