C/C++2024课程设计题目(11题)[2024-06-21]
计算机程序设计课程设计
选题组队说明:
- 每班同学分组选题,每组不超过三人,每个班的同学题目不能相同,分组后,第一个同学是组长,请大家完成分组和选题并报给各班班长,班长汇总无误后立即发给指导教师。
- 各组人员在共同分析选题功能后进行具体人员分工,在选题一周后报指导教师。
- 答辩时间初步定在第10周,具体时间另行通知。
- 有能力及时间可在完成选题任务之后选作其它题目。
- 请参考所给的课程设计指导开展课程设计工作。
程序要求
1、 采用计算机程序设计方法及C语言对选题进行分析,并进行程序的功能设计,划分功能模块;
2、 设计函数来实现各模块功能,通过main函数调用各函数实现系统功能;
3、 系统具有增加、查询、修改、删除、排序等基本功能;
4、 系统各模块功能采用菜单选择形式,至少具备一级菜单,可根据需要设计多级菜单;
5、 输入/输出的数据结果要求准确、清晰、美观,同时对应的数据输入/输出应有相应的提示说明;
6、 完成设计任务并书写课程设计报告,在设计报告中画出系统功能模块图及各模块的算法流程图,最后提交C源程序和课程设计报告。
注:
1) 显示或输出可根据需要显式输出(即选择菜单中的输出或显示)或隐式输出(完成某项操作后即刻输出)。
2) 编码行数至少在800行以上,鼓励采用链表和文件存储及处理数据。
3) 如果采用链表和文件存储及处理数据,可根据完成情况给予适当加分(1-5分)。
4) 如果采用了链表和数组两种不同方式完成了设计题目,可根据完成情况给予适当加分(1-5分)。
5)如果学生有自主选题方案,可以和指导教师沟通确认。
评分办法:
- 第10周进行答辩验收,每组PPT答辩并进行系统演示。
- 按照题目进行答辩验收。验收时,每组选择一名同学进行验收和答辩。同一道题一同验收。
- 答辩组评审教师根据每组同学的完成情况和课程设计报告文档分别进行评分,最终成绩由答辩验收成绩(80)+文档评分成绩(20)综合评定。
- 该组最终评分作为组长的成绩,组员成绩在此基础上根据分工任务及完成情况依次递减,绩差至少2分及以上(验收前请各组给出排名顺序)。
答辩验收评价标准(共计80分)
序号 项目观测点 要求 分值
1 设计思路 思路清晰、设计合理 30
2 功能实现 系统功能实现完整,符合要求 30
3 代码规范 代码规范符合程序设计编码风格 10
4 用户界面 用户界面友好易用 10
文档标准(共计20分)
序号 项目 要求 分值
1 正文内容 正文内容完整,系统功能模块划分合理,流程图正确 12
2 总体框架 符合框架格式要求,不缺项;排版规范,符合格式要求 8
最后提交:
- 提交C源程序和课程设计报告。
- 源程序能正常运行。要求:
(1)对于程序中的关键语句需要加注释。
(2)对于程序中未能实现的部分需要加以说明。
- 源程序能正常运行。要求:
- 课程设计报告和源程序放到一个文件夹中,文件夹命名规则:班级_题目号_组长姓名。
- 例如计算机类2201班,1号题目组长为张三同学,文件夹命名应为:计算机类2201_01_张三。
注意:
提交的课程设计报告请参考“课程设计模板”,请同学们仔细阅读并完成。
源码联系UP主 -> https://space.bilibili.com/329101171
设计题目:
1、 设计并实现一个KTV点歌程序,实现点歌功能。要求实现二级菜单:
- 初始化歌曲库。(包括歌曲的名称、演唱者)
- 点歌
- 已点歌曲
请选择:
选择2. 点歌,显示二级菜单:
- 按照歌曲的拼音字母排序显示;
- 按照演唱者的名字排序显示
请选择
选择歌曲后将歌曲添加到已点列表。
选择3.已选歌曲,显示二级菜单: - 显示已点歌曲
- 查询已点歌曲
- 删除已点歌曲
- 置顶
- 上移一位
请选择:
功能说明: - 显示已点歌曲:按照点歌顺序显示已点歌曲;
- 查询已点歌曲:输入查询歌曲名称后进行查询,若存在显示歌名以及序号;若不存在,显示:未点播此歌曲;
- 删除已点歌曲:在显示已点歌曲后,输入删除歌曲序号,将次歌曲删除,并重新排列序号。例如:“1.if you 2.红颜乱 3.凉凉”删除1.if you 后,显示“1.红颜乱 2.凉凉”;
- 置顶:在显示已点歌曲后,选择置顶歌曲的序号,将歌曲置顶,并重新排序列号。例如:“1.if you 2.红颜乱 3.凉凉”选择置顶歌曲:3.凉凉后,显示“1.凉凉 2.if you 3.红颜乱”;
- 上移一位:在显示已点歌曲后,选择上移一位歌曲的序号,将该歌曲上移一位后,重新排列序号。例如:“1.if you 2.红颜乱 3.凉凉”选择上移一位歌曲:3.凉凉后,显示“1.if you 2.凉凉 3.红颜乱”。
2、 设计并实习一个手机库存管理系统。要求实现至少以下功能:
- 产品录入
- 产品查询
- 产品增加
- 产品删除
- 产品入库
- 产品出库
- 排序
- 退出
其中具体功能如下: - 产品录入:产品初始化。录入产品编号,产品品牌,产品型号,产品数量,产品价格。
例如: 1001,华为,p30,10,5000
1002,小米,红米,5,2500
1003,华为,mata20,8,4000
…… - 产品查询:提供两种查询方式,按照品牌查找和按照编号查找。
例如:按照品牌查找,输入“华为”,显示:
1001,华为,p30,10,5000
1003,华为,mata20,8,4000
按照编号查找,输入:1001,显示:
1001,华为,p30,10,5000 - 产品增加:增加新的手机产品。
例如:增加:1004,苹果,iPhone X,0,9000,显示:
1001,华为,p30,10,5000
1002,小米,红米,5,2500
1003,华为,mata20,8,4000
1004,苹果,iPhone X,0,9000
…… - 产品删除:按照编号删除手机产品。
若该手机剩余个数为0,则可以删除,否则提示“该手机还有剩余,不能删除!”。
例如:删除1001,由于剩余个数为10,不能删除。
删除1004,删除成功。显示:
1001,华为,p30,10,5000
1002,小米,红米,5,2500
1003,华为,mata20,8,4000 - 产品入库:按照编号入库手机的个数。
例如:1001入库20个。显示:
1001,华为,p30,30,5000 - 产品出库:按照编号出库手机。
例如:1001出库15个。显示“
1001,华为,p30,15,5000 - 排序:要求按照编号从低到高以及按照价格从高到低两种方式进行排序。
- 退出:退出本系统。
3、 设计并实现一个宠物商店程序,实现宠物的管理。要求实现二级菜单:
- 初始化宠物
- 添加
- 修改
- 删除
- 查询
- 展示
请选择
功能说明:
- 初始化宠物:初始化多个宠物包括:宠物编号、种类、品种、单价、数量。例如:“cat0001,猫,加菲,7000,5”“dog0001,狗,泰迪,8000,7”…
- 添加:包括两种添加(添加宠物和添加一种宠物):
要求实现二级菜单: - 添加宠物
- 添加一种宠物
请选择:
添加宠物:展示所有的宠物,选择已有种类后,输入增加个数,在原有的种类上添加该数量的宠物。例如:“1. cat0001,猫,加菲,7000,5 2. cat0002,猫,折耳猫,8000,3 3. dog0001,狗,泰迪,8000,7 4. dog0002,狗,哈士奇,10000,4”选择增加种类:2,输入增加数量:3后,显示“1. cat0001,猫,加菲,7000,5 2. cat0002,猫,折耳猫,8000,6 3. dog0001,狗,泰迪,8000,7 4. dog0002,狗,哈士奇,10000,4”
添加一种宠物:输入新增的宠物编号、种类、品种、单价、数量。例如:“1. cat0001,猫,加菲,7000,5 2. cat0002,猫,折耳猫,8000,3 3. dog0001,狗,泰迪,8000,7 4. dog0002,狗,哈士奇,10000,4”输入新的宠物“rabbit0001,兔子,垂耳兔,150,10”后,显示“1. cat0001,猫,加菲,7000,5 2. cat0002,猫,折耳猫,8000,3 3. dog0001,狗,泰迪,8000,7 4. dog0002,狗,哈士奇,10000,4 5. rabbit0001,兔子,垂耳兔,150,10”; - 修改:展示所有的宠物,选择所要修改的宠物进行修改,例如“1. cat0001,猫,加菲,7000,5 2. cat0002,猫,折耳猫,8000,3 3. dog0001,狗,泰迪,8000,7 4. dog0002,狗,哈士奇,10000,4 5. rabbit0001,兔子,垂耳兔,150,10”,选择要修改的3后,再选择修改的选项“1. 宠物编号2.种类3.品种4.单价5.数量”,选择5后,修改为6后,显示“3. dog0001,狗,泰迪,8000,6”;
- 删除:展示所有的宠物,选择所要删除的宠物,注意修改后,宠物的序号。例如“1. cat0001,猫,加菲,7000,5 2. cat0002,猫,折耳猫,8000,3 3. dog0001,狗,泰迪,8000,7 4. dog0002,狗,哈士奇,10000,4 5. rabbit0001,兔子,垂耳兔,150,10”选择删除1后,显示“1. cat0002,猫,折耳猫,8000,3 2. dog0001,狗,泰迪,8000,7 3. dog0002,狗,哈士奇,10000,4 4. rabbit0001,兔子,垂耳兔,150,10”;
- 查询:包括按照种类查询和按照品种查询。实现二级菜单:
- 按照种类查询
- 按照品种查询
请选择: - 展示:按照编号排序后显示。
4、 设计并实现一个用户管理,实现用户的管理。要求实现两种角色:普通用户和管理员(用户名admin,密码:admin)。一级菜单:
- 注册
- 登录
请选择:
选择1.注册后,要求输入用户基本信息:用户名、密码、确认密码、性别、出生年月以及验证信息(邮箱);要求①验证信息必须是邮箱,且不能重复注册,若输入的邮箱不正确,请重新输入。提示:邮箱必须有@和.,@在.前面,且@不能开头,.不能结尾。②密码以及确认密码应该保持一致,若不一样,请重新输入。
选择2.登录后,实现二级菜单: - 普通用户登录
- 管理员登录
请选择:
选择1.普通用户登录后,输入用户名以及密码,密码有三次输入机会,若三次都输入错误,用户被锁定不可以再进行登录;若登录成功,用户可以修改自己的基本信息(邮箱不能修改)。
选择2.管理员登录后,输入用户名(admin)密码(admin)后,实现三级菜单: - 显示所有用户(按照用户名排序)
- 显示锁定用户(按照用户名排序)
选择2.显示锁定用户后,实现如下功能:按照用户名进行查询后,若存在该用户,将该用户的锁定状态解除。
5、 设计并实现一个房屋租赁管理系统,实现房屋的租赁。要求实现二级菜单:
- 我要出租
- 我要租房
- 退出
请选择:
选择1.我要出租后,进入二级菜单: - 添加房源
- 删除已租信息
请选择:
- 选择1.添加房源后,输入房屋的基本信息,包括:出租者姓名,房屋地址(城市、区、小区、门牌号),房屋面积、房屋格局(例如:一室一厅)、出租价格、联系电话。输入后,将房屋信息插入房源,并标识为“未租”。
- 选择2.删除已租信息后,显示“已租”各个房源信息例如:“1.李明,保定市,北市区,中华小区,2-5-203,100,三室一厅,1500,13700000001;2.何欣, 保定市,南市区,裕丰新区,5-1-101,150,四室两厅,3000,13700000002”,选择删除1后,显示“1. 何欣, 保定市,南市区,裕丰新区,5-1-101,150,四室两厅,3000,13700000002”
选择2.我要租房后,进入二级菜单:
- 房源信息(只显示未租房源)
- 查找(只查找未租房源)
请选择:
- 选择1.房源信息后,显示所有的租房信息。
- 选择2.查找后,进入三级菜单:
- 按照地址查找(只显示未租房源)
- 按照房屋格局查找(只显示未租房源)
请选择:
- 选择1.按照地址查找后,输入城市和区后,将查找结果按照价格从低到高显示。然后,再选择想要租的房子,将房子状态标识为“已租”
- 选择2.按照房屋格局后,输入房屋格局,将查找结果按照价格从低到高显示。然后,再选择想要租的房子,将房子状态标识为“已租”
6、 设计一个会员卡计费管理系统,根据下面内容自行设计会员个人信息及会员卡信息,至少具有下面所要求的基本内容,并通过菜单实现相应功能。
(1) 新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)
(2) 会员信息修改。
(3) 会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)
(4) 会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。
(5) 会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)
(6) 会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。)
(7) 统计功能:能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
7、 某停车场有20个车位(1-20号),设计一个停车场管理系统,实现停车场管理及计费(每停车1个小时收费10块钱)。车辆信息包括:车位号,车牌号,进入时间,离开时间,计费。
设计功能:
(1)车辆进入(判断有没有空车位,如果有,允许车辆进入,同时记录车位号,车牌号及辆进入时间)。
(2)车辆离开(按照车牌号或者车位号查找车辆,如果在车位,计费,同时让车辆离开,并将费用汇总)。
(3)查找空车位并显示车位号。
(4)查找车辆并显示车辆信息。
(5)显示所有在位车辆信息。
(6)显示缴费总金额。
(7)退出系统。
(8)设计一个菜单,至少具有上述操作要求的基本功能。
8、 设计实现一个餐厅点餐系统,实现电子点餐。要求实现二级菜单:
一级菜单:
请选择:
1.点餐
2.查看已点菜品
3.添菜
4.减菜
5.结算
0.退出
选择 1.点餐 后进入二级菜单:
1.宫保鸡丁 10
2.酱爆鸭片 18
3.木须肉 15
4.沸腾鱼 88
5.手撕圆白菜 12
6.麻婆豆腐 8
7.小鸡炖蘑菇 48
8.水晶肘子 58
9.米饭 3
0.香酥带鱼 25
a.返回
该系统完成以下功能:
1.点餐,进入点餐界面,选择菜品。
2.查看已点菜品,查看刚才点餐的结果。
3.添菜,在已点菜品的基础上增加菜品。
3.减菜,在已点菜品基础上减少菜品。
4.结算,根据已点菜品计算价格。
0.退出。
9、 设计一个车票售票系统,实现售票管理。
某车站出售从保定到北京机场大巴的当日车票,每趟车的信息包括:班次,发车时间,起点站,终点站,乘客人数,已售票数。每日有8趟车,发车时间分别是:6:00,7:00,9:00,10:30,14:00,15:30,16:30,17:30(根据情况可修改时间,添加车次或停发),每辆车额定乘客人数是45人。要求实现如下操作:
(1) 添加:添加车次(如时间为8:30,人数都为45人);
(2) 修改:修改发车时间(购票人数为0,才可修改);
(3) 删除:某辆车停开删除该车次(购票人数为0,才可修改);
(4) 查询:根据发车时间查询可乘车次,并显示出已售票数和剩余票数,若还有剩余则提示可以购票并出售车票,否则提示票已售完;
(5) 浏览:输出所有班次的信息;
(6) 退出:退出系统。
(7) 设计一个菜单,至少具有上述操作要求的基本功能。
10、 课程管理系统
某校对所开设课程进行管理,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验学时,学分,开课学期等信息。试设计一课程管理系统,使之能提供以下功能:
(1)系统以菜单方式工作;
(2)课程信息录入功能;
(3)课程信息浏览功能;
(4)课程信息查询功能:提供两种不同的查询方式:按学分查询和按课程性质查询;
(5)将满足某种条件的课程停开并将其删除,如按照课程编号或课程名称;
(6)按照开课学期进行排序;
11、 小区防疫门禁管理系统
小区为了防疫实行封闭管理,设计小区防疫门禁管理系统,每人设有门禁信息,包括:编号,姓名,电话,楼号,楼层,门牌号,出小区时间,进入小区时间等。试设计一小区防疫管理系统,使之能提供以下功能:
(1)系统以菜单方式工作;
(2)系统信息录入功能;
(3)系统信息删除功能;
(4)系统信息修改功能;只允许修改姓名和电话;
(3)系统信息浏览功能;
(4)进出小区记录查询浏览功能;
(5)门禁功能;根据疫情规定,每户每两天允许出门一次。
附加题目:
一担挑游戏,即简单计算机模拟棋盘对奕。棋盘左上角坐标为(1,1),右下角坐标为(3,3)。游戏规则如下:
- 计算机移动时,使用相应函数扫描棋盘矩阵,寻找未占单元:发现空单元后,置为“O”,未发现时,报告平局后退出。
- 轮到对奕者时,使用相应函数要求对奕者回答想把“X”放在哪里。
- 谁先三点连成一线了,则报告谁胜出。
- 计算机与对奕者每下一步棋都会使相应位置变为“O”和“X”,便于在屏上显示矩阵。
(提示:棋盘位置用2维数组代表,初始状态每一位置均应为“ ”(空)。其分隔线(即棋盘线)可用――或||来分隔)