【南邮】C/C++程序设计题目及要求[2025-11-26]

指导老师:胡素君
一、 程序设计的性质、目的与任务
本课程是针对在大一上学期学习的公共基础课《高级语言程序设计》课程知识的进一步巩固并加强解决实际问题的能力。
程序设计的目的是通过上机实习,一方面使学生加深对课内所学的有关面向编程概念的理解;另一方面,在具体的程序设计中掌握基于C语言的程序设计方法。通过该设计使学生掌握一种程序设计开发环境,提高同学们自己学习、查阅资料、独立分析问题和解决问题的能力。
在一周的程序设计中,通过查阅相关资料、与同学讨论和老师辅导答疑,每组同学要完成一道实习题。每组同学应选择一道程序设计题目,进行程序的设计工作,并写出详细的程序设计报告,最后提交程序设计报告、源程序、可执行文件。指导教师在最后对学生进行简单的检查答辩。
二、 程序设计内容

课题1 热播电视剧的评价及推荐系统
问题描述 热播电视剧的评价及推荐系统有两种角色的人员——管理员和普通用户。管理员需要凭密码登录,可以对热播电视剧的基本信息进行创立、增加、删除、修改;可以查看所有用户对所有电视剧的评价信息。普通用户可以查看排名(排名根据所有用户的评分进行计算和排序)前10的热播电视剧具体信息、也可以按指定剧名查询,可以选择观看及评价某电视剧,从多个方面进行评价等。
开发环境 编程语言采用C或C++实现,编译软件可以自选
基本要求

(1)一些基础信息,比如:电视剧的基本信息可以预先从键盘上录入(通过记事本或写字板建立文本文件),存为文本文件;此后管理员可以通过程序对这些信息进行访问、增加、删除、修改。
(2)为提高人机交互性及清晰性,设计并实现相关界面(管理员和普通用户所能看到的界面不一样),如果有必要,需要使用分级菜单;
(3)管理员登录系统必须输入正确的用户名和密码,密码字符以*形式显示,不可以显示明文,输入错误时提示用户,连续输入错误3次则无法进入系统;
(4)普通用户的功能:可以查询自己感兴趣的电视剧的基本信息、可以选择自己需要评价的电视剧并且给出各方面的评价分、可以查看所有人对某电视剧的具体评价、也可以查询最近热播的前10名电视剧,为自己选看提供参考。
设计要求
(1)在上述功能要求的基础上,可以自行添加一些额外的合理功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。

拓展功能要求

鼓励采用QT、MFC等开发工具,实现彩色或图形操作界面。
为普通用户提供分类查热播功能,比如,如果最关注特效的,就按这一指标查询排名前10的电视剧,而不是按统一的整体评分这一指标查询。
为管理员提供分段统计及查看功能,比如,对用户评价的各个指标,对所有人的打分,按分数段进行统计,得出分析统计的一个整体报表。

题目2 模拟飞机票售票系统
问题描述 某个飞机场每天有n个飞机班次,每个班次都有班次号,固定的起飞时间,固定的路线(发站、到站),固定的额定载客量,如:
班次次 起飞时间 发站 到 站 飞行时间 额定载量 余票数量
MU2344 8:00 禄口机场 白云机场 2小时30分钟 168 30
KU2112 6:30 禄口机场 双流机场 2小时45分钟 150 40
HU2552 7:00 禄口机场 首都机场 1小时30分钟 200 20
CA1503 10:00 首都机场 禄口机场 2小时 168 2
该系统要求对一个文件中所存储的票务信息进行各种常规操作,如:查询、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用,实现一个模拟飞机票售票系统。
开发环境 采用C或C++实现,编译软件可以自选
基本要求
(1)用户角色
建议设置管理员、售票员和普通用户三种,每种用户角色的功能不同。
(2)管理员
根据密码登录,修改班次信息(信息可以使用dat/txt文件保存),可随时增加新航班数据。
(2)普通用户
A: 以身份证注册,登录后可以浏览班次信息,显示出所有班次当前状况(如果当前系统时间超过了某班次的发车时间,则显示“此航班已发出”的提示信息)。
查询路线:可按班次号、起飞站、终点站查询售票情况。
B: 根据起飞时间给出顺序的起飞时间表(排序方法自选),存入文件保存(sort.dat或者sort.txt)。
(3)售票员
A: 密码登录。
B: 售票和退票功能:当查询出已定票人数小于额定载量且当前系统时间小于起飞时间前两小时才能售票,自动更新余票数量,可以设定提前售票时间。退票时,输入退票的班次,当本班次出发前两个小时以上才可以退票,自动更新已售票人数。
(4)实名制售票,系统设置每张身份证只允许购买一张飞机票。
设计要求
(1)界面友好,输入信息符合逻辑:如日期设定。
(2)能从实践生活出发,设计合理的功能模块
(3)各类信息的数据结构明晰
(4)可根据自身生活体验添加相关功能模块。

