C/C++课程设计题目(34题)[2024-03-11]

C/C++课程设计题目(34题)[2024-03-11]

第1部分《C/C++程序设计课程设计》目标和内容
《C/C++程序设计课程设计》实训课程是对学生的一种全面综合训练,它包括需求分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂的多,也更接近实际。课程设计着眼于理论与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养程序设计工作所需要的知识综合能力和动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。
1.1 课程设计目标
使学生综合使用所学过的C/C++语言程序设计知识,掌握面向过程和面向对象程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的面向对象程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
课程设计的目的和要求:
(1) 使学生巩固和加强《C/C++程序设计》的理论知识。
(2) 使学生掌握C/C++语言的基本概念、语法、语义和数据类型的使用特点。
(3) 使学生掌握C/C++语言程序设计的方法及编程技巧,能正确使用C/C++语言编写程序。
(4) 进一步理解与运用面向过程和面向对象程序设计的思想和方法;
(5) 使学生掌握调试程序的基本方法及上机操作方法。
(6) 掌握书写设计开发文档的能力,使学生学会撰写训练总结报告。实训的思想和方法还可以作为学生做毕业论文时的参考资料。
(7) 通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。
(8) 初步掌握开发一个小型实用程序的基本方法:结合实际应用的要求,使技能训练的内容既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。
(9) 培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考方法,自己设计出相应的应用程序。
(10)培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。
1.2 训练内容
1.2.1 设计环境
1、硬件:PC机,档次不低于CPU为P4,内存为512M,40G硬盘,其它硬件与此相配套。
2、 软件:操作系统为Windows XP或Windows2000,开发平台Visual C++或VS2005以上,设计语言为C/C++。
1.2.2 基本要求
(1) 课程设计可采取每人一题,可任选一题进行设计,至少包含五个功能模块。或者每组完成一个课题,每组成员分工合作完成一个课程设计,每个人的任务不同;
(2) 可以选择老师提供的参考选题,也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用。
(3) 要求利用面向对象程序设计方法以及C/C++的编程思想来完成系统的设计;
(4) 要求有欢迎界面、菜单、文件或数据库操作,数据使用数组、结构体、链表等均可,键盘操作或鼠标操作均可;
(5) 模块化程序设计:要求在设计的过程中,按功能定义函数书写多个文件,进行模块化设计,各个功能模块用函数的形式来实现;
(6) 学生所选课题必须上机通过,并获得满意的结果;
(7)程序书写风格:采用缩排格式编写程序。
1.2.3 设计步骤
(1) 根据问题描述,进行需求分析,设计数据存储方式;
(2) 总体设计。分析系统功能,划分功能模块,确定各模块函数名称,对类的接口进行设计;
(3) 详细设计。主程序算法设计和各模块算法设计,对类的实现进行设计;
(4) 编程实现;
(5) 调试和测试;
(6) 完成设计文档和课程设计说明书。
1.2.4 课程设计报告的要求
1、需求分析
描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。
2、总体设计(程序设计组成框图、流程图)
3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)
4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施
5、测试结果,用几组测试数据进行测试算法设计的正确性。
6、用户手册:即使用说明。
7、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。

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

第2部分 课程设计题目

一、学生选课管理系统
开发一套选课系统,由学生选课系统、教师系统和教务处管理系统三部分组成。
1.教务处主任可以通过教务处管理系统进行如下操作:
a) 管理课程,包括确定每一门科目的学时、学分、所开班数、报名截至日期以及各班最多人数。
b) 查看课程选修情况,包括选修该课的学生人数及名单,该课程的候选授课教师。
c) 查看教师授课情况,包括教师信息,所选课程。设置该教师可以教授的课程。
d) 查看教师得票情况,并以此来确定每一门课由哪位教师教授。
2.教师可以通过教师系统进行如下操作:
a) 查看自己能选择教授的课程。
b) 选择自己想选择教授的课程。
c) 查看自己已选择的的课程。
3.学生可以通过学生选课系统进行如下操作:
a) 查看备选课程及该课程的信息。
b) 查看希望教授该课程的教师的信息。
c) 选择希望选修的课程,并从候选的教师中选择两个自己认同的教师(如只有一个候选教师则只能选择一个),相当于给教师投票,该投票结果最终决定该课程的任课教师。
d) 删除误选的课程。
选课的规则如下:
a) 每个学生最多能选5门课,至少选2门课。
b) 每门课选修的人数有限,如果选修的人数超过了限制的人数,先报名的学生有上课的资格。
c) 学生选课时可以选择课程,同时选择2名候选的任课教师。
d) 每名教师最多可以教授3门课。
学生必须在日前确定自己选修的课程。

