C/C++程序设计题[2023-05-27]

codewriter / 2023-05-27 / 原文

C/C++程序设计题[2023-05-27]

程序设计题01:媒体信息统计系统

1 问题描述
该系统要求实现一个简单、实用的媒体信息统计程序,主要功能包括媒体信息数据的新增、删除、修改、查找、统计输出等。所有统计数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 功能要求
代码应满足以下几个方面的要求。
(1)媒体信息数据是由多条数据记录构成,每条记录包括:媒体类型、作者/表演者、出版者、地区、年份、风格、数字化编码类型、介质类型、体积、时长等数据项。其中媒体类型取值包括:文字、音频、图像、图形、视频、动画等。
(2)数据保存形式:所有信息数据要以文本或二进制文件保存。
(3)需要实现的功能要求

  1. 新增媒体信息数据条目。
  2. 查找数据(可按作者、出版者、年份、风格等查找)。
  3. 修改数据条目(先查找,再修改。若当前条件查找出多个记录,则提示用户增加查询条件继续查找,直到确定唯一记录后再修改)。
  4. 删除数据条目(请参考上面修改的处理)。
  5. 显示媒体信息数据列表。
  6. 数据统计(可作者、出版者、年份、风格等生成各种统计报表)。
  7. 保存数据到文件中、从文件中读入数据。
    (4)用户界面要求
  8. 采用友好的字符界面,实现一个功能控制菜单。
  9. 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
    【选做要求】
    (1)数据完整性保证。例如:地区和风格名称必须严格、规范。
    (2)指标名称的维护和扩展功能,让用户可以添加新的指标名称。
    (3)支持多地区、跨年份、多指标综合统计能力,要求报表格式灵活、形式多样、内容清楚,具体请学生自己构思、设计。
    【其他要求】
    (1)界面美观,交互方便。
    (2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
    (3)程序的层次清晰,可读性强。
    (4)变量、函数命名符合规范。
    (5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
    【提示】
    (1)根据媒体数据信息要求,设计合适的数据结构(如结构数组、链表、对象数组等实现)。
    (2)选择文件存储格式(文本或二进制)和文件名。
    (3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序的流程图和界面。
    (4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
    (5)根据设计结果分步开发实现各模块,最后进行总体集成。
    3 开发环境
    开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题02:大学生考勤系统

1 问题描述
该系统要求实现一个简单、实用的学生考勤系统程序,主要功能包括考勤数据的新增、删除、修改、查找、统计、排序、输出等。所有统计数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 功能要求
代码要能提供以下几个基本功能。
(1)考勤数据是由多条数据记录构成,其信息包括:学号(唯一)、姓名、班级、考勤日期(由月和日组成)等等。
(2)数据保存形式:所有信息要以文本或二进制文件保存。
(3)需要实现的功能
a 新增学生信息数据(避免重复记录,若在,不可再增加)。
b 查找数据(可按学号、姓名、考勤日期等查找)。
c 修改学生记录(可以先查找,再修改)。
d 删除学生记录(请参考上面修改的处理)。
e 显示学生考勤数据列表(可显示部分或全部)。
f 排序(可按学号、姓名、考勤日期等排序)。
g 数据统计(对考勤数据统计分析,统计完成后,可以通过考勤系统中得出考勤明细表,考勤日报表、考勤汇总表、考勤异常表,请假汇总表等)。
h 保存数据到文件中并从文件中读入数据。
(4)界面功能要求:

  1. 采用友好的界面,实现一个功能控制菜单。
  2. 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
    【具体说明】
    (1)数据完整性保证。例如:学号和姓名必须严格、规范。
    (2)要求报表格式灵活、形式多样、内容清楚,具体请学生自己构思、设计。
    (3)考勤符号:出 勤√ 旷 课 X 事 假 △ 病 假 ○ 迟 到 + 早 退 –
    (4)考勤时间段不少于十条。
    【其他要求】
    (1)界面美观,交互方便。
    (2)注释详细:每个函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
    (3)程序的层次清晰,可读性强。
    (4)变量、函数命名符合规范。
    (5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
    3 开发环境
    开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题03:红楼梦人物分析系统

1 问题描述
《红楼梦》是中国古典四大名著之一,其中人物关系错综复杂、耐人寻味。本课题要求编写一个程序,实现对《红楼梦》中的主要人物进行分析,包括出场次数、人物的亲密度等等。
人物的亲密度可以通过计算在同一篇幅中共同出现的频率进行计算。
2 功能要求
要能提供以下几个基本功能:
(1)系统内小说主体和小说主要人物请自行从互联网上进行搜索下载,并保存在文本文件中,待分析人物由用户从键盘上输入;
(2)设计并实现系统的相关界面;
(3)分析数据时读取保存的文本文件进行分析;
(4)可以按照要求进行数据排序,包括:按出场次数从多到少排序、按篇幅跨度从大到小排序、按与其他人物的关系密度从高到低排序等等;
(5)可以根据用户输入单独查询某位主人公的分析结果;
(6)输入查询人物的分析结果,包括:出场次数、篇幅跨度、与其他人物的关系密度。
【选做要求】
(1)保存功能:能够将用户看到的结果按其需求保存到指定位置或覆盖已有文本文件。
(2)异常处理与读取功能:在读取默认位置的文件出错时,能够按用户选择读取新的小说文本文件,增加程序的健壮性。
【提示】
(1)因为小说中的人物存在别名,实现过程中可以用正则表达式来在文本中寻找。
(2)程序的总体框图如下:

图1红楼梦人物分析系统总体框图
(3)数据结构:
依据选定的小说主要人物,定义人物的结构体,设计内容如下:

struct Role{		//人物信息
	char ID[20];	//编号
	char name[20];	//姓名
	int times;		//出现次数
	int freq;		//账户频率
}

【其他要求】
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题04:计算24点游戏

1 问题描述
设计一个带有记分功能的24点游戏(简易版本,只使用1-10之间的数)。能够进行提供四个随机数进行出题,并判断能否算出24点,对读取玩家输入的表达式,并计算结果是否正确。
2 功能要求
代码要能提供以下几个基本功能。
(1) 设计相应的游戏积分功能,以给出题目到游戏者输入结果之间的时间记分。超过一定的时间未给出答案则取消该轮,每轮3次,记总分(3次分相加)前三名。
(2) 游戏参与者进入游戏必须先输入名称,游戏开始,程序随机自动生成四张牌(以1-10之间的数值代替),游戏者要求尽快给出表达式,只能使用 + - × % 运算。可以使用(),不涉及小数运算。比如机器给出四个数为3、3、6、2,游戏者输入表达式:(3+3-2)×6,程序检查运算成功,根据要求3计算时间。如果给出的四个数不能得出24,如:1、2、1、3,那么游戏者必须输入NO,要求计算机进入下一题,但此次如果是正确判断一样记分。如此玩3次,计算总分。任何一次在要求时间内不能给出表达式或NO,那么游戏此轮结束。
(3) 游戏使用出牌到要求给出结果之间的时间限制作为游戏的难度级别,可自行设置。
(4) 设计四个数能否计算得出24的算法是关键,(用于判断游戏者输入NO的判断是否正确,判断错误就结束此轮游戏)。
【选做要求】
设计游戏进入界面。提供游戏难度设置,高手总分查询和进入、退出游戏选项。

【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题05:个人帐本管理系统

1 问题描述
该系统要求实现一个简单、实用的个人帐本管理程序,主要功能包括帐务收支明细数据的录入、查找、修改、删除、统计、排序等。所有帐务数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。
2 功能要求
(1)程序中有合理的数据结构设计,如个人帐务数据是由帐务明细条目构成,其信息应包括:序号,日期(年、月、日),收支项名称,收支类型(收入/支出),收支金额(正/负数表示收支),备注等(可自行设计添加条目)。
(2)程序有完整的数据保存形式:
所有个人帐务数据要以文本或二进制文件保存。(随源程序提交)
(3)程序需以多文件形式设计,只有一个主程序的设计,只能评及格。
【具体说明】

  1. 有明确的多级菜单选择功能。
  2. 能够随时添加帐务明细数据。
  3. 查找帐务数据(可按日期(年、月、日)、名称、金额等查找)。
  4. 修改帐务明细条目(先查找,再修改。若查找出多个条目,则进一步提示用户选择条目的序号,再修改)。
  5. 删除帐务明细条目(请参考上面修改的处理)。
  6. 对帐务数据排序(可按日期、名称、金额等排序。要求排序后,记录的序号也要重新编排)。
  7. 显示当前所有帐务数据列表。
  8. 帐务统计(根据日期范围,可分别按年、月或日统计收、支、结余总金额,并显示)
  9. 保存帐务数据到文件中、从文件中读入帐务数据。
    界面功能要求:
  10. 采用友好的字符界面,实现一个功能控制菜单。
  11. 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
    3 开发环境
    开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题06:机房失物招领系统

1 问题描述
经常有一些丢三落四的同学,在不经意的时候会丢失物品。比如:在机房,每天做值日的同学都会发现有U盘、钥匙、书本等物品被落下,他们会将这些物品放在固定位置或交由工作人员保管,等待失主认领。然而,实际情况非常糟糕。有的同学丢了东西会自己回来找,有的同学丢了东西,连在哪里丢的都记不起来了,导致总有一些物品长期无人认领。请你设计一款合适的失物招领软件,帮助机房工作人员完成统计每天学生遗漏的物品和认领情况,并将一年以上无人认领的物品进行网络拍卖,将拍卖所得捐给希望工程。
2 功能要求
这款软件应该包括以下几个基本功能:
(1)用户密码验证。用户分为两类:工作人员(管理员,一名)和值日学生(多名)。注意两类用户的权限不同。管理员能完成值日学生的所有功能,反之则不可。值日学生之间的操作不可相互查看或操作。
(2)登记物品。丢失的物品,可由值日学生登记,也可由工作人员登记。如果是值日学生登记,需工作人员确认。
(3)信息保存。将登记的所有信息以文件形式保存,文件名为当天日期,如“2018-01-01.txt”。
(4)查询物品。可根据物品遗失具体地点、时间(日期区间)、物品种类(存储设备、书籍、文具等)、型号等相关信息查询相关物品及认领情况。
(5)排序。可按物品遗失时间、认领时间等对遗失物品进行排序。
(6)物品认领。当物品被认领后,留下认领人的相关信息,如学号、手机号码等。并将物品状态改为“已认领”。
【选做要求】
(1)每周进行整理统计记录,并将上一周的遗失物品的清单进行打印,便于张贴。
(2)物品拍卖。将1年以上无人认领的物品进行网络拍卖,请你将这些物品整理出来,并每月打印一次,为拍卖做好准备。
(3)如果有什么更好的、更合理功能,请自加。
【其他要求】
(1)界面美观,交互方便,实用性强。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题07:多媒体文件管理及检索系统

1 问题描述
建立一个多媒体文件信息管理系统,包括对各种多媒体音视频文件的管理。该系统具有排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作等。其中,多媒体文件信息应包括:音视频文件的文件名、文件类型、文件大小、导演、演员、浏览次数、发行日期、所获奖项等。
2 功能要求
代码要能提供以下几个基本功能。
(1) 要求进入系统需要输入口令验证。
(2) 按照文件类型分类,并可按照发行日期从近到显示文件信息。
(3) 实现加入新文件信息和删除无用文件信息的更新。
(4) 将所有多媒体文件信息存为文件。
(5) 按照导演或者主要演员查询对应的文件信息,并计算在某一年或某几年中,某一导演或演员参与的文件总数。
【选做要求】
(1) 可根据用户设定做出推荐,比如根据用户所需类别、文件类型和浏览次数等设定综合做出一定推荐。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题08:南邮图书馆管理系统

1 问题描述
该系统要求建立一个南邮图书馆管理系统,并具有排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
图书的信息应包括:索引号,名称,馆藏地址(三牌楼、仙林)、类别(人文、科技、外语等),数量,价格,入库日期,归还日期,借阅次数,借阅状态(可借、不可借)。
2 功能要求
代码要能提供以下几个基本功能。
(1)管理员(1名)通过用户名密码登录系统,修改密码前需输入旧密码
(1.1)对已图书信息进行更新操作,包括添加和删除一种书的信息、修改图书信息(例如图书被借阅,书的数目减1,借阅次数加1,如果数量为0则状态为不可借);
(1.2)通过按图书的名称、索引号、借阅次数、价格区间、入库时间区间、借阅状态、馆藏地址查询图书信息;
(1.3)显示所有即将到期的图书的信息(归还日期在三天之内),对用户发出还书提醒;
(1.4)按借阅次数、图书名称首字母、索引号、入库时间对所有图书进行排序;
(1.5)管理员可添加、删除、修改用户各项数据
(2)用户(多个)通过用户名密码登录系统,修改密码前需输入旧密码
(2.1)通过按图书的名称、索引号、借阅次数、价格区间、入库时间区间、借阅状态、馆藏地址查询图书信息;
(2.2)查到想借的图书后进行借阅操作
(2.3)在借图书按照剩余归还时间、图书名称首字母进行排序
(2.4)每人最多借阅8本
(2.5)若忘记密码,则对管理员发出申请
(3)将所有相关信息内容存为文件。
【选做要求】
(1)最大借阅数改为本科生最多借阅5本、研究生最多借阅10本
【其他要求】
(1)界面友好美观,交互方便;
(2)对用户的输入进行一定的正确性检查,使得输入信息符合逻辑与实际。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题09:泊车管理系统

1 问题描述
该系统要求对一个文件中所存储的汽车数据进行各种常规操作,如:查找、计费、显示等功能。通过此课题,熟练掌握文件、数组的各种操作,以及一些算法思想的应用,实现一个简单的泊车管理系统。
2 功能要求
(1)管理人员根据口令进入系统;
(2)管理车位信息(车位编号,状态)和每小时的收费费率(大车7元/小时,小车5元/小时,由停车时选择录入);
(3)停车时,建立对象,录入汽车停泊信息(车牌号,停泊位置,停泊开始时间);停车位为第一个为空的位置,由程序查询自动给出车位号,如果车位已满要给出提示;
(4)取车时,需要根据车辆停泊时间自动计算费用(半小时内以半价计算,超出半小时按一小时计算)并显示在屏幕上。
(5)可以随时根据车牌查询是否入库。
(6)可以随时根据车位查询该位置上的相关信息。
(7)程序中用到的时间通过提取系统时间获得。
(8)泊车信息用文件保存。
【具体说明】

  1. 数据结构:
    用类实现, 类类型的结构:
    class P:
    数据成员
    车牌号 字符串 char no[9]
    车位号 int pos
    收费费率 double fee
    成员函数自行定义;
    对象成员:
class Time
int hour;
int minute;
}

成员函数自行定义;
2. 通过查询数组int position[100]中的信息确定车位状态。
函数原型清单:(建议,也可以用其它的参数或函数名)
1 构造函数,析构函数
2 泊车操作 void putcar()
3 取车操作 void takecar( )
4 查询车牌信息 int search_no()
5 查询位置信息 int searc_pos()
6 其它各成员函数
3 开发环境
VC++6.0,鼓励采用MFC等开发工具,实现彩色或图形操作界面,可以根据自己的体验增加相关功能模块。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题10:小区物业管理系统

1 问题描述
该系统要求建立某小区物业管理系统,并具有排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
开发环境:采用C或C++实现,VC++6.0、Windows98/XP
2 功能要求
(1)物业管理信息应包括:
小区资料(小区名称,楼宇总数等),房型资料(房型编号、房型、建筑面积等),住户资料(住户编号、住户姓名、联系电话、联系地址、预付金额、欠费金额等),住户报修管理,住户投诉管理,住户停车车位管理(车位编号,住户信息等),住户物业收费管理(收费名称、收费金额、收费单位、收费周期等)等。
(2)需要实现的功能

  1. 用户需要输入口令进入物业管理系统
  2. 实现物业管理信息的建立
  3. 计算小区的房型种类,查询住户的欠费状况
  4. 显示住户投诉报表和住户报修报表
  5. 按照欠费金额进行排序,显示用户相关信息
  6. 查找住户的车位信息
  7. 将小区的所有相关信息内容存为文件。

【其他要求】
1) 界面友好,输入信息符合逻辑:如收费周期应至少以月为单位;
2) 能从实践生活出发,设计合理的功能模块;
3) 各类信息的数据结构明晰;
4) 可根据自身生活体验添加相关功能模块。