拓展功能要求

鼓励采用MFC、QT等开发工具,实现彩色或图形操作界面。鼓励引入小型数据作为处理数据的来源,拓展知识面。

题目3 小学100以内正整数加减运算
问题描述 设计并实现“小学100以内整数加减运算”系统,程序要求如下:
(1)随机出10道题,这10道题目不能重复,如果是减法运算,要求被减数大于减数。
(2)这些题目,可以选择以下两种方式中的一种给出:
a.选择题,要求随机生成4个选项,正确答案包含其中;
b.填空题,可以让用户从键盘输入答案。
(3)用户每次答题,能根据答案计算是否得分,并计入总分。
(4)答题完毕,系统给出总用时。
(5)根据答题情况,能将用户的错误作答题目及答案保存,可以提供用户查看错题功能
开发环境 编程语言采用C或C++实现,编译软件可以自选
基本要求
(1)提供菜单选项,让用户能够登录并答题。
(2)提供菜单选项,让用户查阅答题情况,答题期间不能查阅。
(3)提供菜单选项,错题再答,如果错题答对了,应从错题集中删除。
(4)提供菜单选项,可以选择生成题目到文本文件,同时生成所对应的答案到相应的文本文件,以便线下测试。
设计要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。

拓展功能要求
(1)鼓励采用MFC、QT等开发工具,实现彩色或图形操作界面。
(2)在运算中添加括号,比如5-(95-93),系统也能正确算出答案。
(3)在菜单选项中,增加帮助功能,提供系统使用说明,模拟答题功能。

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

□□□□□□□□□□
□□□□□□□□□□
□□□■■■■□□□
□□□□■■□□□□
□□□□■■■□□□ ■已售出 □待售
选座购票,售出的位置变更图案。
售票和退票:合理进行售票和退票,自动更新余票数量;
(4)提供菜单选择项,如角色选择、时间选择、功能选择等

设计要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注—释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
拓展功能要求
(1)对用户的输入进行一定的正确性检查。
(2)用户可以查看历史购票记录。
(3)鼓励采用MFC、QT等开发工具,实现彩色或图形操作界面。

题目5 家庭支出管理系统
问题描述 该系统要求对一个家庭某月的支出情况进行统计和分析。通过此课题,熟练掌握数组、指针的各种操作,以及一些算法思想的应用。

开发环境 编程语言采用C或C++实现,编译软件可以自选
基本要求
(1)支出信息包括:
支出类型(主要可以分为饮食,服饰装扮,礼金,教育培训,电器,健身,通讯,子女培养,旅游,文化娱乐,医疗,交通,聚会,居住等小项),金额,消费地点,消费时间等。
(2)需要实现的功能

  1. 用户根据用户名和密码登录系统
  2. 输入某一月份,完成该月份的支出管理
  3. 输入并统计该月的支出情况
  4. 显示该月支出信息表,内容应包括日期,金额等
  5. 按支出类型进行分类统计和排序
  6. 进行本月消费分析,即分析每项支出所占总支出的百分比,并显示分析结果
  7. 显示按支出类型排序后的支出信息
  8. 将排序后的内容存为文件。
    (3)界面友好,输入信息符合逻辑如存款金额不为负数、不可能有非数字的字符等。
    设计要求
    (1)界面友好,输入信息符合逻辑:如收费周期应至少以月为单位。
    (2)能从实践生活出发,设计合理的功能模块
    (3)各类信息的数据结构明晰
    (4)可根据自身生活体验添加相关功能模块。
    拓展功能要求
    鼓励采用MFC、QT等开发工具,实现彩色或图形操作界面。鼓励引入小型数据作为处理数据的来源,拓展知识面。

