C/C++课程设计选题(14题)[2023-10-16]

C/C++课程设计选题(14题)[2023-10-16]

程序设计题1:热播电视剧的评价及推荐系统

1 问题描述
随着人们对精神文明需求的增加,优秀的电视剧作品总是拥有众多粉丝。本课题旨在设计并实现一个热播电视剧的评价及推荐系统,帮助观众在有限的时间内选择到优秀作品,同时也分享自己对作品的评价,便于为其他人做参考。
该系统有两种角色的人员——管理员和普通用户。管理员需要凭密码登录,可以对热播电视剧的基本信息进行创立、增加、删除、修改;可以查看所有用户对所有电视剧的评价信息。普通用户可以查看排名(排名根据所有用户的评分进行计算和排序)前10的热播电视剧具体信息、也可以按指定剧名查询,可以选择观看及评价某电视剧,从多个方面进行评价等。
2 功能要求
【基本要求】
要能提供以下几个基本功能:
(1)一些基础信息,比如:电视剧的基本信息可以由程序设计人员预先从键盘上录入(通过记事本或写字板建立文本文件),存为文本文件;此后管理员可以通过程序对这些信息进行访问、增加、删除、修改。
(2)为提高人机交互性及清晰性,设计并实现相关界面(管理员和普通用户所能看到的界面不一样),如果有必要,需要使用分级菜单;
(3)管理员登录系统必须输入正确的用户名和密码,密码字符以*形式显示,不可以显示明文,输入错误时提示用户,连续输入错误3次则无法进入系统;
(4)普通用户的功能:可以查询自己感兴趣的电视剧的基本信息、可以选择自己需要评价的电视剧并且给出各方面的评价分、可以查看所有人对某电视剧的具体评价、也可以查询最近热播的前10名电视剧,为自己选看提供参考;
【选做要求】
为普通用户提供分类查热播功能,比如,如果最关注特效的,就按这一指标查询排名前10的电视剧,而不是按统一的整体评分这一指标查询。
为管理员提供分段统计及查看功能,比如,对用户评价的各个指标,对所有人的打分,按分数段进行统计,得出分析统计的一个整体报表。
【提示】
(1)电视剧的基本信息应当包含:剧名、类别、导演、主演、集数、剧情简介,大家可以参考豆瓣网等自行进行设定,需要定义一种结构体类型来对应。
(2)对电视剧的评价信息里应体现评价指标的多个方面:总体情节、演员的表现力、导演水平、编剧水平、摄影、音乐、美术、特效、综合评价(这里是一段文字,类似观看的感受)、整体评分(根据前面的各项指标按一定的计算规则进行计算得到)等,大家可以根据对一个电视剧评价的诸多方面进行实际设定,需要定义第二种结构体类型来对应。
(3) 需要用到多个文件,具体用几个或怎样的文件,根据自己程序实现的功能来确定,比如:电视剧的基本信息需要单独存为一个文件、对电视剧的评价信息需要存为文件,至于将所有电视剧的所有评价存为同一个文件还是每一部电视剧单独存为一个文件,根据自己的需要来确定,技术上都可以实现。
【其他要求】
(1)在上述功能要求的基础上,可以自行添加一些额外的合理功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

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

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等开发工具,实现彩色或图形操作界面,可以根据自己的体验增加相关功能模块。

程序设计题3:背单词

1 问题描述
“背单词—个性化背词”是背诵英语单词的软件。用户可以根据自己的需求导入需背诵的词库,并可以编辑自己的词库。背单词时有两种模式供选择:系统可以给出中文提示,用户输入对应的单词,也可输出单词让用户输入中文意思。系统判定词义是否正确。如果正确成绩加十分,如果不正确给出提示并要求用户重新输入。
2 功能要求
代码要能提供以下几个基本功能。
(1)用户登录:
·新用户可以注册,旧用户直接登录。
·可以只打卡不背词,直接退出界面。
(2)单词本:
·存储单词基本信息,英文、词性、中文解释等。
·选择词库维护编辑单词本信息,实现增加、修改、删除、补充(单词已有,补充新的释义)的功能。
(3)单词背诵及成绩统计:
·选择单词预览进行单词学习。
·单词背诵时有两种模式选择,选择题背诵及拼写单词背诵,而且支持多次背诵。
·答对加十分,答错扣十分,错词计入错题本。
·可查阅自己的总成绩,未达过关成绩可以选择错题重背直至完全掌握。
(4)单词复习:
·背诵完全正确时界面显示没有错题继续努力。
·有错题时可以选择错题重背加强记忆。
(5)退出系统时可以进行打卡,统计背诵单词天数。