对象模型图

二、家庭理财管理系统
1、 收入者、支出者信息维护,管理人员可以对这些信息进行维护。
2、 收入、支出项目信息维护,管理人员可以对该信息进行维护。
3、 各种统计查询,根据各种组合查询条件对收支项目信息(月、年)、收支人(月、年)信息等进行统计查询。
4、 根据查询结果,生成Excel图表(选做)。

三、通讯簿
1、用户权限管理,管理人员可以对用户信息进行维护。
2、学生信息维护,管理人员可以对班级学生信息进行维护。
3、各种统计查询,根据各种组合查询条件对学生信息进行查询。
4、提供最新的记录变更提醒等高级功能(选做)。

四、教室使用管理系统
1、用户权限管理,管理人员可以对用户信息进行维护。
2、教室信息维护,管理人员可以对教室信息进行维护。
3、各种统计查询,根据各种组合查询条件对教室信息进行查询。

五、音乐管理系统
1、搜索功能:用户可以根据歌曲名称、歌手姓名、专辑名称和分类信息来查询歌曲。
2、投票功能:用户可以为自己喜欢的歌曲或歌手投票,每人每天最多可以投5票。
3、统计功能:统计本年度、本季度和本月最受欢迎的歌曲。
5、 管理功能:管理员可以管理歌曲曲目,为歌曲添加分类类别,修改歌曲的相关信息。

六、个人办公助理
1、添加新的待办事件。
2、提醒今日待办事件,完成事件列表。
3、提醒尚未完成事件,即截止当前时间还未完成的事件。
4、延期事件及其再定义。
5、删除事件列表。

七、个人理财助理
1、用户可以自定义收入、支出的条目,例如在收入项目,用户可以添加工资收入、购票收入、收回欠款等;支出项目可以有借款给别人、日常支出等。
2、用户可以动态添加收入、支出的明细项,例如日常花了多少钱、每天收入多少、支出多少等。
3、用户可以查看收支明细,并提供汇总功能。

八、职工工资管理系统
需求:公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、工龄、性别等信息。
程序基本功能:
1.增加、修改、删除一个职工信息。
2.显示全部职工信息。
3.按条件显示职工信息(条件有按电话号码、姓名、职称或职工号等)。
4.按条件显示工资信息(职工号,职称等)。
5.查找指定金额范围的职工职称。

九、电话拨号模拟机
本题目是要进行电话机拨号的模拟。电话机的功能分为三个大的方面:电话机拨号功能、记事簿功能、电话号码簿功能。具体要求如下:
用户可以直接点击数字按钮键进行拨号,也可以先选择“免提”按钮再进行拨号。拨号完成后点击“拨号”按钮,系统随机模拟发出拨通或占线声。
用户在拨号完成后可以选择“挂断”按钮挂断话机,也可以选择“暂停”按钮暂停连接。
用户还可以选择电话簿中的某个号码,然后通过点击“拨号”按钮进行自动拨号。
在一次拨号完成以后,用户也可以通过点击“重播” 按钮,重播上次刚拨过的号码。
在用户完成一次拨号时,在电话机正在试图接通本次连接时,用户可以选择将此电话号码存入电话簿中。
用户可以在留言簿中记录相关的通话或其他信息。
“记事本”、“留言簿”中的内容可以导出到外部文件之中。

十、成绩记录簿
编制一个C/C++程序设计语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:
(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的成绩;
(3)按学号或姓名查询成绩;
(4)添加成绩记录;
(5)修改指定姓名或学号的学生的成绩并可存盘;
(6)显示输出60分以下、6079、8089、90分以上各分数段的学生信息。

参考界面如下:

学生成绩记录簿
============
1.输入学生信息(学号、姓名、C/C++程序设计语言成绩)
2.输出所有学生成绩
3. 添加学生成绩记录
4. 按照学号查询成绩
5. 按照姓名查询成绩
6. 按照学号修改成绩并保存
7. 按照姓名修改成绩并保存
8.显示出某个分数段的学生信息
9,退出

十一、学生考勤管理系统

考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能:
1.录入学生的缺课记录;
2.修改某个学生的缺课记录;
3.查询某个学生的缺课情况;
4.统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;
5.统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;
6.系统以菜单方式工作。
具体要求如下:
1、 采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。学生也可根据自己对题目的理解增加新的功能模块(视情况可另外加分)。
2、 系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。
3、 程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)。
4、 编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等);