题目6 企业员工业绩管理系统
问题描述 本课题要求实现对员工信息和业绩信息的管理。一个综合的员工业绩管理系统,要求能够管理若干个员工各季度工作业绩,需要实现以下功能:读取以数据文件形式存储的员工信息;可以按工号增加、修改、删除员工的信息;按照工号、姓名、名次等方式查询员工信息;可以按照工号顺序浏览员工信息;可以统计各季度工作的最高业绩、最低业绩和平均业绩;计算每个员工的总业绩并进行排名。
系统内的所有信息必须以文件的方式存储在硬盘中,员工信息文件,存放了员工的工号,姓名,性别,各个季度的业绩,四个季度的总业绩,依据总业绩的排名。格式如下:
B01,Tom,Male,70,80,90,85
B02,Rose,Female,70,80,90,75
B03,Jack,Male,80,90, 95,70
……
开发环境 编程语言采用C或C++实现,编译软件可以自选
基本要求
系统提供的基本功能包括:
(1)系统登录,本系统的使用者(通常是单位人力资源部工作人员)通过输入账号、密码进入系统。
(2)系统内的相关信息文件由程序设计人员预先从键盘上录入,文件中的数据记录不得少于20条;
(3)设计并实现系统的相关界面,提供良好的交互界面;
(4)排序功能:能实现由用户选择按各项数据升序或降序排序对查询出的信息进行显示;
(5)可以添加/删除/修改员工信息;
(6)可以添加/删除/修改业绩信息;
(7)查询员工信息:
 输入一个工号,查出此人的基本信息并显示输出。
 输入一个工号,查询出此员工的所有业绩情况。
(8)查询业绩信息:
 输入一个部门编号,可查询出本部门所有的员工的基本信息并显示输出。
 输入一个季度时,查询此季度的最高业绩、最低业绩和平均业绩。
设计要求
(1)界面友好,输入信息符合逻辑。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
拓展功能要求
(1)对用户的输入进行一定的正确性检查。
(2)鼓励采用MFC、QT等开发工具,实现彩色或图形操作界面。

题目7 考试管理系统
问题描述 要求用C或C++模拟实现考试过程的管理。包括:考生信息管理、成绩管理、试题库(单选、多选题,不考虑其他题型)以及模拟考试过程。
开发环境 编程语言采用C或C++实现,编译软件可以自选
基本要求
(1)考生管理
考生信息的增、删、改。用文件存储考试信息。
(2)考试过程管理
A: 设置考试题数,可以设置默认值,并允许修改。
B: 抽取试题:考试时从试题库随机抽取规定数量的试题并显示,题目不能重复。
C: 模拟考生参加考试的过程:首先输入学号,已经参加过考试的给出提示,不允许再考。考生答题完成后立刻给出成绩,并存储到成绩文件中。
(3)试题库管理
录入真实的C语言试题。题库数目不少于200题。可增加试题到试题库中。试题以文件的形式存在。每个试题包括题干、4个备选答案以及标准答案(需要考虑多选题)。
(4)成绩查询
当输入考试学号或姓名时,可以查看成绩及排名。

设计要求
(1)数据结构的选择,特别是试题的存储问题,可以用结构体数组或链表存储从文件中读取的题目
(2)考试过程的实现,特别是随机试题的产生,怎样才能保证其唯一性
(3)功能合理、界面友好
(4)基本功能要求必须完成,可以结合实际情况,设计合适的交互界面、合理的功能菜单,并考虑增加实用的功能,可参考扩展要求。

拓展功能要求
(1)鼓励采用MFC、QT等开发工具,实现彩色或图形操作界面。
(2)题库管理:题库增、删、改时如何保持题目的唯一性。

题目8 背单词
问题描述 “背单词—个性化背词”是背诵英语单词的软件。用户可以根据自己的需求导入需背诵的词库,并可以编辑自己的词库。背单词时有两种模式供选择:系统可以给出中文提示,用户输入对应的单词,也可输出单词让用户输入中文意思。系统判定词义是否正确。如果正确成绩加十分,如果不正确给出提示并要求用户重新输入。

开发环境 编程语言采用C或C++实现,编译软件可以自选
基本要求
(1)用户登录
新用户可以注册,旧用户直接登录。
可以只打卡不背词,直接退出界面。
(2)单词本
存储单词基本信息,英文、词性、中文解释等。
选择词库维护编辑单词本信息,实现增加、修改、删除、补充(单词已有,补充新的释义)的功能。
(3)单词背诵及成绩统计
选择单词预览进行单词学习。
单词背诵时有两种模式选择,选择题背诵及拼写单词背诵,而且支持多次背诵。
答对加十分,答错扣十分,错词计入错题本。
可查阅自己的总成绩,未达过关成绩可以选择错题重背直至完全掌握。
(4)单词复习
背诵完全正确时界面显示没有错题继续努力。
有错题时可以选择错题重背加强记忆。
(5)退出系统
当退出系统时可以进行打卡,统计背诵单词天数。

