ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:142.09KB ,
资源ID:9484852      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9484852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法设计与分析课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

算法设计与分析课程设计.docx

1、算法设计与分析课程设计数据结构 课 程 设 计题 目 活期储蓄账目管理 系 (部) 电子与信息工程系 班 级 13级计算机科学与技术 姓 名 * 学 号 * 指导教师 * 2014年06月07日电子与信息工程系活期储蓄账目管理课程设计任务书设计题目活期储蓄账目管理已知技术参数和设计要求活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1、 能比较迅速地找到储户的帐户,以实现存款、取款记账; 2、 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要设计内容与步骤1、 结点结构的设计 2、 算法设计与分析 3、 程序设计、实现、调试 4、 课程设计说明书设计工作计划与进度安排

2、1、 设计工作4学时 2、 实现与调试16学时 3、 课程设计说明书8学时设计考核要求1、 考勤30%2、 课程设计说明书70%计算机教研室制活期储蓄账目管理*安康学院 计算机科学与技术13级 陕西省 安康市 725000摘要:活期储蓄账目管理系统通过数组来存储数据结构,其结构则按照C语言的相关知识定义结构体,其中储户开户、销户就是实现数组的插入与删除,而存入、支出等活动则是实现数组中数的查找,然后进行更改。关键字:编码;存储;活期储存账目管理Abstract:Savings accounts management system through the list to store the da

3、ta structure, the structure in accordance with the definition of the relevant knowledge of C language structure, which depositor account, cancel the account is to realize the insert and delete the list, while deposit, expenses and other activities are achieving list nodes in the search, and then mak

4、e changes.Keyword:Coding; Storage ;Demand Storage account management1 引言 随着计算机的普及,现代人越来越多的想到用计算机来代替许多人做的事情。从而提高办事效率,使经济收入更加可观,从而就产生了计算机这门课程。随着信息技术的飞速发展,大量信息需要传输,传输信息就要先经过编码,然后再译码,可见编码技术的提高对整个信息产业有着举足轻重的作用。而计算机主要是通过程序来实现各种事情的,再者程序也必须通过各种算法才能达到存储各种数据,所以数据结构这门课程就应运而生。本课程设计主要是用数据结构编写关于活期储蓄账目管理的算法,来达到活期储

5、蓄账目管理的目的。2 活期储蓄账目管理2.1题目分析活期储蓄管理系统用户通过该系统可以进行存款、取款、销户等业务。该系统在金融业给人民带来了很大的方便,系统开发成功后,一旦应用于银行领域,会给管理员与用户带来很大的方便,其主要作用具体如下: 1)、可以代替营业员进行许多繁杂的手动操作。 2)、给用户带来了很大的方便。 3)、可以节省许多人力资源。 4)、可以提高人们的工作效率。 活期储蓄账目管理系统主要是由于在活期储蓄处理中,储户开户、销户、存入、支出活动频繁,为实现储户的各种操作而设计的,本课程设计的主要功能包括实现储户开户、销户、存入、支出等活动,为了能比较迅速找到账户,实现这样的几个功能

6、,就要通过数组来存储数据结构,其结构则按照C语言的相关知识定义结构体,其中储户开户、销户就是实现数组的插入与删除,而存入、支出等活动则是实现数组中元素的查找,然后进行更改。2.2方案分析在本课程设计的方案设计中,我采用数组作为其存储结构,首先用结构体来定义其数据类型,然后通过数组的相关知识将数据按照该数据结构存储,之后运用文件的相关知识将更改的数据写入文件中,这样就完成了本课程设计的方案设计。2.3算法分析对于本课程设计中,主要运用到了数组的相关知识,其主要算法也就来源于数组的相关算法,首先对于储户开户与销户主要是数组的插入与删除,与其主要的区别在于其数据类型不一样而已,在这里我们的数据类型主

