C/C++程序设计选题(南邮26题)[2024-04-09]
*程序设计方法
(1)根据食堂自动化数据管理要求,设计合适的数据结构(如结构数组、链表、对象数组等实现)。
(2)选择文件存储格式(文本或二进制)和文件名。
(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序的流程图和界面。
(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
(5)根据设计结果分步开发实现各模块,最后进行总体集成。
源码联系UP主 -> https://space.bilibili.com/329101171
程序设计题目1:手机通信录
1 问题描述
用C/C++设计出模拟手机通信系统,能实现对手机中的通信录进行添加、修改、查询等功能。基本要求如下:
(1) 用C/C++设计出模拟手机通信录系统,实现对手机中的通信录进行管理。
(2) 将通讯录用文件存储,人员信息包括:姓名、手机号码、家庭电话号码、办公电话、电子邮件、分组 。
(3) 其中:手机号码、家庭电话号码、办公电话不能同时为空;分组说明: 未知、同事、亲戚、朋友、家人、同学等还可以自己创建分组
(4) 文件类型可以是文本文件或二进制文件。
2 功能要求
(1) 首先向客户展示一个欢迎界面,并提醒客户输入任意键进入主菜单,在菜单中客户进行操作选择,而且客户操作完后还可以根据需求进行返回主菜单进行其他操作。
(2)增加功能:
能录入新人员记录。
(3)查看功能:
选择此功能时,当选中某类时,显示出此类所有数据中的姓名和电话号码。
(4)拔号功能:
能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字。
(5)修改功能:
选中某个人的姓名时,可对此人的相应数据进行修改。
(6)删除功能:
选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
(7)查找功能:
按姓名或按电话号码查找某人信息。
(8)保存功能:
将当前系统中各类记录存入文件中。
(9)退出系统
【选做要求】
(1)增加功能:当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;默认分组“未知”。
(2)查找功能:模糊查找,如输入一个“李”,则列出所有姓李的信息。
(3)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
VC++6.0,鼓励采用MFC等开发工具,实现彩色或图形操作界面,可以根据自己的体验增加相关功能模块。
程序设计题2:上网计费系统模拟
1 问题描述
本程序模拟根据上网清单、客户资料等生成客户上网账单的过程,该系统主要功能包括促销信息、待购信息的新增、删除、修改、查找等。所有数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
要求编写一个程序,实现对上网费用的计算。
2 功能要求
代码要能提供以下几个基本功能。
(1)文件管理和存储
1)用户资料文件,存放了用户名、用户帐号以及计费方式。格式如下:
Zhang Qiang 0001 0
Liu Hui 0002 2
Ke Lei 0003 4
其中,计费方式的含义如下:
0 无任何优惠活动,按每分钟 0.03元计算。
1 每月 50元包 30个小时,如上网时长在 30小时之内(含 30小时),应缴 50元,超过部分按每分钟 0.03元计算。
2 每月 95元包 60个小时,如上网时长在 60小时之内(含 60小时),应缴 95元,超过部分按每分钟 0.03元计算。
3 每月 200元包 150个小时,如上网时长在 150小时之内(含 150小时),应缴 200元,超过部分按每分钟 0.03元计算。
4 整包,每月缴 300元,上网时长不限。
2)上网记录文件,存放了所有用户的上网记录,内容包括用户帐号、上网起始时间和上网终止时间(格式:年月日小时分钟秒)。通常每个用户应有多条上网记录。该文件的格式如下:
0003 20151201170000 20151201193024
0001 20151202190006 20151202210000
0003 20151222211343 20151223012558
(2)功能要求
1)用户资料文件由程序设计人员预先从键盘上录入,用户资料文件中的数据记录不得少于 15条。
2)上网记录文件中的数据记录不得少于 150条,首先录入一些上网记录信息,必须有跨年、跨月份的上网记录。
3)用户资料文件及上网记录文件中的数据可随时增加或减少,程序不应进行限制或限定。
4)对上网费用进行计算。首先由操作人员输入年份和月,然后由程序计算该月份所有用户的上网费用并输出账单信息到指定文件夹,格式如下:
0001 Zhang Qiang 0 xxxx xxxxx
0002。。
计费时,对于每条上网记录,不足一分钟按一分钟计算。对于跨年或跨月份的记录,只计算发生在当月的费用。例如对于 2016年 1月 31日 15:00:00至 2016年 2月 1日 01:00:00的上网记录,在计算 2016年 1月的上网费时,仅计算 2016年 1月 31日 15:00:00至 2016年 2月 1日 00:00:00的费用;在计算 2016年 2月的上网费时,仅计算 2016年 2月 1日 00:00:00至 2016年 2月 1日 01:00:00的费用。处理时须考虑闰年的情况。
选做要求:
(1)随机生成一批上网记录信息,并判断是否正确,不正确的信息剔除。
(2)设计用户可能需要的报表,或者建议该系统中还需要采集哪些信息,以便更好的提供用户需要的信息。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题3:背单词
1 问题描述
“背单词—个性化背词”是背诵英语单词的软件。用户可以根据自己的需求导入需背诵的词库,并可以编辑自己的词库。背单词时有两种模式供选择:系统可以给出中文提示,用户输入对应的单词,也可输出单词让用户输入中文意思。系统判定词义是否正确。如果正确成绩加十分,如果不正确给出提示并要求用户重新输入。
2 功能要求
代码要能提供以下几个基本功能。
(1)用户登录:
·新用户可以注册,旧用户直接登录。
·可以只打卡不背词,直接退出界面。
(2)单词本:
·存储单词基本信息,英文、词性、中文解释等。
·选择词库维护编辑单词本信息,实现增加、修改、删除、补充(单词已有,补充新的释义)的功能。
(3)单词背诵及成绩统计:
·选择单词预览进行单词学习。
·单词背诵时有两种模式选择,选择题背诵及拼写单词背诵,而且支持多次背诵。
·答对加十分,答错扣十分,错词计入错题本。
·可查阅自己的总成绩,未达过关成绩可以选择错题重背直至完全掌握。
(4)单词复习:
·背诵完全正确时界面显示没有错题继续努力。
·有错题时可以选择错题重背加强记忆。
(5)退出系统时可以进行打卡,统计背诵单词天数。
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)能统计每一个单词出现频率及背诵正确率,供以后出题时提供依据。
(3)能设置提醒功能,激励大家坚持下去。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题4:神气的盒子
1 问题描述
手机等电子设备在使用过程中发出的信号可能干挠飞机驾驶舱与地面的正常通信,使飞机处于错误操作状态,严重影响飞行安全。《中华人民共和国民用航空法》也明文规定限制飞机上使用手机。2013年10月,美国联邦航空管理局发文,允许在飞机上使用“飞行模式”的个人电子设备,随后,很多国家也逐步开放在飞机上使用手机这一限制。
然而,实际情况可能更复杂。很多手机质量堪忧,即使设置成“飞行模式”也可能失效,对飞机飞行造成巨大的安全隐患。针对这一特殊情况,某航班进行大胆革新,制作了一批“神奇的盒子”。在乘客在乘坐飞机时,由该航班的乘务人员发给每个乘客,供乘客放置手机等电子产品。这些盒子上都有编号,只要将手机放进去,无论什么状态都能自动转为“安全飞行模式”,既能正常使用,也能保证飞行的安排。飞机着陆后,乘务人员将回收这些盒子。
请你设计一款方便乘务人员管理这些“神气的盒子”的软件,并对这一服务展开客户满意度调查,为航空公司进一步改善服务提供依据。
2 功能要求
这款软件应该包括以下几个基本功能:
(1)乘务人员的工号和密码验证。完成盒子发放和发回的工作可能由同一个或者不同的乘务人员完成,也可能出现中途换岗。不管哪位乘务员完成都要对自己的工作负责,因此在使用该软件时需要输入他(她)的工号以及密码。
(2)盒子发放。乘务人员在发放盒子的过程中,需要登记乘客的姓名、有效证件、登机牌,出发地和目的地,手机机型及手机号码,备用联系方式,以及盒子的编号等信息。可以考虑登机牌已经包含了乘客身份的有效信息。另外,乘客的“备用联系方式”必须要填写;身份证号码等信息输入有明显错误也应给出提示。
(3)信息保存。将登记的所有信息以文件形式保存。
(4)回收盒子。飞机着陆时,乘客可以将手机等电子设备取出,将空的盒子直接还给乘务员,也可以放在自己的位置上离开,由乘务人员来回收,乘务人员收到盒子需确认“已归还”。所有的信息也必须保存到文件中。
(5)找寻遗失手机的乘客。如果发生手机未取出就离开的乘客,乘务人员能根据盒子的号码找到该乘客的备用联系方式,以取得联系。
(6)满意度调查。针对某航班这一服务,对乘客进行满意度调查。在乘客离开时按键,满意为1,不满意为2,不表态为0。请统计乘客的满意度。
选做要求:
(1)如果乘客有什么其他意见和建议,请记录下来或由乘客填写,以便在以后的工作总结会议上进行总体展示。
(2)参加满意度调查的乘客,可参加抽奖活动。请设计一个抽奖过程,以手机号码为准。
(3)如果有什么更好的、更合理功能,请自加。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便,实用性强。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题5:移动用户管理系统
1 问题描述
要该系统要求实现一个简单、实用的移动用户管理程序,主要功能包括移动用户数据的增加、删除、修改、查找、输出、排序、添加/注销手机号等。所有数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。
2 功能要求
代码要能提供以下几个基本功能。
(1)移动用户数据是由多条记录构成,其信息包括:
用户名,性别,年龄,身份证号码,手机号,职业,家庭住址等。
(2)数据保存形式:
所有图书数据要以文本或二进制文件保存。
(3)需要实现的功能
- 新增移动用户数据记录。
- 查找移动用户(可按用户名身份证号码,手机号等查找)。
- 增加/注销手机号码(可以让用户添加新的手机号或注销删除不用的手机号)。
- 修改移动用户(可修改除手机号外的其它信息项。要先查找,再修改。若当前条件查找出多个记录,则提示用户增加查询条件继续查找,直到确定唯一用户后再修改)。
- 删除移动用户数据(请参考上面修改的处理,先查找再删除)。
- 显示当前所有数据列表,并能按要求(如:用户名,年龄,身份证号码等)排序。
- 保存移动用户数据到文件中、从文件中读入移动用户数据到程序中。
(4)界面功能要求: - 采用友好的字符界面,实现一个功能控制菜单。
每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
选做要求:
(1)数据完整性保证。例如:身份证号码、手机号都要保证唯一。一个手机号只能给一个用户使用。
(2)支持一个用户拥有多个手机号功能。
(3)删除移动用户数据时,必须先注销该用户的所有手机号,才能删除用户数据。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0,DEV_C++等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题6:小学100以内正整数加减运算
1 问题描述
设计并实现“小学100以内整数加减运算”系统,程序要求如下:
(1)随机出10道题,这10道题目不能重复,如果是减法运算,要求被减数大于减数。
(2)这些题目,可以选择以下两种方式中的一种给出:
a.选择题,要求随机生成4个选项,正确答案包含其中;
b.填空题,可以让用户从键盘输入答案。
(3)用户每次答题,能根据答案计算是否得分,并计入总分。
(4)答题完毕,系统给出总用时。
(5)根据答题情况,能将用户的错误作答题目及答案保存,可以提供用户查看错题功能
2 功能要求
代码要能提供以下几个基本功能。
(1)提供菜单选项,让用户登录,答题。
(2)提供菜单选项,让用户查阅答题情况,答题期间不能查阅。
(3)提供菜单选项,错题再答,如果错题答对了,应从错题集中删除。
(4)提供菜单选项,可以选择生成题目到文本文件,同时生成所对应的答案到相应的文本文件,以便线下测试。
选做要求:
(1)在运算中添加括号,比如5-(95-93),系统也能正确算出答案。
(2)在菜单选项中,增加帮助功能,提供系统使用说明,模拟答题功能。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题7:双11抢宝计划
1 问题描述
随着双11的到来,电商纷纷展开促销活动,活动形式五花八门,时间节点也各不相同,本程序用以管理个人在抢购时关注的促销信息,并给予相应的提醒,以便及时下手。该系统主要功能包括促销信息、待购信息的新增、删除、修改、查找等。所有数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 功能要求
代码要能提供以下几个基本功能:
(1)促销管理
1)录入:录入促销信息,退出程序时要存储到文件中。录入格式内容自行设计。至少包括:商品类型、商品名称、商品细节、原价、促销活动、促销时间、促销商家。
2)查询:根据商家、商品名称查询促销信息
(2)购物管理
1)录入:录入待购的商品名称,退出时存储到文件中。录入格式自行内容设计。
2)查询:提供必要的查询功能
(3)抢宝日程
根据购物计划匹配出相应的促销信息,选取心仪的设置提醒功能
1)显示:显示当天可以进行的抢宝行动
2)提醒:设置提醒时间,如促销开始前n分钟给出提醒
(4)界面功能要求:
- 采用友好的字符界面,实现一个功能控制菜单。
- 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
选做要求:
(1)增加预算和费用管理。
(2)同类商品不同促销的比价。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题8:信息产业发展统计
1 问题描述
该系统要求实现一个简单、实用的信息产业发展统计程序,主要功能包括信息产业发展数据的新增、删除、修改、查找、统计输出等。所有统计数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 功能要求
代码要能提供以下几个基本功能。
(1)信息产业发展数据是由多条数据记录构成,其信息包括:
地区、年份、指标名称、计量单位、指标数量等。其中,地区包括:全国34个省、直辖市、自治区和港澳台;指标名称包括:固定电话用户数、移动电话用户数、互联网用户数、通信固定资产投入、通信业收入、信息服务收入、信息产品收入等。
(2)数据保存形式:
所有信息产业发展数据要以文本或二进制文件保存。
(3)需要实现的功能
- 新增信息产业发展数据条目。
- 查找数据(可按地区、年份、指标名称等查找)。
- 修改数据条目(先查找,再修改。若当前条件查找出多个记录,则提示用户增加查询条件继续查找,直到确定唯一记录后再修改)。
- 删除数据条目(请参考上面修改的处理)。
- 显示信息产业发展数据列表。
- 数据统计(可按地区、年份、指标名称等生成各种统计报表)。
- 保存数据到文件中、从文件中读入数据。
(4)界面功能要求: - 采用友好的字符界面,实现一个功能控制菜单。
- 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
选做要求:
(1)数据完整性保证。例如:地区和指标名称必须严格、规范。
(2)指标名称的维护和扩展功能,让用户可以添加新的指标名称。
(3)支持多地区、跨年份、多指标综合统计能力,要求报表格式灵活、形式多样、内容清楚,具体请学生自己构思、设计。
(4)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题9:挖地雷
1 问题描述
你玩过扫雷游戏吧?Windows操作系统中带了这个小游戏。在游戏中要想过关,就必须要在一个 NxM 的区域上找出所有的地雷。游戏过程中,计算机会在地图上显示一些数字从而帮助你确定哪里有地雷。例如,在下面这个有两颗地雷的 4x4 的地图(*表示地雷):
…
…
.…
…
根据上面的地图,可以计算出应该提供给游戏者的数字如下所示:
100
2210
110
1110
每个数字表示了该方格周围到底有几个地雷,当然,一个方格周围最多的时候只会有八个。
2 功能要求
代码要能提供以下几个基本功能。
(1)定义一个矩阵,随机产生地雷的分布并由此产生提供给游戏者的数字信息。
(2)定义成绩排行榜,记录前五名的用户名及时间。
(3)提供菜单功能,定义不同等级的地雷地图供选择。
(4)游戏者通过坐标(如1(1,2)、0(3,4)判定第一行第二列位置为地雷,第3行第四列不是地雷)判定是否为地雷,标记地雷位置正确,则正确位置显示@符号,如触碰地雷,游戏结束,没有触碰地雷,显示该坐标位置周边地雷分布情况,如果周边有地雷不显示。
(5)成绩排行榜以文件形式保存。
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。
(3)设计一个功能选项“AI玩家”。当选中此功能后,用电脑模拟用户来玩猜数字游戏,并将整个游戏的过程输出至屏幕或文本文件。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题10:排班系统
1 问题描述
某单位有7名保安人员,要求每个人在一星期中可以休息一天。每名保安可以自行选择自己想要的休息日,而对于休息日的选择既可以是某一天,也可以是某几天中的其中一天。当7名保安依次输入自己想要的休息日后,系统将会给出可能的轮休安排。若系统给出的轮休安排是0种,证明系统对7名保安的选择无法作出轮休排班,需要重新输入。
要求打印轮休的所有可能方案。当然使每个人都满意,例如每人可以选择的休息日如下:
赵:星期二、星期四
钱:星期一、星期六
孙:星期三、星期日
李:星期五
周:星期一、星期四、星期六
吴:星期二、星期五
陈:星期三、星期六、星期日
运行结果:
轮休表: 1
赵 钱 孙 李 周 吴 陈
星期四 星期一 星期三 星期五 星期六 星期二 星期日
轮休表: 2
赵 钱 孙 李 周 吴 陈
星期四 星期一 星期日 星期五 星期六 星期二 星期三
轮休表: 3
赵 钱 孙 李 周 吴 陈
星期四 星期六 星期三 星期五 星期一 星期二 星期日
轮休表: 4
赵 钱 孙 李 周 吴 陈
星期四 星期六 星期日 星期五 星期一 星期二 星期三
2 功能要求
代码要能提供以下几个基本功能。
(2)用户登录:
·新用户可以注册,旧用户直接登录。
(2)排班表:
·实现选择并存储排班表到排班表文件中。
·维护排班表文件基本信息,实现增加、修改、查询、删除排班表记录的功能。
·由于排班表的特殊性,注意增加、修改、删除时备注操作时间和操作人员信息。
·在系统无法排班时,判断周几没有值班人员。
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)增设特殊情况原因显示,例如:看病>办证>旅游 。
(3)可增设当天值班保安的工号、电话、地址等信息的显示。
(4)输入某位保安人员的名字,查询最近四周哪些天工作,哪几天休息。
(5)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题11:模拟电影院售票系统
1 问题描述
已知某电影院有5个放映厅,请模拟实现电影放映排片和观众购票。系统要求对文件中所存储的票务信息进行各种常规操作,如:查询、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
2 功能要求
(1) 角色:系统设置管理员和普通观众
(2) 管理员功能如下
A. 根据密码登录,对每个放映厅进行第二天的排片工作。
B. 统计某部电影当天的票款。
C. 对当天的票房进行排序。
(3) 用户的功能:
A. 注册
B. 以密码登录后,可以浏览排片信息
C. 查看每个放映厅的售票情况,如:
□□□□□□□□□□
□□□□□□□□□□
□□□●●□□□
□□□●●●□□
□□□□□●●● ●已售出 □待售
选座购票,售出的位置变更图案。
售票和退票:合理进行售票和退票,自动更新余票数量;
(4)提供菜单选择项,如角色选择、时间选择、功能选择等
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)用户可以查看历史购票记录。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题12:智能实验室预约系统
1 问题描述
为提高实验室利用率,开通实验室预约使用模式,实验室有40台电脑,每天开放时间为8:00-17:00,预约时间以 1个小时为单位,请设计一个预约系统。
2 功能要求
代码要能提供以下几个基本功能。
(1) 设计两个角色:管理员和学生。
管理员:维护电脑状态,比如标记故障电脑,以!标记
查询实验室使用情况:比如当前实验人数,正在做实验的学生信息等等
查询学生信息
统计一天实验室使用情况保存在文件count.txt中:
学生: 查询实验室预约情况
预约时间
取消预约
报告电脑故障,保存在文件error.txt中,供管理员维护;
(2) 管理员和学生需要先注册用户,再使用密码登录;
管理员数据结构:
struct admin:
{
char name[10]; //姓名
char password[10]; // 密码
char ID[5] ; //工号
。。。
}
学生数据结构:
struct student:
{
char name[10]; //姓名
char password[10]; // 密码
char ID[5] ; //学号
int time; //累计时间
。。。
}
(3) 满足选座位的要求,根据实验室电脑使用信息,显示实时座位使用情况表,供学生选择,实验室座位图如下:
** ** ** **
** ** !* **
*# ** *# **
** ** ## **
** ** ## ##
空座位以*表示,被选择的座位以。#符()号标记,!标记为故障电脑;可以自行设计座位图和座位编号 。
(4) 实验室电脑信息数据结构
struct lab
{ int No; //编号
char name[10]; //姓名
char number[10]; //学号
int eight; //时间段状态,下同
int nine;
int ten;
int eleven;
int twelve;
int thirteen;
int fourteen;
int fifteen;
int sixteen;
}
(4)提供菜单选择项,如角色选择、时间选择、功能选择等
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)管理员统计一周实验室使用情况。
(3)学生查看实验累计时间。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便,提供菜单选择。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0,DEV_C++等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题13:ATM仿真软件
1 系统的基本功能
ATM的管理系统是银行流程业务中,十分重要且必备的环节之一。在银行业务流程中,有着承上启下、起承转合的作用。本课题可以帮助人们更加熟悉ATM的各类操作,从而方便生活中的使用。其基本功能如下:密码验证机制;吞锁卡机制;存取款功能;账户查询功能;转账功能等。
2 要求及提示
2.1 基本要求
要能提供以下几个基本功能:
(1)系统内的相关信息文件由程序设计人员预先从键盘上录入,文件中的数据记录不得少于20条;
(2)设计并实现系统的相关界面,使用分级菜单提高人机交互性;
(3)登录系统必须输入正确的卡号和密码,输入错误时提示用户,连续输入错误3次则显示锁卡,用户登录后可以修改自己的密码;
(4)取款功能:输入取款金额,核对。若超出账户余额,则输出“余额不足”则,输出对应金额的现金,并提示用户是否打印回单,退卡,返回界面;
(5)存款功能:存入现金,核对金额,存入账户,提示用户是否打印回单,返回主界面;
(6)查询账户信息,包括用户名、余额信息,以及各种操作的历史记录;
(7)转账模块,提示用户输入正确的账号,检查转账条件是否满足,并完成转账操作;
(8)退出终端系统,提示用户保存好银行卡。
2.2 选做要求
(1)在查询界面中提供以下功能:利用账户的历史余额数据,进行账户余额的预测分析。
(2)使用MFC 等开发工具,实现彩色或图形操作界面。
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 开发环境
开发工具可以选择VC++ 6.0或者Dev C++等C++开发工具。
程序设计题14:南邮图书馆管理系统
1 问题描述
该系统要求建立一个南邮图书馆管理系统,并具有排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
图书的信息应包括:索引号,名称,馆藏地址(三牌楼、仙林)、类别(人文、科技、外语等),数量,价格,入库日期,归还日期,借阅次数,借阅状态(可借、不可借)。
2 功能要求
代码要能提供以下几个基本功能。
(1)对已图书信息进行更新操作,包括添加和删除一种书的信息、修改图书信息(例如图书被借阅,书的数目减1,借阅次数加1,如果数量为0则状态为不可借);
(2)通过按图书的名称查询图书信息;
(3)显示所有即将到期的图书(归还日期在三天之内);
(4)按借阅次数对所有图书进行排序;
(5)将图书的所有相关信息内容存为文件。
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。
(3)设计一个功能选项“AI玩家”。当选中此功能后,用电脑模拟用户来玩猜数字游戏,并将整个游戏的过程输出至屏幕或文本文件。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题15:食堂自动化管理系统
1 问题描述
编写一份简化的食堂自动化管理系统,实现学生就餐卡管理和菜品管理以及消费记录统计等相关功能。所有数据包括学生就餐卡信息,菜品信息等都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 功能要求
(1)学生就餐卡和菜品数据是由多条数据记录构成,其信息包括:
学生就餐卡:卡号,姓名,余额,状态(正常和挂失。)
食堂菜品数据:编号 名称 金额 消费次数
(2)数据保存形式:
所有就餐卡信息,菜品信息数据要以文本或二进制文件保存。
(3)需要实现的功能
代码要能提供以下两个基本模块。
管理员模块:
管理员以密码登录系统,可以完成以下功能
A. 注册学生就餐卡
B.就餐卡的充值挂失模块
C.食堂菜单管理功能,包括对菜单的增删修改查等功能。
D.统计功能:统计菜品销售情况(销售排行),以及学生卡的使用情况(选做)
学生模块
以就餐卡号登录系统(说明:卡处于挂失,则拒绝登录。)
可以查询卡中余额。
可以查询本卡的消费记录(选做)
可以浏览菜品并按照金额购买
(4)界面功能要求:
- 采用友好的字符界面,实现一个功能控制菜单。
- 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
选做要求:
(1)数据完整性保证。例如:就餐卡号和菜单编号不得重复。
(2)学生每次消费可以自动生成消费记录(卡号,购买时间,购买菜品编号,购买金额)。
该消费记录表永久保存,用于事后查询和统计。具体请学生自己构思、设计。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题16:公交路线自动化选择系统实现
1 问题描述
要求编写一个程序,实现公交路线的自动化选择。要求如下:
(1)预先设置若干条公交路线。
(2)根据用户输入起点和终点自动给出相应的路线,可以有几种选择,例如站数最少的,换乘最少的等。
(3)如果输入的起点和终点无法匹配到相应的公交路线,要给出相应的提示。
2 功能要求
代码要能提供以下几个基本功能。
(1)提供菜单选项,实现线路查询功能,即输入任意两个站点,点击查询按钮,反馈结果为这两个公交站点之间的所有可达线路。
(2)提供菜单选项,让用户进入系统,根据选择完成路线管理,修改,更新,并且已经录入的路线要保存到文件,无需重复录入。
(3)提供菜单选项,实现车次查询功能,即输入任一需要查询的公交线路(如D1),点击查询按钮,反馈结果为这条公交线路的起点到终点之间的所有公交站点。
选做要求:
(1)对用户的属性可以进行区分,分为普通用户和管理员,分别进入不同的界面。
(2)线路查询时如果没有直达路线就显示最优换乘路线。
(3)路线录入时增加每个站点之间的预估时间,在路线选择的同时给出相应路线的预估时间,包括提示首末班车时间。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题17:驾驶员理论课程模拟考试与学习系统
1 问题描述
要求编写一个程序,模拟驾驶员科目一的考试,要求具有良好的操作界面。管理员负责试题库的管理(编辑、删除、增加等)工作;随机生成考试试题;考试完后能给出评分;具有交通知识查询和学习功能。
2 功能要求
代码要能提供以下几个基本功能。
(1)提供管理员和用户菜单选项,分别进入不同权限界面;
(2)进入管理员界面需要密码验证,管理员界面负责试题库的管理(修改、查询、删除、增加)以及考试成绩的统计等;
(3)进入用户界面需要输入用户ID,界面菜单选项具有交通知识的查询、学习和测验等功能;
(4)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(4)
(5)试题录入:可随时增加试题到试题库中(4)
(6)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)
(7)答题:用户可实现输入自己的答案(4)
(8)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
选做要求:
(1)自拟具有创新性的功能。
(2)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强;注意试题的数据结构。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题18:药房销售系统
1 问题描述
该系统要求实现一个简单、实用的药房销售程序,主要功能包括对药品的分类管理,查找,模拟销售,管理库存等。药品相关数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法的应用。
2 功能要求
代码应满足以下几个方面的要求。
(1)药品数据是由多条数据记录构成,其信息包括:药品名称、分类、生产日期、库存量、累计销售量等。
(2)数据保存形式:所有药品数据要以文本或二进制文件保存。
(3)需要实现的功能要求
- 新增药品条目。
- 查询药品库存、销售量(可按药品名称,功能分类等查找)。
- 修改药品条目。
- 删除药品条目。
- 显示临期药品。
- 生成销售统计。
7)模拟销售(如库存不足需有提示) - 保存数据到文件中、从文件中读入数据。
(4)用户界面要求 - 采用友好的字符界面,实现一个功能控制菜单。
- 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
选做要求:
(1)数据多样性,相对正确性。例如:功能和药品名称必须大致符合常规。
(2)销售统计报表形式可多样化,具有一定的实际参考价值。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题19:模拟校园卡
1 问题描述
同学们都在机房做实验或自由上机,请根据自己实际使用情况编写一份模拟校园卡消费记录查询 系统 ,实现登录,计费,挂失,统计等相关功能。
2 功能要求
主要功能模块:
(1) 登录模块:同学根据自己设定的密码登录。三次错误则冻结账户。
(2) 管理员:
管理员以密码登录系统,提供以下功能:充值、挂失、重置学生密码
(3)学生
登录系统后,可以查询卡中余额,上机时间和地点。
可以统计自己上机时间,上机费用等;
参考的数据结构:
struct card
{ char ID[10];//卡号
char name[10];//姓名
char number[10];//学号
double recharge;//充值数额
double remain;//余额
int state; //状态 ,正常、挂失、冻结
。。。。
}
(4)每个学生 对应一个文本文件B17010101.txt存放上机记录
struct record
{ char ID[10];//卡号
char Date;//上机日期
char start_time;//开始时间
int duration;//上机用时
char state; //状态 ,是否上机中
char address[10];//上机地点等
。。。。
}
上机记录表永久保存,用于事后查询和统计。
(5)提供菜单选择项,如角色选择、时间选择、功能选择等
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)管理员统计全部当天收入情况。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题20:热播电视剧的评价及推荐系统
1 问题描述
随着人们对精神文明需求的增加,优秀的电视剧作品总是拥有众多粉丝。本课题旨在设计并实现一个热播电视剧的评价及推荐系统,帮助观众在有限的时间内选择到优秀作品,同时也分享自己对作品的评价,便于为其他人做参考。
该系统有两种角色的人员——管理员和普通用户。管理员需要凭密码登录,可以对热播电视剧的基本信息进行创立、增加、删除、修改;可以查看所有用户对所有电视剧的评价信息。普通用户可以查看排名(排名根据所有用户的评分进行计算和排序)前10的热播电视剧具体信息、也可以按指定剧名查询,可以选择观看及评价某电视剧,从多个方面进行评价等。
2 功能要求
2.1 基本要求
要能提供以下几个基本功能:
(1)一些基础信息,比如:电视剧的基本信息可以由程序设计人员预先从键盘上录入(通过记事本或写字板建立文本文件),存为文本文件;此后管理员可以通过程序对这些信息进行访问、增加、删除、修改。
(2)为提高人机交互性及清晰性,设计并实现相关界面(管理员和普通用户所能看到的界面不一样),如果有必要,需要使用分级菜单;
(3)管理员登录系统必须输入正确的用户名和密码,密码字符以*形式显示,不可以显示明文,输入错误时提示用户,连续输入错误3次则无法进入系统;
(4)普通用户的功能:可以查询自己感兴趣的电视剧的基本信息、可以选择自己需要评价的电视剧并且给出各方面的评价分、可以查看所有人对某电视剧的具体评价、也可以查询最近热播的前10名电视剧,为自己选看提供参考;
2.2 选做要求
(1)为普通用户提供分类查热播功能,比如,如果最关注特效的,就按这一指标查询排名前10的电视剧,而不是按统一的整体评分这一指标查询。
(2)为管理员提供分段统计及查看功能,比如,对用户评价的各个指标,对所有人的打分,按分数段进行统计,得出分析统计的一个整体报表。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
2.3 重要提示
(1)电视剧的基本信息应当包含:剧名、类别、导演、主演、集数、剧情简介,大家可以参考豆瓣网等自行进行设定,需要定义一种结构体类型来对应。
(2)对电视剧的评价信息里应体现评价指标的多个方面:总体情节、演员的表现力、导演水平、编剧水平、摄影、音乐、美术、特效、综合评价(这里是一段文字,类似观看的感受)、整体评分(根据前面的各项指标按一定的计算规则进行计算得到)等,大家可以根据对一个电视剧评价的诸多方面进行实际设定,需要定义第二种结构体类型来对应。
(3) 需要用到多个文件,具体用几个或怎样的文件,根据自己程序实现的功能来确定,比如:电视剧的基本信息需要单独存为一个文件、对电视剧的评价信息需要存为文件,至于将所有电视剧的所有评价存为同一个文件还是每一部电视剧单独存为一个文件,根据自己的需要来确定,技术上都可以实现。
2.4 其他要求
(1)在上述功能要求的基础上,可以自行添加一些额外的合理功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
开发工具可以选择VC++ 6.0或者Microsoft Visual Studio、Dev C++等C/C++开发工具。
程序设计题21:智能实验室预约系统
1 问题描述
为提高实验室利用率,开通实验室预约使用模式,实验室有40台电脑,每天开放时间为8:00-17:00,预约时间以 1个小时为单位,请设计一个预约系统。
2 功能要求
代码要能提供以下几个基本功能。
(1) 设计两个角色:管理员和学生。
管理员:维护电脑状态,比如标记故障电脑,以!标记
查询实验室使用情况:比如当前实验人数,正在做实验的学生信息等等
查询学生信息
统计一天实验室使用情况保存在文件count.txt中:
学生: 查询实验室预约情况
预约时间
取消预约
报告电脑故障,保存在文件error.txt中,供管理员维护;
(2) 管理员和学生需要先注册用户,再使用密码登录;
管理员数据结构:
struct admin:
{
char name[10]; //姓名
char password[10]; // 密码
char ID[5] ; //工号
。。。
}
学生数据结构:
struct student:
{
char name[10]; //姓名
char password[10]; // 密码
char ID[5] ; //学号
int time; //累计时间
。。。
}
(3) 满足选座位的要求,根据实验室电脑使用信息,显示实时座位使用情况表,供学生选择,实验室座位图如下:
** ** ** **
** ** !* **
*# ** *# **
** ** ## **
** ** ## ##
空座位以*表示,被选择的座位以。#符()号标记,!标记为故障电脑;可以自行设计座位图和座位编号 。
(4) 实验室电脑信息数据结构
struct lab
{ int No; //编号
char name[10]; //姓名
char number[10]; //学号
int eight; //时间段状态,下同
int nine;
int ten;
int eleven;
int twelve;
int thirteen;
int fourteen;
int fifteen;
int sixteen;
}
(4) 提供菜单选择项,如角色选择、时间选择、功能选择等
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)管理员统计一周实验室使用情况。
(3)学生查看实验累计时间
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题22:基于数据分析的小区电量扩容推荐程序
1 问题描述
老旧小区的改造是一项重大的民生工程,其中电网的改造又是头等大事。电力系统由于供电容量及工作人员人手的限制,不可能一次完成所有小区的扩容工作。因此,根据老小区已有用量的数据情况综合分析,挑选出急需增容的小区先行改造非常有必要,电力公司也同时会考虑到效益问题。
本课题需要提供抽样小区至少50户以上居民两年的用电情况进行数据的统计和分析,再根据电力公司拟增容的小区数据及效益需求,提供一份小区名单给电力公司作参考,或者提供一份按紧急程度排序的小区完整名单供参考。
2 功能要求
系统中主要有用电数据统计员和供电公司工作人员两种身份的用户,二者各具有不同的功能:
用电数据统计员:
(1)提供原始的数据,包括:老小区名称、家庭户名、用电的年月、当月峰时用电量、谷时用电量、每月电费(这一项是计算出来的)等。
(2)形成各类统计报表,如按家庭统计:每年的总用电量、电费;进而按小区来统计:小区每个月的总用电量、总电费、平均到每一户的平均电量和电费等。
(3)对小区数据进行各类排序:按分时用电量、按每月电费总量、按每一户的平均电费或电量等。
供电公司工作人员:
(1)查询功能:可以进行各类查询功能,可以按小区或用户查询用电具体报表数据。
(2)需求提供:可以提供拟扩容小区的数量,或其他要求,如每月电费最低总额等。
(3)看功能:系统根据需求列出优先扩容的小区建议名单供工作人员查看。
选做要求:
(1) 由于原始数据量比较大,可以通过调用随机函数产生模拟数据放入原始的数据文件中。
(2) 除了参考用电量及电费之外,如果有特殊优先级要求可以自行设定加入程序中。
(3) 同学可以自拟扩展功能并实现。
(4) 使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题23:公交路线自动化选择系统实现
1 问题描述
要求编写一个程序,实现公交路线的自动化选择。要求如下:
(1)预先设置若干条公交路线。
(2)根据用户输入起点和终点自动给出相应的路线,可以有几种选择,例如站数最少的,换乘最少的等。
(3)如果输入的起点和终点无法匹配到相应的公交路线,要给出相应的提示。
2 功能要求
代码要能提供以下几个基本功能。
(1)提供菜单选项,实现线路查询功能,即输入任意两个站点,点击查询按钮,反馈结果为这两个公交站点之间的所有可达线路。
(2)提供菜单选项,让用户进入系统,根据选择完成路线管理,修改,更新,并且已经录入的路线要保存到文件,无需重复录入。
(3)提供菜单选项,实现车次查询功能,即输入任一需要查询的公交线路(如D1),点击查询按钮,反馈结果为这条公交线路的起点到终点之间的所有公交站点。
选做要求:
(1)对用户的属性可以进行区分,分为普通用户和管理员,分别进入不同的界面。
(2)线路查询时如果没有直达路线就显示最优换乘路线。
(3)路线录入时增加每个站点之间的预估时间,在路线选择的同时给出相应路线的预估时间,包括提示首末班车时间。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题24:电信优惠套餐推荐系统的设计与实现
1 问题描述
电信公司常常推出各种类型的优惠套餐,体现上上网流量、语音通话、资费上的各种优惠。要求设计一个优惠套餐推荐系统,将各种优惠套餐的情况存于文件中,系统提供办理业务的用户输入功能,主是提供自己希望得到的优惠,系统根据用户需求和已有套餐自动去匹配,挑选出最合适的套餐推荐给用户。
2 功能要求
系统中主要有管理员和普通用户两种身份的用户,二者各具有不同的功能:
管理员:
(1)以密码登录系统(密码用*显示,不得显示输入的字符)
(2)管理优惠套餐(同学自己参考电信移动公司的优惠政策)的具体信息,主要包括:优惠套餐编号(主关键字,唯一)月资费、通话时长、4G流量、宽带带宽等。管理员可以增加、删除、修改具体优惠套餐的信息
(3)可以管理并查询所有用户所享受的优惠套餐政策
普通用户:
(1) 逐条输入(或根据选项来选择)自己希望享受的各优惠条件,具体到每月通话时常、4G流量需求,是否需要宽带等;
(2)在系统给出推荐的优惠套餐之后,进行确认
(3)可以随时查询本人的优惠套餐具体信息,可根据需要提出变更需求,系统再为其重新计算和推荐。
选做要求:
(1)管理员可以统计各优惠政策的意向客户人数,为下一步调整优惠政策提供依据。
(2)如果系统无法匹配出完全符合用户需求的优惠政策的情况下,提供给用户一些接近用户需求的优惠套餐推荐,供用户从中进行选择。
(3)同学可以自拟扩展功能并实现。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题25:排监考系统
1 问题描述
期末到了,某学校有100多名教师,要给这些老师安排监考,当输入老师的姓名时,直接输出该老师的所有监考,系统具体要求如下:
1 教室分为大教室和小教室两种,大教室需要安排6名教师监考,小教室需要安排3名教师监考。
2 任课老师必须担任本课程监考,如果带多个班,只需要担任其中一个班级的监考。
3 教授原则上只需要监考所带课程,担任巡考任务的教师按监考计数。
4 除教授外,其余老师担任监考次数基本均等,即相差不超过1次。
5 每位老师监考的场次尽量按时间相连,比如某位老师需要监考3场,那么尽量安排在一天完成。
6 考虑老师的特殊要求,比如某天不能监考。
7 对考场统一编号,在编号中体现出日期和时间。
特别提醒:
1将考场定义为结构体类型,包含大小、日期、场次等关键内容。
2将老师定义为结构体类型,包含姓名,职称,特殊要求等关键内容。
系统开发完成后,输入相应条件,系统将会给出可能的监考安排。若系统给出的监考安排是0种,证明系统无法作出安排,需要改变条件重新输入。
2 功能要求
代码要能提供以下几个基本功能。
(1)用户登录:
·新用户可以注册,旧用户直接登录。
(2)监考表:
·实现选择并存储监考表到文件中。
·维护监考表文件基本信息,实现增加、修改、查询、删除排班表记录的功能。
·由于监考 表的特殊性,注意增加、修改、删除时备注操作时间和操作人员信息。
选做要求:
(1)对用户的输入进行一定的正确性检查。
(2)增设特殊情况原因显示,例如:出差/生病等。
(3)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
程序设计题26:运动会积分流程管理
1 问题描述
该系统要求实现一个简单、实用的移动营业厅程序,主要功能包括移动用户数据的增加、删除、修改、查找、输出、排序,手机号码的注册和注销等。所有数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。
2 功能要求
(1)移动用户数据是由多条记录构成,其信息包括:
用户名,性别,年龄,身份证号码,手机号,职业,家庭住址等。
(2)数据保存形式:
所有图书数据要以文本或二进制文件保存。
(3)代码需要实现的功能:
- 新增移动用户数据记录。
- 查找移动用户(可按用户名身份证号码,手机号等查找)。
- 注册/注销手机号码(可以让用户添加新的手机号或注销删除不用的手机号)。
- 修改移动用户(可修改除手机号外的其它信息项。要先查找,再修改。若当前条件查找出多个记录,则提示用户增加查询条件继续查找,直到确定唯一用户后再修改)。
- 删除移动用户数据(必须先注销所有手机号,才能删除用户数据。请参考上面修改的处理,先查找再删除)。
- 显示当前所有数据列表,并能按要求(如:用户名,年龄,身份证号码等)排序。
- 保存移动用户数据到文件中、从文件中读入移动用户数据到程序中。
(4)界面功能要求: - 采用友好的字符界面,实现一个功能控制菜单。
- 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
选做要求:
(1)数据完整性保证。例如:身份证号码、手机号都要保证唯一性。
(2)支持一人多号功能,即一个手机号只能给一个用户使用,但一个用户可以拥有多个手机号。
(3)支持手机号源管理,将所有手机号作为一种电信资源管理起来,实现号段放号、用户随机选号等功能。
(4)使用MFC 等开发工具,实现彩色或图形操作界面。
3 其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。