C/C++数据结构课程设计题目(7题)[2024-06-21]

C/C++数据结构课程设计题目(7题)[2024-06-21]

一、QQ号码管理系统

  1. 问题描述
    设计哈希表实现QQ号码管理系统。
  2. 设计要求
    (1)假设有1000条QQ号码信息,每条记录包含:QQ号、昵称、密码。
    (2)可以随机生成这1000条记录,自行设计哈希表实现存储。
    (3)采用适当的方法解决冲突;在哈希函数确定的前提下,尝试不同类型处理冲突的方法,考察平均查找长度的变化。
    (4)有用户图形界面。
    (5)模拟QQ用户登录过程,进行QQ号和密码验证。

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

二、模拟计算器

  1. 问题描述
    设计一个模拟计算器的程序,要求能对包含加、减、乘、除、求余、括号运算符及SQR和ABS函数的任意整型表达式进行求解。
  2. 设计要求
    (1)要检查相关运算的限制条件,并对错误的条件产生报警。
    (2)有用户图形界面。

三、家族关系查询系统

  1. 问题描述
    以曾国藩家族谱系为例,建立家族关系数据库,实现对家族成员信息的存储及关系查询。
    曾国藩家族谱系
  2. 设计要求
    (1)建立家族关系并存储到文件中,以树状结构在屏幕上呈现。
    (2)实现家族成员的添加。
    (3)可以查询并展示家族成员的双亲、祖先、兄弟、孩子和后代等信息。
    (4)可以查询并展示家族中任意两个成员相互之间的关系。
    (5)有用户图形界面。
    3.思考
    在家族关系查询中包含了许多查询功能,可通过输入不同的命令和参数有选择的实现各种查询。在编写程序时,可以加入修改成员信息的功能并能及时更新保存。

四、安排教学计划

  1. 问题描述
    大学的每个专业都要制订教学计划。假设任何专业都有固定的学习年限,每学年含两个学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。
    要求实现的基本功能如下:
    (1)录入课程目录。
    (2)可以编辑课程目录,如课程增加、删除、信息修改等。
    (3)满足一定条件的教学计划的输出。
  2. 设计要求
    (1)基本要求:输入参数包括:学期总数、一学期的学分上限、每门课的课程号(固定为占3位的字母和数字串)、学分和直接先修课程的课程号。
    (2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽量地集中在前几个学期中。
    (3)若根据给定的条件无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。教学计划的表格格式自行设计。
    (4)有用户图形界面。
  3. 测试数据
    学期总数:8;学分上限:10;该专业共开设16门课,课程号从C01~C16,学分顺序为2,3,4,3,2,3,4,4,4,5,4,4,2,3,2,3;先修关系自定义(画图)。
  4. 实现提示
    可设学期总数不超过8,课程总数不超过40。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。应建立内部课程序号与课程号之间的对应关系。

五、“十佳毕业生”评选

  1. 问题描述
    新一届“十佳毕业生”评比开始了!每一位在校学生可以通过网上评比系统,为自己认为优秀的学生提名和投票。请开发一个可用于该需求的系统,满足下列基本功能。
    (1) 提名优秀学生和投票。
    (2) 查看提名学生的基本信息。
    (3) 显示个提名学生的票数。
    (4) 设计排行榜。
  2. 设计要求
    (1) 基本要求
    ① 采用散列存储,存放提名学生的相关信息。
    ② 设计哈希函数和冲突解决方法。
    ③ 提名学生至少包括以下信息:姓名、票数、个人基本信息(如班级、专业、年级、突出事迹等)。
    ④ 设计输入提名学生信息的界面。
    ⑤ 完成图示基本功能(选作)。
    ⑥ 界面友好,操作简单。
    ⑦ 设计足够多的测试用例。
    ⑧ 查看指定学生的票数。
    ⑨ 按序显示各提名学生票数。
    (2) 较高要求
    ① 限制每个人的投票次数。
    ② 按软件用途,扩充其他功能。
    ③ 实现数据的后效验,即不接受非法数据。
  3. 实现要点提示
    (1)投票就是在哈希表中查找提名学生的过程。若找到,则为该学生添加一票。若没找到,则将该青年插入到哈希表中。
    (2)哈希函数可根据姓名拼音的ASCII码来设计,例:h(key)=key%HashLength,其中k为姓名所有拼音的ASCII码值的累加和,HashLength为表长。如此,需要存储提名学生姓名的拼音。
    (3)为显示排序榜,可采用二叉排序树。根据散列存储的数据,建立按票数的二叉排序树。然后求其中序序列,前10位即为上榜者。

六、运动会分数统计

  1. 问题描述
    参加省大学生运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。
    2.设计要求
    (1)可以输入各个项目的前三名或前五名的成绩;
    (2)能统计各学校总分;
    (3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
    (4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;
    (5)数据存入文件并能随时查询;
    (6)输入:输入学校的名称,运动项目的名称。
    (7)输出:要求有中文提示,各学校分数为整型。
    (8)界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
  2. 测试数据
    要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据进行程序测试,以保证程序的稳定。
    例如,对于n=4,m=3,w =2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。

七、航空客运订票系统

  1. 问题描述
    航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
  2. 设计要求
    (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);
    (2)系统能实现的操作和功能如下:
    1)录入:可以录入航班情况,全部数据可以只放在内存中,最好存储在文件中;
    2)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
    3)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额系统情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补;
    4)承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
  3. 选做
    当客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。还可充分发挥自己的想象力,增加你的系统功能和其他服务项目。

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值