7、要是自己定义的类型,还有储户的存入及其支出也就是按照相关条件在数组中进行查找与修改运算而已,故此程序的主要算法都不难。3 概要设计3.1逻辑结构与物理结构该存储结构是顺序存储结构,所以逻辑结构与物理结构相对应都是线性的,元素在物理结构中的相对位置来表示数据元素之间的逻辑关系。3.2数据结构struct pchar name20;int zhanghao;int mima;float jine;struct p a10000;3.3 各种函数说明void b();主菜单函数void kaihu();控制开户函数void cunkuan();控制存款函数voidchaxun();控制查询账户函数v

8、oid qukuan();控制取款函数void xiaohu();控制销户函数3.4模块功能分析及其外部设计开户模块主要是输入需要开户的姓名,然后建立开户账号,提醒输入账号密码。销户模块则是输入需要销户的账号及其密码,然后从系统中销去些账号的相关记录。同样存款是根据提醒输入需要登录的账号,然后再输入其密码,之后就可以查看其账号上的相关资料。取款则是要求登录需要存入及其支出的账号,然后对该账号进行相关的存入及支出。程序的外部设计主要是通过编写一个菜单功能来实现各个模块功能的调用,从而更好的协调各个模块功能之间的关系,同时还要编写一段代码来实现所有数据更改后将其写入文件中,实现数据的及时更新,维护

9、数据的正确性。3.5流程图设计3.5.1主菜单功能模块 图1主菜单3.5.2储户开户模块储户输入要想开户的储户输入其姓名及其开户账号的密码,然后显示开户成功,则开户就成功了。 图2 开户 3.5.3储户的存入及其支出模块储户的存取款,首先在登录账户的基础上,选择存或者取款,然后输入相应的金额,若是取款应判断其金额是否小于账户上的金额,如果不小于,则提示储户重新输入相应的金额,或者退出。 图3 存款 图4 取款3.5.4 储户销户模块储户输入需要销户的账号,然后程序自动判断该账号是否存在,然后输入账号密码,若账号与密码相对应,则删除该账号。 图5 销户4 实现调试与分析4.1 实现环境 该课程设

10、计中程序的实现环境是VISUAL C+ 6.0 。4.2 语言选择 本课程设计选用的语言是C语言。4.3 调试分析 经过调试分析解决了程序在储户开户过程中关于储户的账号问题,取款过程中取款金额大于存款金额问题。同时在调试过程中还遇到了在登录账号后,对账号中选择相应的存款、取款功能时,如果输入与要求不一致可能导致程序直接结束,这就导致了程序更改的数据没有写入文件中,这种无理退出也在程序的调试中给解决了。5测试分析5.1 测试用例首先进入VC+6.0,然后进入源程序,接着选择debug文件夹下的cpp1.exe文件即可运行程序。图 5.1 菜单界面从图5.1可以看出程序进入到了活期储蓄账目管理的菜

11、单界面,并且要求你选择相应的功能,当我选择功能1时:图 5.2 储户开户从图5.2可以知道选择功能1后,要求输入开户姓名,并要求我输入账号和密码,按要求输入后,就显示开户成功。说明开户成功了。再按enter 就返回菜单了。然后我再选择功能2:图5.3 账号存款及查询金额从图5.3可以看出程序实现了登录账号存款的功能,并且还可以查询金额,也同时更新了账户内金额的信息。然后就退出了账号。返回主菜单选择相应的功能3进行测试:图5.4 账号取款及查询金额从图5.4可以看出程序实现了登录账号取款的功能,并且还可以查询金额,也同时更新了账户内金额的信息。然后就退出了账号。返回主菜单选择相应的功能4进行测试