十二、BST的表示和实现
熟悉掌握动态查找表的表示和实现,熟悉BST(Binary Sort Tree)二叉排序树的基本概念,包括,在这基础上,用C或者C++语言实现BST的基本操作能够把这些操作过程显示出来。
课程设计的要求:
课程设计的主要要求是必须实现内容里面所包括的BST的基本操作:
1) 构造一棵BST,构造的过程必须是灵活的,能够根据输入的数据来构造;
2) 遍历BST,包括前序遍历,中序遍历,后序遍历,并且每一种遍历都必须要用递规和非递规的方法实现,总共编写6个函数实现遍历;
3) 动态插入和删除BST,删除共有三种情况,每一种情况都要实现一次;
4) 能够把BST树按照树的层次和次序在屏幕上显示出来,而且对BST的每个操作前后都必须把BST输入到屏幕一次,以区别操作前后的变化;
5) 课程设计的格式采用给定的格式,必须严格按照格式编写课程设计说明书;
数据:
1) 数据的输入。说明书里面的数据由自己自由输入;答辩的时候,数据输入由老师自由选择合适的数据输入;
2) 数据的输出。必须得到合理的数据输出,例如输入一序列的不同大小的数,通过程序必须得到正确的BST,以此类推,插入和删除操作的结果也必须是正确的,而且必须通过屏幕显示出来;

十三、银行储蓄系统
1、实现描述银行的类Bank,记录系统中现有哪些储户(至少包含两种:活期储户和定期储户。可用数组实现,但注意判断数组越界的情况),定义生成储户的函数Append,按照帐号删除储户的函数Delete,按照帐号查询储户的函数Query,并显示查询结果;
2、定义储户类Account_1(活期储户),具有帐号、存款人姓名和余额等属性,操作Saving(处理存款业务)、Withdraw(处理取款业务,余额不足时不予取款并给出提示)和ShowMe(显示储户所有信息)。
3、定义储户类Account_2(定期储户),具有帐号、存款人姓名和余额等属性,操作Saving(处理存款业务)、Withdraw(处理取款业务,余额不足时不予取款并给出提示)和ShowMe(显示储户所有信息)。
4、编写main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询储户,以及储户存款和取款的操作。

十四、公交线路管理系统
需求:本系统实现某个局部区域若干条公交线路(不少于20个站点10条公交线路)的管理系统,可以对它的发班时间、收班时间、途径车站等进行添加、修改和删除。
程序的基本功能:
1.增加、修改、删除一条公交线路信息。
2.增加、修改、删除公交站点信息。
3.按条件显示公交线路信息(条件有按线路名称、途径车站等)。
4.提供两站点之间的乘车路径。

十五、成绩管理
由于同学们已经学习了指针、链表、文件读写等基本知识,为了与后续课程,如数据结构、数据库系统等有一个知识体系上的衔接,特设置一个信息管理类的课题《成绩管理系统》,其它诸如人事管理、学籍管理、图书管理、通讯录管理等,结构类似,仅管理对象有所不同。
管理内容包括:
学号、姓名、班级、五门课成绩。
主要功能有:
添加、修改、删除、读出、写入、查找、排序、计算总分、平均分、分类汇总等。
编写代码,运行程序后,显现下面的参考界面:

成绩管理
============
1.输入学生成绩
2.修改学生成绩
3.删除学生成绩
4.计算每位学生的总分
5.计算每位学生的平均分
6.按学号或姓名查询学生成绩
7.按班级查询学生成绩
8.成绩排序
9.按班级统计学科总分、平均分等
请选择(1~9,0:退出):

选择一个菜单后,显示结果。

十六、学生学籍管理系统
用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。
功能要求:
1、系统以菜单方式工作。
2、登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;
3、删除已知学号的学生信息;
4、查找已知学号的学生信息;
5、按学号,专业输出学生籍贯表。
6、查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。

