《C语言程序设计 II》设计性实验

更新时间:2024-04-07 00:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

设计性实验:ATM机模拟操作程序的设计

实验学时:6学时

涉及的知识点:循环、分支语句、函数、结构体、文件操作等

一、实验目的

通过设计一个ATM机模拟操作的程序,全面运用课程的主要知识点,巩固对模块化程序设计、文件操作的理解,提高软件编程能力。

二、实验要求

要求每人独立完成设计,编写一个ATM机模拟操作程序(只能输入卡号、密码、金额、操作菜单序号等)。提交实验报告、源程序、程序运行截图。

三、设计指标

必须完成的基本功能点:

(1)程序具有以下功能,操作流程见下图:

? 登录系统:

输入卡号(16位)、密码(6位),只有卡号、密码同时正确(帐户信息存放在文件中)才能进入系统主菜单,否则需要重新输入卡号、密码。 ? 操作功能:

? 查询:查询帐户的存款余额。按任意键返回主菜单;

? 取款:输入100的倍数模拟为取款金额,请注意:取款金额不得超过帐户余额,操

作后帐户余额应相应减少,之后可返回主菜单。为操作方便,也可以设置定值的取款子菜单(如100、500、1000、2000、5000等)和其它金额(需要输入),如下图所示:

? 存款:输入100的倍数模拟为存款金额,现假设存款金额不得超过20000元,操作

后帐户余额应相应增加。之后可返回主菜单;

? 转帐:先输入一个帐户号(已保存在帐户信息文件中),然后显示一部分用户名(如:

张*山),储户确认无误后,再输入100的倍数模拟为转帐金额,请注意:转帐金额不得超过帐户余额,操作后帐户余额应相应减少。之后可返回主菜单;

? 修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,

并存放到帐户信息文件中。之后可返回主菜单; ? 退出:退出系统。 (2)定义如下结构体类型:

? “日期”结构体Date:成员有:year(年)、month(月)、day(日);

? “帐户”结构体Account:成员有:no(帐户号)、name(姓名)、balance(余额) ? “存取款记录”结构体Record,:成员有:no(帐户号)、date(日期)、number(数量,

可正可负,正表示存款,负表示取款)

(3)帐户信息存放在accounts.txt文件,储户存取款记录保存在records.txt中;

(4)采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用。 (5)附加功能:

? 储户一天内输错密码的次数不能超过3次,否则无法进入系统; ? 应避免输入存款金额、取款金额为负数等异常情况的出现。

四、预习和参考

本设计需要综合应用循环、分支语句、函数、结构体、文件操作等知识。可参考课件、实验内容等进行设计。

五、考核形式

课程设计分数将占课程总评成绩的8%。满分100分,其中:每实现一个功能点得10分(退出功能为5分),定义结构体类型15分,文件操作10分,设计报告10分,实现附加功能得10分,总分不超过100分。抄袭者计0分。

六、实验报告要求

实验报告除必须的实验目的、实验要求之外,必须具备以下内容: (1)程序已经实现的功能点(用100-200字进行说明);

(2)程序运行截图及说明(每图限50到100字);

(3)采用的主要技术(限150到200字);

(4)设计心得(不能少于200字)。

附:程序代码

本文来源:https://www.bwwdw.com/article/97br.html

Top