12、:图5.5 账号查询从图5.5可以看出程序实现了账户查询的功能,显示此账户所有信息。然后返回主菜单选择功能5进行测试:图 5.6 储户销户从图5.6可以看出再选择功能5后,就进入储户销户模式,输入要销户的账号及其密码,当显示账号销户成功则表明储户销户成功了。同样返回主菜单,按6退出此程序。5.2 测试结果 从5.1测试用例中,可以看出该程序实现了程序的各个模块的功能,同时也解决了程序在调试与分析过程中遇到的各种问题。总之这个程序的各个模块的功能的测试结果合格。5.3 性能分析 该程序能够迅速的进行储户开户以及销户等各项操作,同时程序在储户取款以及存款过程都详尽的描述了各种操作提示,也解决了程序

13、在不按要求输入时可能造成的情况进行了适当的处理。可见此课程设计的性能较好。6 结语通过本次账目管理系统课程设计,实现了银行活期储蓄账目的存储及其管理。能比较迅速地找到储户的账户,以实现存款、取款记账。同时也能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。本课程设计好的地方就在于对用户不按要求输入造成程序出错的问题进行了有效的处理,该情况不会造成该系统的崩溃,虽然以前没有做过课程设计,但是经过自己自行学习了方面相应的知识,成功完成了此次的课程设计。本课程设计还未完成之前还存在一些小问题,那就是程序再进行取款时,出现了取款数目大于存款数目的问题,经过修改和完善,终于解决了这个小问题,使用

14、户操作的结果都合乎实际,保证了此程序的有效性和合理性。参考文献:1唐发根. 数据结构教程M . 北京: 北京航空航天大学出版社,20092谭浩强. C程序设计(第4版)M . 北京: 清华大学出版社,2010附件:#include stdio.h#include stdlib.h void b();void kaihu();void cunkuan();void qukuan();void chaxun();void xiaohu();int q=0,count1=0,u=0,r=0;struct pchar name20;int zhanghao;int mima;float jine;st

15、ruct p a10000;void main () system(color 0f);int l,k;printf (t|n);printf (t| |n);printf (t| |n);printf (t| |n);printf (t| |n);printf (t| |n);printf (t| |n);printf (t| |n);printf (t| 中国银行 |n);printf (t| |n);printf (t| |n);printf (t| 欢迎您的使用! |n);printf (t| |n);printf (t| |n);printf (t| |n);printf (t| |

16、n);printf (t| |n);printf (t|n);printf (n);printf (n);printf(ttt请稍后,正在检测运行环境.n);for(l=0;l80;l+)for(k=0;k9000000;k+)if(k);printf (ttt检测完成请按回车键进入系统);getchar();system(cls); b();void b()int x;doprintf(=主菜单=n);printf(ttt1. 开户:n);printf(ttt2. 存款:n);printf(ttt3. 取款:n);printf(ttt4. 查询:n);printf(ttt5. 销户:n);p

17、rintf(ttt6. 退出:n);printf(请输入你您要办理的业务:);scanf(%d,&x);if(x=6)break;switch (x)case 1:kaihu();break;case 2:cunkuan();break;case 3:qukuan();break;case 4:chaxun();break;case 5:xiaohu();break;default :printf(aattt请在16中选择n);break;while(1);void kaihu() int x,y;system(cls);printf(=开户=n);printf(请输入用户名:);scanf(

18、%s,&aq.name);printf(请输入账号:);scanf(%d,&aq.zhanghao);printf(请输入密码(至多6位数):);scanf(%d,&x);printf(请再次输入密码:);scanf(%d,&y);if(x!=y) printf(tt两次密码输入不正确,请返回主页重新注册开户.);fflush(stdin);getchar();system(cls); b();aq.mima=x;printf(请输入存款金额:);scanf(%f,&aq.jine);printf(你的帐户信息如下:n);printf(ttt用户名:%sn,aq.name);printf(tt

19、t帐号:%dn,aq.zhanghao);printf(ttt密码:%dn,aq.mima);printf(ttt余额:%0.2fn,aq.jine);q+;printf(ttt按回车回主菜单n);fflush(stdin);getchar();system(cls);void cunkuan()int count=0;system(cls);printf(=存款=n);int x;int y;int i;float z;printf(请输入帐户名:);scanf(%d,&x);printf(请输入密码:);scanf(%d,&y);for(i=0;iq;i+)if(ai.zhanghao=x

20、&ai.mima=y)/if(x=1&y=2)printf(请输入您要存款的金额:);scanf(%f,&z);ai.jine=ai.jine+z;printf(现在的金额是%f,ai.jine);fflush(stdin);printf(ttt按回车回主菜单n);getchar();system(cls);elseprintf(ttt你输入的密码或帐户名有误n);fflush(stdin);printf(ttt按回车回主菜单n);getchar();system(cls);b();count+;if(count=3)printf(ttt由于你连续3次输入错误。系统自动退出.);void qu

