课程设计实验报告ATM机仿真程序报告docWord文件下载.docx
- 文档编号:13375403
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:30
- 大小:80.56KB
课程设计实验报告ATM机仿真程序报告docWord文件下载.docx
《课程设计实验报告ATM机仿真程序报告docWord文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计实验报告ATM机仿真程序报告docWord文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
1.1.地位目的----------------------------------------------------------------------------------------------3
1.2内容要求----------------------------------------------------------------------------------------------3
1.3.与其它课程的联系----------------------------------------------------------------------------------3
1.4.课程报告撰写----------------------------------------------------------------------------------------4
2任务书------------------------------------------------------------------------------------------------------4
3.正文---------------------------------------------------------------------------------------------------------4
3.1.需求分析-----------------------------------------------------------------------------------------------4
3.2.概要设计-----------------------------------------------------------------------------------------------5
3.3.详细设计-----------------------------------------------------------------------------------------------6
3.4.程序源代码清单------------------------------------------------------------------------------------6
3.5.调试分析----------------------------------------------------------------------------------------------15
3.6.调试结果----------------------------------------------------------------------------------------------16
4.总结与体会----------------------------------------------------------------------------------------------20
6.参考文献-------------------------------------------------------------------------------------------------20
1.《数据结构》课程设计目的要求
一、本课程的地位、目的
《数据结构》课程设计是计算机科学技术专业集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。
开设该课程设计的主要目的是:
1.使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序
中的使用方法。
2.使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
3.使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。
二、课程设计的内容和要求
根据课程设计的时间和个人能力,在老师的协助下选择适当难度的课程设计课题,用C/C++语言实现。
具体内容如下:
1、需求分析
以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?
明确规定:
输入的形式,输出的形式和值的范围;
程序所能达到的功能;
测试的数据。
2、概要设计
说明程序中用到的所有抽象数据类型的定义,主程序的流程以及各程序模块
之间的层次(调用)关系。
3、详细设计
实现概要设计中定义的所有数据类型,对每个操作只需要写出伪代码算法,画出函数的调用关系图。
4、调试分析
调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析;
算法的时空分析(包括基本操作和主要算法的时空复杂度的分析)和改进设想;
经验和体会等
5、用户使用说明
说明用户如何使用你编写的程序,详细列出每一步的操作步骤。
6、测试结果
列出测试结果,包括输入的数据和相应的输出数据。
三、与其它课程的联系
先修课程为《C语言程序设计》和《数据结构》等。
四、课程设计报告撰写
课程设计报告包括:
封面、任务书、目录、正文和参考文献等。
正文包括以下几方面的内容:
1.需求分析
2.概要设计
3.详细设计
4.调试分析
5.测试结果
6.体会与总结
2.任务书
【题目描述】
设计一个ATM机仿真程序,该程序应该具有一下功能:
(1)可以让用户开设新的账户;
(2)可以完成对账户的查询功能;
(3)可以完成账户的存款功能;
(4)可以完成账户的取款功能;
(5)可以完成账户的密码进行修改功能
【题目要求】
(1)存储结构采用顺序表或链表;
(2)用C语言知识和本学期所学算法实现各模块;
(3)主函数设计一个菜单,通过菜单进入各模块测试。
3.正文
3.1需求分析
需设计的程序是模拟ATM机进行查询、存款、取款操作的一个程序,同时还添加了密码修改,模拟银行工作人员进行开户的功能。
因为此程序是模拟对用户财产安全进行操作的程序,要求本程序要保证用户的信息的安全性,如输入密码时要用字符覆盖,输入密码有上限,减少可能存在的程序漏洞。
要求此程序满足:
1.正确性和健壮性:
即此程序对一切合法的操作都能得出满足规格说明要求的结果,对
不合法的操作也要有正确的处理措施,使程序严谨,保证用户的信息和财产安全。
2.可读性:
程序要尽量简明扼要,便于相关人员调试和修改。
3.时空效率:
要求本程序执行时间尽可能短,占用的储存空间尽可能的少。
实验名称
ATM机仿真程序
实验场所
软件工程1号机房
3.2概要设计:
程序的流程图如下所示:
否
是
否
3.3详细设计:
本程序是ATM仿真程序,对于用户的所有信息是通过一个线性表COUNT来存储的,本程序总共设计了mainmenu(int)、languagemen()、query(float,int)、withdraw(float,int)、kaihu(psqlistp),changepw(psqlist,int,int),caozuo(psqlist)等子函数来共同完成的,具体分析如下:
在主函数main()里分成了四个模块。
模块一是完成事先设置了10个用户的所有信息。
模块2、3、4在一个开始界面(通过一个switch语句来完成),分别为开户、对原有用户操作和退出整个程序
模块2是完成对新用户的操作,通过函数kaihu()来完成,给新用户注册一个卡号,接下来就是让用户设置密码,要输入两次,具体要用到getchar(),和putchar()等函数,当两次输入不一样时提示用户重新输入,用户完成后会退出kaihu()函数,返回开始界面。
模块3是对用户账户操作的一个函数,首先要输入卡号和密码,当不正确时返回上一界面,当输入正确时设置了两种语言选择,选择语言后进入操作菜单函数mainmenu,可划分为五个小模块;
模块一是查询账户余额函数query;
模块二是存款函数deposit;
模块三是取款函数withdraw;
模块四是密码修改函数changepw;
模块五是返回上一界面函数exit()。
本程序通过各个模块的组合连接共同在一起完成ATM仿真程序的开户、查询、存款、取款、修改密码等有关操作。
3.4程序源代码清单:
#include"
stdio.h"
string.h"
stdlib.h"
conio.h"
ctype.h"
voidmainmenu(int);
//-------------账户菜单
intlanguagemenu();
//-------------语言选择
voidquery(float,int);
//---------查询当前余额
floatdeposit(float,int);
//--------存钱
floatwithdraw(float,int);
//-----------取钱
inttrue1(inta[]);
//密码确认函数
typedefstruct{
floatmoney;
intkey[6];
}datatype;
typedefstruct{//储存用户信息的线性表
datatypedata[50];
intlength;
}sqlist,*psqlist;
psqlistinit_sqlist()//线性表的初始化
{
psqlistcount;
count=(psqlist)malloc(sizeof(sqlist));
if(count)
count->
length=0;
returncount;
}
psqlistkaihu(psqlistp)//-----------------开户函数
{system("
cls"
);
psqlistpl=p;
inti,j;
pl->
length=pl->
length+1;
while
(1)
{chara[7]={'
\0'
},b[7]={'
};
printf("
您的卡号是:
%d\n"
pl->
length);
请设置您的账号密码"
for(i=0;
i<
6;
i++)
{a[i]=getch();
putchar('
*'
}
\n"
请再一次输入您的密码"
{b[i]=getch();
if(strcmp(a,b)==0)
{
for(j=0;
j<
j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 实验 报告 ATM 仿真 程序 doc