十七、一元多项式简单的计算器
1主要功能:
(1)输入并建立多项式;
(2)输出多项式;
(3)两个多项式相加,建立并输出和多项式;
(4)两个多项式相减,建立并输出差多项式。
(5)两个多项式相乘,建立并输出差多项式。
(6)算法的时间复杂度、另外可以提出算法的改进方法
实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。
2.要求:一元多项式简单计算器的基本功能

十八、采用高斯先列主元消元法求解线性方程组AX=b((最多允许1人一组,最多允许4组选择))

方法说明(以4阶为例):
(1)第1步消元——在增广矩阵(A,b)第一列中找到绝对值最大的元素,将其所在行与第一行交换,再对(A,b)做初等行变换使原方程组转化为如下形式:

,注:“*”代表非0。
(2)第2步消元——在增广矩阵(A,b)中的第二列中(从第二行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b)做初等行变换使原方程组转化为:

(3)第3步消元——在增广矩阵(A,b)中的第三列中(从第三行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b)做初等行变换使原方程组转化为:

(4)按x4  x3 x2 x1 的顺序回代求解出方程组的解。

十九、排班系统
学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:

	星期一	星期二	星期三	星期四	星期五	星期六	星期日
老钱	√					√	
老赵		√		√			
老孙			√				√
老李					√		
老周	√			√		√	
老吴		√			√		
老陈			√			√	√

则有四个可选方案,运行结果如下:

Solution: 1 
老赵	老钱	老孙	老李	老周	老吴	老陈
星期四	星期一	星期三	星期五	星期六	星期二	星期日
 

Solution: 2 
老赵	老钱	老孙	老李	老周	老吴	老陈
星期四	星期一	星期日	星期五	星期六	星期二	星期三
 

Solution: 3 
老赵	老钱	老孙	老李	老周	老吴	老陈
星期四	星期六	星期三	星期五	星期一	星期二	星期日
 

Solution: 4 
老赵	老钱	老孙	老李	老周	老吴	老陈
星期四	星期六	星期日	星期五	星期一	星期二	星期三

需事先如下功能:
(1)主函数实现主菜单的显示。

(2)存放 7 位保安选择的休息日信息。
(3)编写一函数提示保安人员输入休息日信息,并将信息保存到 RestDay.txt 文件中。
(4)编写一函数,将 RestDay.txt 文件信息读出。
(5)编写一函数根据数据进行排班,并给出满足要求的所有休息日方案。