3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题11:模拟电影院售票系统

1 问题描述
已知某电影院有5个放映厅,请模拟实现电影放映排片和观众购票。系统要求对文件中所存储的票务信息进行各种常规操作,如:查询、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
2 功能要求
(1) 角色:系统设置管理员和普通观众
(2) 管理员功能如下
A. 根据密码登录,对每个放映厅进行第二天的排片工作。
B. 统计某部电影当天的票款。
C. 对当天的票房进行排序。
(3) 用户的功能:
A. 注册,
B. 以密码登录后,可以浏览排片信息
C. 查看每个放映厅的售票情况,如:

□□□□□□□□□□
□□□□□□□□□□
    □□□●●□□□
    □□□●●●□□
□□□□□●●●       
符号含义:●已售出  □待售

选座购票:售出的位置变更符号。
售票和退票:合理进行售票和退票,自动更新余票数量;
(4)提供菜单选择项,如角色选择、时间选择、功能选择等。
【选做要求】
(1)对用户的输入进行一定的正确性检查。
(2)用户可以查看历史购票记录。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题12:小学20以内正整数加减运算

1 问题描述
设计并实现“小学20以内整数加减运算”系统,程序要求如下:
(1)随机出10道题,这10道题目不能重复。
(2)这些题目,可以选择以下两种方式中的一种给出:
a.选择题,要求随机生成4个选项,正确答案包含其中;
b.填空题,可以让用户从键盘输入答案。
(3)用户每次答题,能根据答案计算是否得分,并计入总分。
(4)答题完毕,系统给出总用时。
(5)根据答题情况,能将用户的错误作答题目及答案保存,可以提供用户查看错题功能
2 功能要求
代码要能提供以下几个基本功能。
(1)提供菜单选项,让用户登录,答题。
(2)提供菜单选项,让用户选择
a. 10以内运算,可选加法、减法、三个数加减混合(题目和结果的数值范围为[0,10]);
b. 20以内运算,可选不进位加法、进位加法、不退位减法、退位减法、三个数加减混合(题目和结果的数值范围为[0,20]);
(3)提供菜单选项,让用户查阅答题情况,答题期间不能查阅。
(4)提供菜单选项,错题再答,如果错题答对了,应从错题集中删除。
(5)提供菜单选项,可以选择生成题目到文本文件,同时生成所对应的答案到相应的文本文件,以便线下测试。
【选做要求】
(1)在运算中添加括号,比如5-(15-13),系统也能正确算出答案。
(2)在菜单选项中,增加帮助功能,提供系统使用说明,模拟答题功能。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题13:手机通讯录