设计要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。

拓展功能要求
(1)对用户的输入进行一定的正确性检查。
(2)能统计每一个单词出现频率及背诵正确率,供以后出题时提供依据。
(3)能设置提醒功能,激励大家坚持下去。
(4)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。

三、 程序设计要求

附1:对学生程序设计期间的纪律及提交内容的要求:

《程序设计(上机)》课程对学生的要求
(1)上机前要作好充分的准备,包括事先写好算法的主要程序代码等,以保证能充分利用上机时间,另外,每人手头应准备一至两本有关的工具书。
(2)每组选出一个组长,组长负责组内成员的工作分配及考勤。工作任务包括:编程、资料收集、资料录入、程序测试、报告写作等。组长最好由有一定编程经验和组织能力的同学担任。
(3)规定的上机时间内不得无故缺勤,有事需要向辅导员及指导老师书面请假,不得迟到早退。上机时间内禁止玩游戏、看片及QQ聊天等与程序设计无关之事。
(3)课程的最后阶段认真完成程序设计报告,报告内容不得少于15页,要求格式规范,层次清晰。为兼容性起见,报告最好为word格式。
(5)程序设计结束时需提交报告。另外,源程序代码、原始数据文件等也可视需要提交。
(6)提交的材料由各组长收齐、核对无误后交给班长或者学习委员。组长需检查所有成员提交的文档是否符合要求。班长或者学习委员收齐、核对无误后,压缩成一个文件包,起名为:程序设计_班级名.rar,发给老师。为了防止意外,应留有备份。为每个小组建一个目录,以组号_题目命名,如:第03小组_模拟电影院售票系统,组号为两位数,不足前面补0。
该目录中包含:
 报告电子版一份,以程序设计_组长学号后两位_组员学号后两位_组员学号后两位.doc命名,如:程序设计_01_02_03.doc。为兼容性起见,要求学生提交doc版,而非wps版。
 源程序文件一份,以课题名命名,如:模拟电影院售票系统.cpp。
 数据文件一份,按实际需要命名。
 其他维持代码正常运行所需要的文件,按实际需要命名。
(7)进度安排建议:考虑到只有一周的上机时间,所以各位同学一定要抓紧哦!第一天布置任务、查找资料、小组同学讨论、给出需求分析以及初步规划并开始编写源代码。第二天和第三天主要进行程序的设计和编写,边写代码,边组织成员测试,第四天和第五天主要进行代码的完善和调试,完成报告的撰写,并准备进行答辩、验收。

附2:成绩的评定
(1)上机出勤情况。
(2)为上机所作的准备情况。
(3)在机房集中上机时的表现。
(4)最终完成的程序情况:正确性、健壮性、全面性、模拟化程度、清晰可读性等。
(5)程序设计报告的完成情况。
(6)验收程序回答老师问题情况,如果有答辩的还要看答辩时的表现。
(7)综合以上多种因素,最后成绩等级为:优秀、良好、中等、及格、不及格。

附3:B240103班集中上机安排(非集中上机的时间请每个小组自行组织上机、研讨)
第12周上机时间及地点: 均在仙林校区计算机学科楼里
星期一 星期二 星期三 星期四 星期五
1-9节
学六-202 1-9节
学六-204 1-5节
学六-204
6-9节
学六-206 10-12节
学六-202 8-9节
学六-204

四、 任务分配
本次程序设计题目共有8个,请先自行分组,每组2-3人。每组请确定组长,具体选题方式后面在群里给大家说。本课程的具体组织形式见表1中的红色部分。

表1 “程序设计(上机)”课程组织形式
模式 个体模式 小组模式
材料提交形式 每人各自提交代码、报告 每人各自提交代码、报告 小组共同提交一份代码和报告
适用报告模版 报告样稿(个体报告版) 报告样稿(个体报告版) 报告样稿(团体报告版)
其它要求 (1)每组不超过三人。
(2)学生的代码量、工作量要饱满。 (1)每组不超过三人。
(2)学生的代码量、工作量要饱满。

各小组要明确各自的任务分工,包括系统设计、程序编写、代码测试、数据资料准备、报告撰写等,必要时还需安排答辩PPT制作等任务。

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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