二十、班级档案管理系统
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:
(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
(2)本系统显示这样的菜单:
请选择系统功能项:
a 学生基本信息录入
b 学生基本信息显示
c 学生基本信息保存
d 学生基本信息删除
e 学生基本信息修改(要求先输入密码)
f 学生基本信息查询
(1)按学号查询
(2)按姓名查询
(3)按性别查询
(4)按年龄查询
g. 退出系统
(1)执行一个具体的功能之后,程序将重新显示菜单。
(2)将学生基本信息保存到文件中。
(3)进入系统之前要先输入密码。

二十一、通讯录管理小系统
设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:
(1)系统以菜单方式工作
(2)信息录入功能
(3)信息浏览功能
(4)信息查询功能
(5)信息修改功能
(6)系统退出功能

二十二、宾馆客房管理系统
宾馆的客房信息包括客房号、客房类型、客房价格、空闲情况、客人姓名、客人身份证号、入住时间、退房时间,预付费用等信息。试设计一宾馆客房管理系统统,系统以菜单方式工作,使之能提供以下功能::
(1)系统以菜单方式工作
(2)客房信息的录入功能
(3)客人入住登记
(4)客人退房结算
(5)客房信息浏览功能,浏览全部客房的信息
(6)客房信息查询:查询空房间情况、按姓名或房间号查询
(7)客房信息的删除、修改功能

二十三、库存管理系统
某仓库,需要存储这些物品的的信息:产品编号、产品姓名、产地、数量、价格、总价值:
(1)系统以菜单方式工作
(2)添加删除功能:添加删除记录
(3)查询功能:能根据产品编号和产品姓名进行查询
(4)编辑功能(高级):根据查询对相应的记录进行修改,并存储
(5)保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开
(6)客房信息查询:查询空房间情况、按姓名或房间号查询
(7)客房信息的删除、修改功能

二十四、最小包围圆问题求解
最小包围圆问题是计算几何中的一个很经典的问题:输入平面上n个点的坐标,输出一个圆的圆心和半径,这个圆刚好包围了给出的n个点,即这个圆是包围了给出所有点的最小的圆,求最小包围圆的圆心位置和半径。
功能要求如下:
(1)查阅资料理解最小包围圆算法
(2)定义一个结构体类型或类表示平面上点的位置坐标。
(3)编写一个函数求两点之间的距离。
(4)编写一个函数确定三点是否在同一条直线上
(5)编写一个函数求n 个点集的最小包围圆。
(6)编写一个函数求通过点q,包含了n个点集中所有点的最小包围圆。
(6)编写一个函数求通过点 q1 和 q2,包含了 n 个点集中所有点的最小包围圆。
(8)主函数中实现平面坐标点个数及坐标的输入,调用以上函数,求出最小包围圆的坐标位置及半径。

二十五、特殊数据的输出
请编写程序,由系统随机产生一个正整数n(1<n<50000),根据菜单提示,选择输出小于n的以下7种特殊数据中的一种:(1)完全数,(2)亲密数,(3)水仙花数,(4)阶乘和数,(5)自守数,(6)孪生素数;直到用户退出系统。
功能要求如下:
(1)系统以菜单方式工作。
(2)采用1行输出5个数据的格式。
(3)主函数实现正整数n的随机产生和菜单的显示,如下图所示。数据n作为函数的实参传递给各个子函数。

(4)子函数实现1到n之间的特殊数据的判断和输出,不同类型特殊数据的判断用不同子函数实现。
说明:各类特殊数据的解释如下:
1)完全数是恰好等于自身的因子之和的数,例如6是完全数,因为6=123=1+2+3
2)亲密数是两个正整数,其中一个整数的全部因子之和等于另一个(因子中不计本身),例如220和284是亲密数, 因为220的全部因子是1,2,4,5,10,11,20,22,44,55,110,和为284;而284的全部因子是1,2,4,71,142,和为220。
3)水仙花数是恰好等于自身各位数字立方和的数,例如153是水仙花数,因为153=13+53+33
4)阶乘和数是恰好等于自身各位数字阶乘的和的数,例如145是阶乘和数,因为145 = 1!+4!+5!。
5)自守数是平方后尾部数字是自身的数,例如9376是,因为93762=87909376。
6)孪生素数是差2的两个素数,例如197和199

二十六、绘制钟表
在屏幕上绘制一个图形时钟,如下图所示。要求时钟显示时间与系统时间一致,并且时针、分针和秒针能随着时间的推移准确走动。

功能要求如下:
(1)
(2)时钟的基本组成包括圆形表盘和时针、分针、秒针,其中表盘还包括中心点、刻度和数字
(3)编写一函数实现表盘的绘制。
(4)编写一函数实现时针、分针、秒针的动画绘制。
(5)主函数中初始化图形设置,并调用上述函数实现钟表的动态绘制。
说明:
本题可直接使用Visual C++(VC)中的基本绘图功能,既采用WinSDK中的GDI模式实现;
也可以采用Turbo C(TC)中提供的图形处理库函数、头文件和其他支持图形处理的辅助软件。
若在VC 6.0开发平台使用TC 的基本绘图功能,可添加graphics.h和graphics.lib头和库。
添加的操作步骤如下:

  1. 下载graphics.h和graphics.lib两个文件;
  2. 将graphics.h文件拷贝到VC安装目录下的Include子文件夹内(如:C:\Program Files\Microsoft Visual Studio\VC98\Include)
  3. 将graphics.lib文件拷贝到VC安装目录下的Lib子文件夹内(如:C:\Program Files\Microsoft Visual Studio\VC98\Lib)

二十七、年历显示
编写程序实现如下功能:

  1. 输入年份,在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。
  2. 输入年月,输出该月的日历。。
    功能要求如下:
    (1)菜单显示
    (2)输入任一年份,输出该年的日历(星期、月份中英文均可)。第一行显示星期,从周日到周六,从第二行开始显示日期,并与星期垂直对齐,日期从1号开始,如下图。

(3)主函数显示主菜单界面,并根据菜单进行多分支选择,如下图所示。

二十八、歌手比赛系统
设计一个歌手大赛的管理程序。歌手信息包括:歌手编号、姓名、评委的打分(假设10个评委)等。
功能要求如下:
(1)主界面菜单显示