【选做要求】
(1)对用户的输入进行一定的正确性检查。
(2)能统计每一个单词出现频率及背诵正确率,供以后出题时提供依据。
(3)能设置提醒功能,激励大家坚持下去。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题4:驾驶员理论课程模拟考试与学习系统

1 问题描述
要求编写一个程序,模拟驾驶员科目一的考试,要求具有良好的操作界面。管理员负责试题库的管理(编辑、删除、增加等)工作;随机生成考试试题;考试完后能给出评分;具有交通知识查询和学习功能。
2 功能要求
代码要能提供以下几个基本功能。
(1)提供管理员和用户菜单选项,分别进入不同权限界面;
(2)进入管理员界面需要密码验证,管理员界面负责试题库的管理(修改、查询、删除、增加)以及考试成绩的统计等;
(3)进入用户界面需要输入用户ID,界面菜单选项具有交通知识的查询、学习和测验等功能;
(4)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(4)
(5)试题录入:可随时增加试题到试题库中(4)
(6)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)
(7)答题:用户可实现输入自己的答案(4)
(8)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
【选做要求】
(1)自拟具有创新性的功能
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强;注意试题的数据结构。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

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

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等开发工具,实现彩色或图形操作界面,可以根据自己的体验增加相关功能模块。

程序设计题6:大创项目管理系统

1 问题描述
该系统模拟一个简单的大创项目管理系统,要求对文件中所存储的项目数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的项目管理系统。
2 功能要求
预先准备好学生和指导教师的基本信息文件(.txt格式,记录学生学号姓名、教师工号姓名,该文件不需要编程录入数据,可用文本编辑工具直接录入)
编写代码提供以下几个基本功能:
(1)提供菜单选项,让用户登录,操作:
a. 用户名为学号或工号,默认密码为学号或工号后6位;
b. 有数据校验;密码为6位,暗文显示。
(2)用户类型分为教师和学生
(3)学生用户功能:
a. 每个项目由三位同学组队完成(项目负责人和两位组员);
b. 项目负责人对自己项目信息增、改、删、查;提交后不得修改,修改需要指导教师退回;
c. 组员仅可查看自己参与的项目信息;
d. 每位同学仅可参与或负责一个项目;
e. 可修改自己的登录密码、学院、专业、手机号、邮箱。
(4)教师用户功能:
a. 可按年份升降排序列出指导的所有项目(年份、名称、审核状态),也可按年份、审核状态分类查找,找到后可查看指导的某个项目的所有信息;
b. 收到学生提交项目申请后可进行审核(审核通过或退回修改);
c. 可修改自己的登录密码、学院、手机号、邮箱。
(5)项目数据包括:
a. 项目年份、项目编号、项目名称、项目负责人信息和组员信息(学生信息包括:学号、姓名、学院、专业、手机号、邮箱)、指导教师信息(姓名、工号、学院、手机号、邮箱)、项目简介;
b. 指导教师审核通过后,程序为项目自动分配项目编号,如“CXXZD2023001”,其中“CXXZD”为固定内容,“2023”为项目申请年份(程序获取当前年份),“001”为序号(程序按审核通过顺序自动编号)。

【选做要求】
(1)用户可查看自己的提交、审核日志(具体操作和操作的时间)。
(2)增加管理员账号:管理员可通过系统录入并保存学生数据库和教师数据库;管理员可按年份升降排序列出所有项目(年份、名称、审核状态),也可按年份、学院、审核状态分类查找,找到后可查看指导的某个项目的所有信息;管理员可接受用户“忘记密码”的申请,重置默认密码。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

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

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等开发工具,实现彩色或图形操作界面。

程序设计题8:电信优惠套餐推荐系统