1 问题描述
用C/C++设计出模拟手机通信系统,能实现对手机中的通信录进行添加、修改、查询等功能。
2 功能要求
(1) 用C/C++设计出模拟手机通信录系统,实现对手机中的通信录进行管理。
(2) 将通讯录用文件存储,人员信息包括:姓名、手机号码、家庭电话号码、办公电话、电子邮件、分组 。
(3) 其中:手机号码、家庭电话号码、办公电话不能同时为空;分组说明: 未知、同事、亲戚、朋友、家人、同学等还可以自己创建分组
(4) 文件类型可以是文本文件或二进制文件。
(5) 用C/C++设计出模拟手机通信录系统,实现对手机中的通信录进行管理。
(6) 将通讯录用文件存储,人员信息包括:姓名、手机号码、家庭电话号码、办公电话、电子邮件、分组 。
(7) 其中:手机号码、家庭电话号码、办公电话不能同时为空;分组说明: 未知、同事、亲戚、朋友、家人、同学等还可以自己创建分组
(8) 文件类型可以是文本文件或二进制文件。
【具体说明】
(1)首先向客户展示一个欢迎界面,并提醒客户输入任意键进入主菜单,在菜单中客户进行操作选择,而且客户操作完后还可以根据需求进行返回主菜单进行其他操作。
(2)增加功能:能录入新人员记录。
(3)查看功能:选择此功能时,当选中某类时,显示出此类所有数据中的姓名和电话号码。
(4)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字。
(5)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。
(6)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
(7)查找功能:按姓名或按电话号码查找某人信息。
(8)保存功能:将当前系统中各类记录存入文件中。
(9)退出系统
【选做要求】
(1)增加功能:当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;默认分组“未知”。
(2)查找功能:模糊查找,如输入一个“李”,则列出所有姓李的信息。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
VC++6.0,鼓励采用MFC等开发工具,实现彩色或图形操作界面,可以根据自己的体验增加相关功能模块。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题14:基于朋友圈的商品推荐

1 问题描述
模拟基于朋友圈的商品推荐,可以用于任何电商,如淘宝、京东等。
假设目前用户有 100 人,每人均有自己的朋友圈,且购买过若干商品(50 种)。实现基于朋友圈的商品推荐,要求根据朋友们购买过的商品,为用户推荐其可能感兴趣的商品。
2 功能要求
具有用户和商品添加、删除、查找和排序,以及商品推荐等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
(1)管理信息应包括:
用户信息(用户名、密码、朋友圈、所购商品等)、商品信息(商品名和购买次数等)和朋友圈。
(2)需要实现的功能:
用户输入用户名和密码完成注册和登录;
实现相关信息的建立,包括录入、修改和删除;
对用户和商品进行查询;
对商品进行排序;
根据朋友购买的信息,为用户推荐商品;
将所有相关信息内容存为文件。
(3)推荐算法:统计朋友们购买的所有商品,累加每种商品的数量并排序。当然,如果有其他你认为更优的方法更好!
可以建立二维数组保存用户与用户朋友圈信息,以及用户与商品之间购买信息。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

程序设计题15:ATM仿真软件

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

【其他要求】
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111