(2)录入全部歌手的基本信息:歌手编号及姓名。
(3)10个评委的打分随机生成,分数在0-100之间,歌手最后得分去掉一个最高分和最低分,求平均值。
(4)显示全部歌手的信息。
(5)对全部歌手按成绩排序。
(6)根据歌手编号,查询该歌手全部信息。
(7)添加一个歌手。
(7)将全部歌手信息保存到一个文件之中。

二十九、实验设备管理系统设计
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
功能要求如下:
(1)主界面菜单显示
(2)能够完成对设备的录入和修改。
(3)对设备进行分类统计。
(4)设备的破损耗费和遗损处理。
(5)设备的查询。
(6)使用文件方式存储数据。

三十、学生学籍管理系统(用类实现)
系统主要功能描述(可自己增加或修改部分功能)。
(1)设计一个学生类Student,包括姓名,学号,性别,籍贯,年龄,出生日期和住址,其中"出生日期"定义为一个"日期"类(具有属性:year(年),month(月),date(日))内嵌子对象。
(2)具有数据的录入、显示、保存、查询(按学号或姓名查询)、修改和删除功能。
(3)对Student类重载"=="运算符和"="运算符,"=="运算符判断两个Student类对象的id属性是否相等;"="运算符实Student类对象的赋值操作。
(4)对给出的程序源代码要给出各部分的详细注释。
(5)自己根据能力及需要添加相应功能模块,增强模拟系统功能。
功能要求如下:
(1)系统以菜单方式工作
(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息
(3)删除已知学号的学生信息
(4)查找已知学号的学生信息
(5)按学号,专业输出学生籍贯表
(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业

三十一、机房机位预定系统
20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。
功能要求如下:
(1)系统以菜单方式工作
(2)查询,根据输入时间,输出机位信息
(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表
(4)退出预定,根据输入的时间,机器号撤销该事件的预定
(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息

三十二、长途汽车站订票系统
本系统对旅客、车次以及旅客订票情况信息进行登记、修改、删除等
功能要求:
(1)系统以菜单方式工作
(2)增加、修改、删除一个旅客资料
(3)增加、修改、删除一个车次资料
(4)增加、修改、删除一个订票
(5)按条件显示所订所有订票资料(条件有按旅客、车次等)。

三十三、图书室借阅管理系统
该系统存储以下信息:对于同一作者用一书名的书,存储书名、书目编号、作者名、库存册数(不包括已借出的)和已借出册数;对于每一本书还要存储一个登陆号(这是区别每一本书的唯一标志)、当前借阅该书的读者姓名与借书证号以及借阅日期等
功能要求:
(1)处理借书。要求读者提供书目号与登陆号,一位读者限借2册。(应检查库中有无读者要求借阅的图书,检查该读者已借阅图书的数量)。读者分学生、研究生和教师。所有学生的租期为1月,所有教师的租期为2月。
(2)处理还书。
(3)查询某登陆号的书被谁所借。
(4)查询读者的借阅信息
(5)查询读者信息(包括借书情况,到期时间,罚款情况。)
(6)管理员可以修改用户的欠款和交款的金额。
(7)系统以菜单方式工作
(8)图书信息录入功能(图书信息用文件保存)--输入
(9)图书信息浏览功能--输出
(10)查询和排序功能:(至少一种查询方式)--算法
*按书名查询
*按作者名查询
(11)图书信息的删除与修改(可选项)
(12)参考界面如下:

*****************************
            图书信息管理
*****************************
*图书信息录入
*图书信息浏览
*图书查询
   1书名
   2作者
*图书信息更改
*程序结束

三十四、运动会管理系统
设计一个运动会管理系统,用于管理比赛时体操、跳水、滑冰等赛事裁判员对赛事的评分。假设只有这3场比赛event,每场有5个裁判评分。
功能要求:
(1) 能够提供一个程序界面对运动员的基本资料进行输入、删除、修改和查询等,基本资料应保存在文件中。
(2) 能够输入、修改、查询某项比赛event的比赛时间,3项比赛的资料保存在文件中。
(3) 比赛项目分男子组和女子组,每个运动员的总分计算规则是:去掉最高分、去掉最低分求平均值。
(4) 提供界面让工作人员输入每场比赛的所有运动员的每个裁判的分数,能查询某场比赛所有运动员的最后得分
(5) 评分的资料保存在score.txt中,包含的数据项有:所属的学校、运动员编号、得分1、得分2、得分3、得分4、得分5、总分、平均分

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值