1 问题描述
电信公司常常推出各种类型的优惠套餐,体现上网流量、语音通话、资费上的各种优惠。要求设计一个优惠套餐推荐系统,将各种优惠套餐的情况存于文件中,系统提供办理业务的用户输入功能,主是提供自己希望得到的优惠,系统根据用户需求和已有套餐自动去匹配,挑选出最合适的套餐推荐给用户。
2 功能要求
系统中主要有管理员和普通用户两种身份的用户,二者各具有不同的功能:
管理员:
(1)以密码登录系统(密码用*显示,不得显示输入的字符)
(2)管理优惠套餐(同学自己参考电信移动公司的优惠政策)的具体信息,主要包括:优惠套餐编号(主关键字,唯一)月资费、通话时长、4G流量、宽带带宽等。管理员可以增加、删除、修改具体优惠套餐的信息
(3)可以管理并查询所有用户所享受的优惠套餐政策
普通用户:
(1)逐条输入(或根据选项来选择)自己希望享受的各优惠条件,具体到每月通话时常、4G流量需求,是否需要宽带等;
(2)在系统给出推荐的优惠套餐之后,进行确认
(3)可以随时查询本人的优惠套餐具体信息,可根据需要提出变更需求,系统再为其重新计算和推荐。
【选做要求】
(1)管理员可以统计各优惠政策的意向客户人数,为下一步调整优惠政策提供依据。
(2)如果系统无法匹配出完全符合用户需求的优惠政策的情况下,提供给用户一些接近用户需求的优惠套餐推荐,供用户从中进行选择。
(3)同学可以自拟扩展功能并实现。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题9:文档编辑器的设计与实现

1 问题描述
该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换等功能。通过此课题,熟练掌握文本文件的操作及用字符数组来实现字符串操作的功能。
2 功能要求
要能提供以下几个基本功能:
(1)首先文件标准化处理:如果句子有前导空格和后导空格,则删除这些空格,单词与单词之间只保留一个空格。
(2)统计功能:可方便地统计出文档中所有出现次数最多和最少的字符串。
(3)查找与替换功能:能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。
(4)显示功能:编辑完成后可以显示编辑后的文档。
(5)抽取功能:根据要求将文件中的某一类字符抽取,并存入另外的文件,如抽取所有的数字、抽取所有的字母等
【具体说明】
(1)被处理的初始文本文件可以用程序生成,也可以直接用写字板或记事本生成。
(2)可以用面向对象或面向过程的程序设计思想实现,但是要求每一个功能对应于一个函数模块,例如:
① 显示文件:void list( 形式参数表);
② 查找指定字符串:void selectstring(形式参数表 );
(3)主函数中提供菜单结构:根据选择的数字执行不同的操作
菜 单
0、 退出
1、 显示文件信息
2、 统计
3、 查找
4、 替换
5、 抽取
6、 文本拷贝
(4)界面友好。
(5)在内存中的各种操作可以采用一维数组方式或是单链表。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题10:模拟工资管理系统