21、kuan()int count=0;system(cls);printf(=取款=n);int x;int y;int i,l,k;float z;printf(请输入帐户名:);scanf(%d,&x);printf(请输入密码:);scanf(%d,&y);for(i=0;iq;i+)if(ai.zhanghao=x&ai.mima=y)printf(请输入你要取款的金额:);scanf(%f,&z);if(ai.jinez)fflush(stdin);printf(ttt对不起您的帐户余额不足,系统拒绝透支ntt按回车回主菜单n);getchar();system(cls);b();ai

22、.jine=ai.jine-z;printf(ttt系统正在为您办理nttt请稍后.n);for(l=0;l80;l+)for(k=0;k10000000;k+)if(k);printf(nnttt请在30秒内取出n);printf(ttt您本次取款%f元n,z);printf(ttt现在的金额是%fn,ai.jine);fflush(stdin);printf(ttt按回车回主菜单n);getchar();system(cls);b();printf(ttt你输入的密码或帐户名有误n);fflush(stdin);printf(ttt按回车回主菜单n);getchar();system(cl

23、s);b();r+;if(r=3)printf(ttt由于你连续3次输入错误。系统自动退出.);void chaxun() system(cls);printf(=查询=n);int i;for (i=0;iq;i+)printf(nn第%d个用户:n,i+1);printf(ttt用户名:%sn,ai.name);printf(ttt帐号:%dn,ai.zhanghao);printf(ttt帐户余额:%0.2fn,ai.jine);fflush(stdin);printf(ttt按回车回主菜单);getchar();system(cls);b();/=销户=void xiaohu()int

24、 i,x,y,m,j;/这里的COUNT也是全局变量,没有办法。这个IF判断是也是用来锁定改密功能的if(count1=3)system(cls);printf(tt改密功能暂时锁定,请选择其他你要办理的业务ntt无须办理其他业务,请回到主菜单后选择退出nnn);fflush(stdin);printf(ttt按回车回主菜单);getchar();system(cls);b();system(cls);if(count1=3)fflush(stdin);printf(tt温馨提示,改密功能以锁定ntt给你带来的不便请谅解n);printf(ttt按回车回主菜单);getchar();syste

25、m(cls); b();printf(=销户=n);printf(请登陆:n);printf(ttt请输入帐号);scanf(%d,&x);if(a0.zhanghao=0)system(cls);printf(请先开户,请按回车返回主菜单nnn);fflush(stdin);getchar();system(cls);b();for(i=0;iq;i+)if(x!=ai.zhanghao)/判断帐号是否存在 fflush(stdin);system(cls);printf(你输入的帐号不存在,请按回车返回主菜单nnn);getchar();system(cls);b();if(x=ai.zhanghao)/这个IF判断不可以用ELSE代替j=i;break;printf(ttt请输入密码);scanf(%d,&y);if(y!=aj.mima)count1+; /同上fflush(stdin);system(cls);printf(tt你输入的密码错误,请按回车返回主菜单nnn);printf(tt温薪提示,错误输入3次将无法使用销户功能n);printf(ttt给你带来的不便请谅解);getchar();system(

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

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