【南邮】C/C++程序设计题(12题)[2025-05-26]

【南邮】C/C++程序设计题(12题)[2025-05-26]

程序设计题一:标准化考试系统
1 系统的基本功能
该系统要求编写一个程序,设计一套标准化考试系统,该系统只包含单项选择题,基本功能如下图所示:

2 要求及提示
2.1 基本要求
要能提供以下几个基本功能:
(1)试题库保存在文件中,每个试题包括题干、4个备选答案、标准答案
(2)试题录入:可随时增加试题到试题库中,增加试题库应在系统特定界面进行,而不能直接写入文件中。
(3)试题抽取:每次从试题库中可以随机抽取N道题(N由键盘输入)
(4)答题:用户可以实现输入自己的答案
(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩
(6)系统用户分管理员和一般用户两种,管理员有权限更改试题,查看所有用户成绩;但一般用户只能答题和查看自己的成绩。
(6)退出:返回主界面。
2.2 选做要求
(1)设计美观实用的图形菜单界面
(2)自行增加一些新功能模块
2.3 提示
本程序设计题目涉及到的主要知识点包括:
(1)面向对象程序设计方法
(2)类和对象的概念、关系及实现
(3)动态数组
(4)文件的读写
(5)switch语句的运用
(6)界面制作

2.4 其他要求
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、函数命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。

3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题二:学生信息管理系统
1 系统的基本功能
该系统要求编写一个程序,设计一套学生信息管理系统,该系统基本功能包括:
学生基本信息文件(A.TXT)(注: A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下:

学号 姓名 性别 宿舍号码 电话号码
01 张成成 男 501 87732111
02 李成华 女 101 87723112
03 王成凤 女 101 87723112
04 张明明 男 502 87734333
05 陈东 男 501 87732111
06 李果 男 502 87734333
07 张园园 女 102 87756122
… … … … ………
学生成绩基本信息文件(B.TXT)及其内容如下:
学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分
01 A01 大学物理 3 66 78 82
02 B03 高等数学 4 78 -1 90
01 B03 高等数学 4 45 -1 88
02 C01 VF 3 65 76 66
… … …… … … … …

综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩30%+卷面成绩70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩15%+实验成绩.15%+卷面成绩70% 。
实得学分的计算: 采用等级学分制,综合成绩在90-100之间,应得学分=学分
100%;综合成绩在80-90之间,应得学分=学分80%;综合成绩在70-80之间 ,应得学分=学分75%; 综合成绩在60-70之间 ,应得学分=学分60%;综合成绩在60以下 ,应得学分=学分0%。
2 要求及提示
2.1 基本要求
要能提供以下几个基本功能:
(1)数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。
(2)查询功能:分为学生基本情况查询和成绩查询两种
⑴、学生基本情况查询:
①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。
②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
⑵、成绩查询:
①、输入一个学号时,查询出此生的所有课程情况,格式如下:

学 号:xx 姓 名:xxxxx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
… … … … ……… … …

共修:xx科,实得总学分为: xxx
(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。
(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
2.2 选做要求
(1)设计美观实用的图形菜单界面
(2)自行增加一些新功能模块
2.3 提示
本程序设计题目涉及到的主要知识点包括:
(1)面向对象程序设计方法
(2)类和对象的概念、关系及实现
(3)文件的读写
(4)界面制作
2.4 其他要求
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、函数命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题三:文档编辑器的设计与实现
1 系统的基本功能
该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换等功能。通过此课题,熟练掌握文本文件的操作及用字符数组来实现字符串操作的功能。
2 要求及提示
2.1 基本要求
要能提供以下几个基本功能:
(1)首先文件标准化处理:如果句子有前导空格和后导空格,则删除这些空格,单词与单词之间只保留一个空格。
(2)统计功能:可方便地统计出文档中所有出现次数最多和最少的单词(即字符串)。
(3)查找与替换功能:能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。
(4)显示功能:编辑完成后可以显示编辑后的文档。
(5)抽取功能:根据要求将文件中的某一类字符抽取,并存入另外的文件,如抽取所有的数字、抽取所有的字母等
2.2 选做要求
(1)设计清晰实用的菜单界面;
(2)自行增加一些新功能模块,作为加分项;
2.3 提示
本程序设计题目涉及到的主要知识点包括:
(1)被处理的初始文本文件可以用程序生成,也可以直接用写字板或记事本生成。
(2)可以用面向对象或面向过程的程序设计思想实现,但是要求每一个功能对应于一个函数模块;
(3)主函数中提供菜单结构:根据选择的数字执行不同的操作;
(4)界面制作,另在内存中的各种操作可以采用一维数组方式或是单链表。
2.4 其他要求
(1)变量、函数命名符合规范。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题四:加解密处理系统
1 系统的基本功能
该系统要求编写一个程序,设计一套加解密处理系统,实现对选定的文件或字符串(由数字或字母组成)进行加密解密的程序。可以将所需要的内容(整个文件或者输入的一行字符)加密,也可以将存储的加密文件翻译回来。例如加密时可以将选取内容的每个字符依次反复加上”49632873”中的数字,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(既N%122).解密与加密的顺序相反。
2 要求及提示
2.1 基本要求
(1)从键盘输入要进行加密的一行字符串或者需要加密的文件名。
(2)显示菜单:
设置加密方法
加密
解密
显示原始文件和解密文件
(3)选择菜单,进行相应的操作。加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性;显示是将文件在屏幕上显示出来,供人工校对。
2.2 数据结构
(1) 加密方法用结构表示
struct password /加密方法/
{ char ps[10]; /加密字符串/
long l; /加密间隔字节数/
long wd;} /加密的字节数/
(2)定义原始文件sourse.txt、加密文件result.txt和还原文件recall.txt
(3) 程序模块及函数功能:
a.在屏幕上显示文件 void printtxt();
b.加密void encode();
c.解密void decode();
d.文件比较void cmptxt();
2.3 算法提示
(1)加密时,每个字符依次反复加上”49632873”中的数字,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(即N%122).
例如:加密the
(t)116+4,(h)104+9,(e)101+6
变为xqk
(2) 解密:解密过程与加密过程的顺序正好相反,即从第一个字符开始,每个字符依次反复减去”49632873”中的数字,若执行减法后得到一个负数,则把这个负数加122然后取余,即 (N+122)%122, 其中N为负数。
例如:把xqk解密
(x) 120-4 (q)111-9 (k) 107-6
变为 the
2.4 选做要求
(1)设计美观实用的图形菜单界面
(2)自行增加一些新功能模块
2.5 其他要求
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、函数命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题五:电信计费模拟实现
1 系统的基本功能
该系统要求编写一个程序,实现对电信计费的模拟。
用户资料和话单记录以文件的方式存储在硬盘中,这两个文件的内容分别如下:
用户资料文件,存放了用户名、用户电话号码以及是否申请了来电现实功能。格式如下:
Zhang Qiang 83470000 Y
Liu Hui 83470001 Y
Ke Lei 83470002 N。。。。。。
话单文件,存放了主叫号码、被叫号码、通话起始时间和终止时间(格式:年月日小时分钟秒)。为简便起见,被叫号码仅有本地电信号码与长途电信电话两种。格式如下:

83470001 85980000 20051231230000 20060101000524
83470000 02165280115 20060101080524 20060101090832
83470000 55074132 20060103210532 20060104000900
83470002 05146868688 20060110122448 20060110132524
。。。。。。

另外,固定电话月租费25元/月,来电显示功能费6元/月,市内电话0.1元/分钟,长途电话0.7元/分钟,不足一分钟按一分钟计算。
2 要求及提示
2.1 基本要求
要能提供以下几个基本功能:
(1)用户资料文件与话单文件由程序设计人员预先从键盘上录入,用户资料文件中的数据记录不得少于15条,话单文件中的数据记录不得少于100条,且必须有跨月份、跨年份的通话记录话单。
(2)首先从硬盘读入用户资料和话单记录
(3)对话单进行计费处理,输出费用详单到指定的文件。格式如下:
电话号码 用户姓名 月租费 功能费 市内电话费用 长途电话费用 合计
83470000 Zhang Qiang 25.00 6.00 xxxxx xxxxx xxx
83470001 。。。。。。 。。。。。。
2.2 选做要求
异常话单提示。有的话单可能是错误的,找出这些话单,不参加计费,另存为一个文件。可能的出错话单有:
(1)一个号码的通话时长大于三天。
(2)一个号码在一个时间存在两条以上的记录。
2.3 提示
(1)固定电话月租费、来电显示功能费、市话单价、长话单价等要求以全局变量的形式存放在程序中,以便于以后价格的修改。
(2)程序的总体框图如下:

2.4 其他要求
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、函数命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题六:通信录管理系统
1 系统的基本功能
该系统模拟手机通信录管理系统,实现对手机中的通信录进行管理。
要能提供以下几个基本功能:
(1)查看功能:选择此功能时,列出下列三类选择。
A:办公类 B:个人类 C:商务类
(2)当选中某类时,显示出此类所有数据中的姓名、电话号码、单键拨号号码。
(3)添加数据功能:能录入新数据,每个结点包括:姓名、电话号码、分类(可能选项有:A为办公类 B为个人类 C为商务类)、电子邮件、单键拨号号码。例如:

杨春 13589664454 商务类 chuny@126.com 0

姓名和电话号码不能同时相同,如果发生这种情况,需要提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号;单键拨号号码可以为空,但是不能设置为相同的数字。
(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。
这里同样需要判断是否改后存在姓名和电话号码同时重复或单键拨号重复。
(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
(6)拔号功能:当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字;当输入单键拨号号码时,屏幕上显示被叫用户的姓名及完整电话号码。
2 要求及提示
2.1 基本要求
要能完成上述几个基本功能,包括查看、添加、修改、删除与拨号等。
2.2 选做要求
(1)自行增加一些新功能模块。
2.3 算法数据结构提示
(1)数据结构:
数据结构可以有多种,自行设计,但是通讯录中必须包含的信息如下:
struct tele /* 通讯录结构 /
{
int num; /
条目编号 /
char name[20]; /
姓名 /
char tel_no[15]; /
号码 /
char sim_no; /
单键拨号号码 /
char arch; /
归类 /
char e_addr[20]; /
email地址 */
};
(2)通讯录必须保存在文件中,每次程序运行时读入程序中,程序运行结束时写回文件。
4 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题七:银行ATM仿真软件
1 系统的基本功能
ATM的管理系统是银行流程业务中,十分重要且必备的环节之一。在银行业务流程中,有着承上启下、起承转合的作用。本课题可以帮助人们更加熟悉ATM的各类操作,从而方便生活中的使用。其基本功能如下:密码验证机制;吞锁卡机制;存取款功能;账户查询功能;转账功能等。
2 要求及提示
2.1 基本要求
要能提供以下几个基本功能:
(1)系统内的相关信息文件由程序设计人员预先从键盘上录入,文件中的数据记录不得少于20条;
(2)设计并实现系统的相关界面,使用分级菜单提高人机交互性;
(3)登录系统必须输入正确的卡号和密码,输入错误时提示用户,连续输入错误3次则显示锁卡,用户登录后可以修改自己的密码;
(4)取款功能:输入取款金额,核对。若超出账户余额,则输出“余额不足”则,输出对应金额的现金,并提示用户是否打印回单,退卡,返回界面;
(5)存款功能:存入现金,核对金额,存入账户,提示用户是否打印回单,返回主界面;
(6)查询账户信息,包括用户名、余额信息,以及各种操作的历史记录;
(7)转账模块,提示用户输入正确的账号,检查转账条件是否满足,并完成转账操作;
(8)退出终端系统,提示用户保存好银行卡。
2.2 选做要求
在查询界面中提供以下功能:利用账户的历史余额数据,进行账户余额的预测分析。
2.3 提示
(1)用户的卡号和密码必须以密文形式保存在文件中,所以在验证账号信息的过程中必须包含加密和解密的过程。
(1)ATM仿真系统功能框图如下:

图1 ATM仿真软件功能框图

(2)结构体
根据用户信息,设计每个用户的结构体如下:
struct Account{ //账号信息
char ID[20]; //卡号
char name[20]; //姓名
int password[6]; //密码
double money; //账户余额
}
struct Statement{ //单笔流水信息
char ID[20]; //编号
char accountID[20]; //对应账号
char time[20]; //交易时间
int type; //交易类型
double money; //交易数额
char toAccunt[20]; //对方账号
}
2.4 其他要求
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题八:背单词软件模拟实现
1 系统的基本功能
“背单词—个性化背词”是背诵英语单词的软件。用户可以根据自己的需求导入需背诵的词库,并可以编辑自己的词库。背单词时有两种模式供选择:系统可以给出中文提示,用户输入对应的单词,也可输出单词让用户输入中文意思。系统判定词义是否正确。如果正确成绩加十分,如果不正确给出提示并要求用户重新输入。
2 要求与提示
2.1 基本要求
代码要能提供以下几个基本功能。
(1)用户登录:
新用户可以注册,旧用户直接登录。
可以只打卡不背词,直接退出界面。
(2)单词本:
存储单词基本信息,英文、词性、中文解释等。
选择词库维护编辑单词本信息,实现增加、修改、删除、补充(单词已有,补充新的释义)的功能。
(3)单词背诵及成绩统计:
选择单词预览进行单词学习。
单词背诵时有两种模式选择,选择题背诵及拼写单词背诵,而且支持多次背诵。
答对加十分,答错扣十分,错词计入错题本。
可查阅自己的总成绩,未达过关成绩可以选择错题重背直至完全掌握。
(4)单词复习:
背诵完全正确时界面显示没有错题继续努力。
有错题时可以选择错题重背加强记忆。
(5)退出系统时可以进行打卡,统计背诵单词天数。
2.2 选做要求
(1)对用户的输入进行一定的正确性检查。
(2)能统计每一个单词出现频率及背诵正确率,供以后出题时提供依据。
(3)能设置提醒功能,激励大家坚持下去。
2.3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题九:智能交通预约系统
1 系统的基本功能
为方便两个城市的市民出行,开通便捷客运,实行预约乘坐,车上座位为15座,要求全程不允许卖站票,总共有4个站台(S,A,B,E),一站需要运行1.5个小时,票价1站票价70元,2站票价100元,全程票价120元。
每天对向各发车3辆,同时发车,发车间隔为1小时一辆,早晨6:00开始运行。
请设计一个智能交通预约系统。
2 要求及提示
2.1 基本要求
代码要能提供以下几个基本功能。
(1)满足选座位的要求,车辆座位图如下:

**  *
**
*#  *
**  *
****

空座位以*表示,被选择的座位以#符号标记,比如上图座位位置为(3,2);可以自行设计座位图和座位编号 。
(2)查询功能:每位乘客以手机号预约,登录后可以浏览车辆信息,显示出当前系统时间下车辆的运行情况。比如:当前系统时间为8:50,选择S——>E方向,则显示:
车次 方向 下一站 剩余时间 剩余座位
1 S——>E B 10分钟 4
2 S——>E B 1小时10分钟 2
3 S——>E A 40分钟 9
选择车次,可以显示该辆车的座位情况,供乘客选择。
(3)车站管理人员可以查看每辆车上的乘客信息。比如:
姓名 手机号 起点站 终点站 座位
(4)提供菜单选项,设置用户角色,车辆管理员和乘客:
管理员:可以修改车辆运行计划 ,比如增加车辆,改变运行时间,统计一天营业额。
乘客:查询车辆运行情况,选座位,购买车票。
2.2 选做要求
(1)对用户的输入进行一定的正确性检查。
(2)手机订票数量限制。
2.3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题十:食堂自动化管理系统
1 系统的基本功能
编写一份简化的食堂自动化管理系统,实现学生就餐卡管理和菜品管理以及消费记录统计等相关功能。所有数据包括学生就餐卡信息,菜品信息等都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 要求及提示
2.1 基本要求
(1)学生就餐卡和菜品数据是由多条数据记录构成,其信息包括:
学生就餐卡:卡号,姓名,余额,状态(正常和挂失。)
食堂菜品数据:编号 名称 金额 消费次数
(2)数据保存形式:
所有就餐卡信息,菜品信息数据要以文本或二进制文件保存。
(3)需要实现的功能,代码要能提供以下两个基本模块。
管理员模块:管理员以密码登录系统,可以完成以下功能
A.注册学生就餐卡
B.就餐卡的充值挂失模块
C.食堂菜单管理功能,包括对菜单的增删修改查等功能。
D.统计功能:统计菜品销售情况(销售排行),以及学生卡的使用情况(选做)
学生模块:学生以就餐卡号登录系统(说明:卡处于挂失,则拒绝登录。)
A.可以查询卡中余额。
B.可以查询本卡的消费记录(选做)
C.可以浏览菜品并按照金额购买
(4)界面功能要求:
采用友好的字符界面,实现一个功能控制菜单。
每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
2.2 选做要求
(1)数据完整性保证。例如:就餐卡号和菜单编号不得重复。
(2)学生每次消费可以自动生成消费记录(卡号,购买时间,购买菜品编号,购买金额)。
该消费记录表永久保存,用于事后查询和统计。具体请学生自己构思、设计。
2.3 提示
(1)根据食堂自动化数据管理要求,设计合适的数据结构(如结构数组、链表、对象数组等实现)。
(2)选择文件存储格式(文本或二进制)和文件名。
(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序的流程图和界面。
(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
(5)根据设计结果分步开发实现各模块,最后进行总体集成。
2.4 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题十一:药房销售系统
1 系统的基本功能
该系统要求实现一个简单、实用的药房销售程序,主要功能包括对药品的分类管理,查找,模拟销售,管理库存等。药品相关数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 要求及提示
2.1 基本要求
代码应满足以下几个方面的要求。
(1)药品数据是由多条数据记录构成,其信息包括:药品名称、分类、生产日期、库存量、累计销售量等。
(2)数据保存形式:所有药品数据要以文本或二进制文件保存。
(3)需要实现的功能要求

  1. 新增药品条目。
  2. 查询药品库存、销售量(可按药品名称,功能分类等查找)。
  3. 修改药品条目。
  4. 删除药品条目。
  5. 显示临期药品。
  6. 生成销售统计。
    7)模拟销售(如库存不足需有提示)
  7. 保存数据到文件中、从文件中读入数据。
    (4)用户界面要求
  8. 采用友好的字符界面,实现一个功能控制菜单。
  9. 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
    2.2 选做要求
    (1)数据多样性,相对正确性。例如:功能和药品名称必须大致符合常规。
    (2)销售统计报表形式可多样化,具有一定的实际参考价值。
    2.3 提示
    (1)根据药品数据要求,设计合适的数据结构(如结构数组、链表、对象数组等实现)。
    (2)选择文件存储格式(文本或二进制)和文件名。
    (3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序的流程图和界面。
    (4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
    (5)根据设计结果分步开发实现各模块,最后进行总体集成。
    2.4 其他要求
    (1)界面美观,交互方便。
    (2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
    (3)程序的层次清晰,可读性强。
    (4)变量、函数命名符合规范。
    (5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
    3 开发环境
    可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

程序设计题十二:图书馆管理系统
1 系统的基本功能
该系统要求建立一个图书馆管理系统,并具有对图书信息的排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
图书的信息应包括:索引号,名称,作者,馆藏地址(三牌楼、仙林)、类别(人文、科技、外语等),数量,价格,入库日期,归还日期,借阅次数,借阅状态(可借、不可借)。
2 要求及提示
2.1 基本要求
代码要能提供以下几个基本功能。
(1)对图书信息进行更新操作,包括添加和删除一种书的信息、修改图书信息(例如图书被借阅,书的数目减1,借阅次数加1,如果数量为0则表示状态为不可借);
(2)通过按图书的索引号、名称或作者等字段查询图书信息;
(3)显示所有即将到期的图书(归还日期在三天之内);
(4)按借阅次数等信息对所有图书进行排序;
(5)将图书的所有相关信息内容存为文本或二进制文件。
2.2 选做要求
(1)对用户的输入进行一定的正确性检查。
(2)可尝试采用MFC等开发工具,实现彩色或图形操作界面。
(3)自行增加合适的图书管理相关功能。
2.3 提示
(1)根据图像数据要求,设计合适的数据结构(如结构数组、链表、对象数组等实现)。
(2)选择文件存储格式(文本或二进制)和文件名。
(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序的流程图和界面。
(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
(5)根据设计结果分步开发实现各模块,最后进行总体集成。
2.4 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
3 开发环境
可以选择VS2010、Dev C++等集成开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。不可使用Java或Python语言。

源码联系UP主 -> https://space.bilibili.com/329101171

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值