1 问题描述
工资管理是一个单位最基本的一项财务管理,该系统要求实现一个简单、实用的财务管理程序,主要功能包括员工信息的录入、查找、修改、删除、统计、排序等。所有帐务数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。
2 功能要求
管理员:
1)以密码登录系统
2)录入员工信息具体工资,计算相应的税金(计算规则参见最新公布的政策)
3)查询并显示所有的员工具体信息
4)显示统计信息:员工数目,工资总数和税金总数
5)按照指定条件查询
6)增删具体员工记录
税金政策基本是不同收入等级的工资使用不同的比例收取税金。类似于下表:
工资 税率
0~3000 3%(超出部分)
3000~12000 10%(超出部分)
12000~25000 20%(超出部分)
25000~35000 25%(超出部分)
35000~55000 30%(超出部分)
55000~80000 35%(超出部分)
80000以上 45%(超出部分)
员工:
(1)以工号为登录ID,密码自己设定;
(2)可以查询本人的相关信息;
(3)系统提供指定时间间隔的查询功能。
【设计要求与提示】
(1)根据工资管理系统的数据信息要求,设计合适的数据结构(如结构数组、简单链表等)。
(2)选择文件存储格式(文本或二进制)和文件名。
(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。
(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
(5)根据设计结果分步开发实现各模块,最后进行总体集成。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题11:十六进制计算器

1 问题描述
十六进制是除了十进制之外,我们经常用到的进制。尤其是在计算机和互联网时代时代,计算机的内存地址,网络数据的传输,都离不开十六进制的表示。现要求设计一个十六进制的计算器,能够实现十六进制的四则运算。
2 功能要求
双目运算:
(1) 输入:一个双目的加法、减法、乘法或除法表达式,十六进制数可以是任意长度,如:
1A3BD + 33DA
39AD -11F
43A * 898B
453E / 2
(2) 输出是作为运算结果的十六进制数

表达式运算:
(1) 输入:包含多个加法、减法、乘法和除法运算的表达式,十六进制数可以是任意长度,如:
1A3BD + 33DA * 898B - 39AD / 2
(2) 输出是作为运算结果的十六进制数
【选做要求】
(1) 在表达式运算中考虑括号运算符,如:(1A3BD + 33DA) * 898B - 39AD / 2,括号可以有任意多对。
(2) 在表示运算中考虑取余运算(%)、求平方运算(^2)等。
(3) 采用图形用户界面(如MFC)实现十六进制计算器。
(4) 同学可以自拟扩展功能并实现。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题12:挖地雷

1 问题描述
你玩过扫雷游戏吧?Windows操作系统中带了这个小游戏。在游戏中要想过关,就必须要在一个 NxM 的区域上找出所有的地雷。游戏过程中,计算机会在地图上显示一些数字从而帮助你确定哪里有地雷。例如,在下面这个有两颗地雷的 4x4 的地图(*表示地雷):


.


根据上面的地图,可以计算出应该提供给游戏者的数字如下所示:
100
2210
1
10
1110
每个数字表示了该方格周围到底有几个地雷,当然,一个方格周围最多的时候只会有八个。
2 功能要求
代码要能提供以下几个基本功能。
(1)定义一个矩阵,随机产生地雷的分布并由此产生提供给游戏者的数字信息。
(2)定义成绩排行榜,记录前五名的用户名及时间。
(3)提供菜单功能,定义不同等级的地雷地图供选择。
(4)游戏者通过坐标(如1(1,2)、0(3,4)判定第一行第二列位置为地雷,第3行第四列不是地雷)判定是否为地雷,标记地雷位置正确,则正确位置显示@符号,如触碰地雷,游戏结束,没有触碰地雷,显示该坐标位置周边地雷分布情况,如果周边有地雷不显示。
(5)成绩排行榜以文件形式保存。
【选作要求】
(1)对用户的输入进行一定的正确性检查。
(2)采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。
(3)设计一个功能选项“AI玩家”。当选中此功能后,用电脑模拟用户来玩猜数字游戏,并将整个游戏的过程输出至屏幕或文本文件。
【其他要求】
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

程序设计题13:计算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等开发工具,实现彩色或图形操作界面。

程序设计题14:拼字游戏

1 问题描述
拼字游戏历史悠久,能锻炼人的思维和提高单词记忆量。在欧美报纸的版面中经常会见到。本题只是简单地演示单组交叉词。所谓单组交叉词,是指两个单词交叉放置,一个水平放置,另一个垂直放置,交叉点是两个单词都共用一个字母,而且交叉点遵循交叉靠前原则,即这公用的字母尽量在水平单词的前方,然后也尽量在垂直单词的上方。例如:DEFER,PREFECT(前一个为水平单词)的交叉点是E,而PREFECT,EDFER的交叉点是R。双交叉词是指有两组单组交叉词,它们的水平单词放在同一行。试编程将输入的每四个一组的单词尽可能组成双交叉词。
2 功能要求
实现拼字游戏的程序,完成基本功能要求。
输入:输入文件由若干行组成,每行有四个单词,按顺序每两个为一组,每组第一个单词为水平单词,每个单词由1到10个大写字母组成,单词之间用一个空格隔开。最后一行由一个"#“结束。
输出:输出文件由一系列双交叉词组成,每个水平单词之间隔三个空格。若不能构成双交叉词,则显示"Unable to make two crosses”。每组双交叉词间空一行。
输入样例:
AT PART RIGHT BUT
PEANUT BANANA VACUUM GREEDY

输出样例:
B
P U
AT RIGHT
R
T

或者 Unable to make two crosses

【其他要求】
要求有合理的算法设计,容错处理,可参考游戏经历增加相关功能。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程设计题目: 1、自拟题目的原则: (1)设计的课能够体现面向对象基本思想:类、继承、多态性、模板等。 (2)根据自己对面向对象基本概念、原理和机制的理解,自拟题目和设计内容。 (3)选题的难易程度要适当,以在规定时间内经过努力可以完成为宜。 2、参考选题: 参考选题多为管理系统类,大家也可自拟游戏类或数学计算等其他类型题目,只要能体现oop思想。 (1)复数计算器 运用C++语言描述数据类、复数类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。 本课程设计要实现的主要功能如下: 1)建立数据类、复数类 2)数据、复数信息的初始化 3)复数信息的输出 4)将复数信息保存为文件 5)求复数的绝对值 6)实现复数的加、减、乘、除、乘方、自加、自减等运算 (2)字符串处理系统 运用C++语言描述数据类、字符串类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。 本课程设计要实现的主要功能如下: 1)建立数据类、字符串类 2)数据、字符串信息的初始化 3)字符串信息的输出 4)将字符串信息保存为文件 5)获得字符串长度 6)在字符串中查找一个字符 7)在字符串中查找另外一个字符串 8)比较字符串 (3)学生信息管理 运用C++语言描述学生类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态
C++课程设计题目,包括1、输出10至99之间每位数的乘积大于每位数的和的数,例如对于数字12,有1*22+7,故输出该数。 2、求任意n个数中的最大数和最小数:先输入一个正整数n(个数),而后再输入任意n个实数,找出这n个数中的最大数及最小数并显示出来。3、对两个有序数组进行合并:设有如下数组A、B,并假设两个数组的元素都已经有序(从大到小降序排列)。编程序,合并A、B数组形成一个新的数组C,并使C的元素仍有序(从大到小降序排列)。 int A[10]={123, 86,80, 49,33,15,7,0,-1,-3}; int B[10]={100,64,51,50,27,19,15,12,5,2}; 4、有一个分数序列:1/2,1/3,1/4,1/5,1/6,1/7,……,编写函数求序列前n项之和,要求在主程序中提示用户输入整数n,并判断所输入数是否合法(大于1为合法),如果合法则调用求和函数并输出结果。 5、计算两个日期之间的间隔天数:从键盘输入两个日期(如以year1,month1,day1以及year2,month2,day2的方式来输入它们),而后计算出这两个日期的间隔天数并在屏幕上显示出结果。 要求编制具有如下原型的函数difs2Date: long GetDayDifference(int y1,int m1,int d1,int y2,int m2,int d2); 并在主函数中调用向屏幕上输出计算结果。7、声明并定义一个日期类CDate,其中数据成员m_iYear,m_iMonth,m_iDay,分别表示年、月、日,成员函数SetDate()用来设置年、月、日,成员函数IsLeapYear()用来判断当前的年份是否为闰年,构造函数带有默认形参值,可接收外部参数对m_iYear, m_iMonth, m_iDay进行初始化,另要求编写测试程序,定义一个CDate类对象,将其日期设置为2005年1月1日, 调用成员函数IsLeapYear()判断该年份是否为闰年,并输出判断结果. 说明:闰年的年份可以被4整除而不能被100整除,或者能被400整除. 8、编写一个程序计算两个给定长方形的面积,其中在设计类成员函数GetTotalArea()(用于计算两个长方形的总面积)时使用对象作为参数。 9、设计一个时间类Time,包括3个数据成员,时(h)、分(m)、秒(s),另外包括存取各数据成员和设置时间的成员函数,按上、下午各12小时或按24小时输出时间的成员函数,以及默认构造函数,默认时间值为0时0分0秒。 10、编写一个程序,输入3个学生的英语和计算机成绩,并按总分从高到低排序(要求设计一个学生类Student)。 11. 求解一元二次方程。 一元二次方程的定义为: ax2+bx+c=0 (1)如果b2 -4ac>0,方程有两个不同的实根,分别是: (2)如果b2 -4ac< 0,方程没有实根,但有虚根; (3)如果b2 -4ac= 0,方程有一个实根。 请你编写一个程序,使其能求出多个二次方程的根。该程序要询问用户是否想继续解下一个方程。用户输入1来继续,输入其它数字,则终止程序。程序要求用户输入a,b和c,然后根据前面的条件计算,并输出答案。 要求:使用类实现, (1) a,b,c为该类的私有成员变量; (2) 求根的实现为该类的成员函数,形式为: //函数返回值:实根的个数; //参数:x- 用以返回实根值的数组; int CalResult(double x[]); (3) 该类还包含有参构造函数、析构函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值