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

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

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

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

课程设计银行储蓄管理系统.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->

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

当前位置:首页 > 自然科学 > 数学

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

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