C/C++程序设计选题(10题)[2024-09-04]

C/C++程序设计选题(10题)[2024-09-04]

信息科学与工程学院
课程设计指导书
计算机程序设计实践(二)

目 录
一、课程设计的目的 …1
二、课程设计的基本要求 …1
三、课程设计的内容 …1
四、课程设计的题目 …1
五、实验环境和设备 …2
六、课程设计进度安排 …2
七、课程设计报告要求 …2
八、课程设计评分标准 …3
九、课程设计参考资料 …3
附录 1:设计题目及基本需求 …4
附录 2:课程设计评分标准 …8

一、课程设计的目的
结合《程序设计基础(C语言)》和《面向对象程序设计(C++)》等课程
的教学内容,通过一个完整的应用程序开发,使学生在实践中加深对面向对象技
术和程序设计模式的理解和认识;加强对程序设计基本概念和方法的理解和掌握
,使得学生在程序设计方面的能力得到训练和强化,了解和掌握应用程序的开发
方法,对应用系统开发的全过程有一个初步的认识和实践;初步学会编写设计文
档,能够通过文档清晰说明系统分析和设计过程;训练学生的系统抽象、分析、
设计、调试能力,为后续的专业课程奠定程序设计基础。

二、课程设计的基本要求
本课程致力于使学生在问题分析、查阅资料、程序设计、工程实践和文档编
写等方面的能力得到综合锻炼。基于上述目标,课程设计的基本要求包括:
1.选题:满足课程设计的教学目的与要求,使学生得到全面的综合训练,
题目难度和工作量应适合学生的知识和能力状况。
2.任务:学生根据课题任务的要求合理地安排设计进度,按照面向对象程
序设计的步骤,完成需求定义、方案设计、程序实现及课程设计报告撰写。
3.目标:学生对选定课程设计的题目,应做到设计思路清楚,设计方案合
理,程序运行稳定且正确,报告撰写规范。

三、课程设计的内容

  1. 题目:基于学生所掌握的专业知识和实际编程能力,给出多个实际工程问
    题作为设计题目,供学生选择。
  2. 设计组: 2-3名学生组织成一个设计小组,小组成员将根据选定题目的设
    计要求协作完成需求分析、系统设计和代码实现等工作,最终完成满足需求要求
    的可执行程序和课程设计报告。
  3. 内容:设计内容的任务量和复杂度适中,每道题目所给出相应的基本开发
    要求,便于学生理解,能够被分解为若干独立的开发任务,以便于在小组成员中
    合理进行任务分配,使学生的个人编程能力和团队协作能力均得到锻炼。

四、课程设计的题目
课程设计题目如下:

  1. 自助咖啡机
  2. 智能手环
  3. 植物大战僵尸游戏
  4. 打地鼠游戏
  5. 移动通讯计费系统
  6. 自动售货机
  7. 机器人寻宝游戏
  8. 银行ATM机
  9. 快递驿站
  10. 电梯智能控制系统

注:每个设计题目的基本需求参见附录 1。
五、实验环境和设备
1.Windows、Linux和Mac OS X 操作系统
2.Visual Studio、VSCode、CLion、Code Blocks等开发工具
3.C++图形用户界面应用程序开发框架,如EasyX
六、课程设计进度安排

本课程共 48 学时,具体课程进度安排详见表1。
表1 课程进度安排
教学方式 主要内容 学时分配
理论授课
布置题目、任务需求及程序设计方法
4 学时 分析指导及报告撰写规范
自学 文献检索及撰写课程设计报告 6 学时
上机指导 根据题目要求和开发小组内的任务划分,完成
所承担的编程工作,并进行必要的测试和集成。 30 学时
考核 演示与答辩(结合报告、出勤) 8 学时
合计 48 学时

七、课程设计报告要求

  1. 课程设计报告共2份,一份是中期设计报告,另一份是最终的课程设计报
    告。
  2. 2份课程设计报告要求逻辑清晰、层次分明、书写规范,每名学生独立完
    成,与他人不同,提交电子版PDF文件。
  3. 2份课程设计报告的模板详见模板文件。
  4. 最终的课程设计报告要求最后附上源代码,只附上自己完成功能的代码
    ,提交电子版报告文件(注:每个同学必须上交)。
    八、课程设计评分标准
    考核成绩 = 演示与答辩 + 报告 + 平时表现 + 功能设计及实现
    1.分值分配详情见表 2。
    2.学生按设计内容编码实现,教师解答相关问题、对设计进展进行抽查。
    3.学生提交完整的设计报告,其中包括源程序代码清单(注:自己工作的
    代码)。
    表 2 评分标准
    评分标准说明详见评分表(附录2)
    九、课程设计参考资料
    有关计算机程序设计方法、C++语言程序设计和开发工具等相关材料。

评 分 内 容 评分成绩
答辩:演示、陈述与回答 30分
功能设计及实现 35分
报告质量 20 分
平时表现 (自学情况、中期报告、团队协作) 15 分
总 分 100 分

附录 1:设计题目及基本需求

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

1. 自助咖啡机
主要实现:设计一个自助购买咖啡机,实现相关管理、模拟购买的过程
(1) 商家

  1. 商品管理:分类、显示商品、添加商品、修改商品数量和价格,如商品
    有咖啡、牛奶、糖、冰、杯子(单品管理、套餐管理)
  2. 当日售卖结算
  3. 缺货提醒、售罄提示等
    (2)买家
  4. 交互选择商品:单品、套餐(注意缺货提示等功能)
  5. 支付功能(不支持现金支付):先用后付、直接支付(支付宝,微信)
  6. 订单推送或自助打印:打印/不打印
    类设计提示(不局限于以下类):
    咖啡、杯子商品类:商品编号、名称、数量、价格;
    订单管理:时间、商品明细、总额、方式等
    扩展:商品类别管理

2.智能手环
主要实现:
(1) 查看功能:时间、天气显示
(2) 智能计步
(3) 运动监测
(4) 来电提醒
(5) 查看、编辑和删除通讯录
(6) 打电话:显示通讯录信息、有电话拨通的声音
类设计提示(不局限于以下类):
手环类:日期信息、计步、个人信息
个人健康状态类:编号、年龄、身高、体重、BMI、心律
通讯录类:编号、姓名,单位,电话、email、分类(朋友、同学等)

3. 植物大战僵尸游戏
主要实现:
(1) 显示游戏界面,包括开始、结束、豌豆射手、向日葵等元素按钮
(2) 状态显示,包括:当前生命HP、积分、关卡等
(3) 出现一波“Zombie”元素,不同种类的多个“Zombie”随机出现
(4) 使用键盘/鼠标操作游戏元素
(5) 游戏效果
类设计提示(不局限于以下类):
游戏环境类(游戏类):生成游戏界面、设置游戏环境,具备启动游戏、退出
游戏等功能;
游戏元素基类:包括当前状态、图片、位置(x,y)等信息;
Zombie类、SunFlower类、Bean类等;具有不同生命值状态
文本基类:文本内容,显示位置,颜色等
扩展参考:积分排行、设置背景音乐、设置游戏关卡控制

4. 打地鼠游戏
主要实现:
(1) 显示游戏界面,包括开始、游戏过程、游戏结束
(2) 状态显示,包括:击中地鼠、积分等
(3) 随机出现地鼠,呈现击中状态(减分地鼠、加分地鼠)
(4) 使用键盘/鼠标操作打地鼠,积分自动改变
(5) 积分排行、设置显示风格、设置背景音乐
类设计提示(不局限于以下类):
游戏环境类:生成游戏界面、设置游戏环境
玩家类:包括id、姓名、积分等信息;具备启动游戏、退出游戏等功能;
地鼠类;出现、击中、消失的状态
扩展参考:积分排行、设置显示风格、设置背景音乐、设置游戏难度

5.移动通信计费系统
主要实现:
(1) 移动服务端管理

  1. 手机卡类型管理
  2. 套餐管理、增值服务管理
  3. 计算通话费用、短信费用、流量费、总费用
    (2) 移动用户
  4. 查看实时费用
  5. 模拟通话、发短信记录,显示通讯录信息、有电话拨通的声音
  6. 手机通讯录管理与分组
    类设计提示(不局限于以下类):
    手机信息:号码、用户名、手机费用对象
    手机费用:话费标准编号、通话时长、短信数量、流量使用、总费用
    通讯录:编号、姓名、单位、电话、email、分类(朋友、同学等)

6.自动售货机
主要实现:
(1) 售货机基本维护,初始状态,判断售货机状态是否故障
(2) 售货机补货和补零钱,维护货数量和种类、零钱
(3) 用户选货,选择商品,选择数量
(4) 支付,选择支付方式,如现金、支付宝或微信
(5) 取货,支付成功之后
类设计提示(不局限于以下类):
售货机类:编号,状态,位置
商品类:商品编号,数量,类别,如饼干、零食、饮料、瓶装、杯装(咖啡/
奶茶/牛奶/饮料)
支付类:硬币,纸币,支付宝,微信
维护类:人员信息

7.机器人寻宝游戏
主要实现:
(1) 自动生成地图,包括障碍、陷阱、宝物、机器人的位置
(2) 交互式(键盘/鼠标操作)寻宝
(3) 记录路径,显示路径
(4) 设置游戏级别、计分
(5) 机器人生命数量、改变生命数(减、加)
类设计提示(不局限于以下类):
地图类:宝物地点,障碍物位置,如机器人(显示)和陷阱(不显示),地
图的尺寸,陷阱位置,地图生成
宝物类:类别、分值(等级)、数量
机器人类:出发地点、级别、数量
路径类:使用链表等容器类实现
障碍物类:位置、形状

8. 银行ATM机
主要实现:
(1) ATM柜机维护,当前柜机内余额,从ATM柜机大额现金装入和取出
(2) 用户功能

  1. 账户基本维护,修改密码、修改个人身份信息、查询余额
  2. 转账,根据账号转账
  3. 取款,储蓄卡必须有余额方可取款,信用卡必须信用额度有剩余可取
  4. 存款,存取款分为活期和定期存取
  5. 缴纳生活费,如手机费、电费、煤气费等
  6. 查看某个银行卡账号的使用记录
    类设计提示(不局限于以下类):
    ATM 柜机类
    银行卡类:卡号、卡种类(储蓄卡、信用卡),业务种类(活期或定期)、卡
    户信息、余额
    账户类:活期、定期
    流水信息类:存款、取款、查询余额、转账
    银行职员类:人员信息、权限(对 ATM 机存放、取回现金)

9. 快递驿站
主要实现:
(1) 驿站

  1. 包裹管理:主要包括包裹入库、包裹查询、包裹出库、库存盘点等
  2. 短信发送:可以按照星期进行自动编号(取件码),实物上标记取件
    码(不写用户名字),按取件码顺序摆放,方便快速找。
  3. 快递邮寄:快递邮寄开票、结款、未付款查询、快递邮寄查询等。
  4. 差错记录管理:客户对已到达的包裹进行验收时,对有差错问题的包
    裹填写差错记录。
    (2) 普通用户自主取件,寄件功能
    类设计提示(不局限于以下类):
    包裹类:货运单编号、发货客户信息、收货客户信息、货物名称、重量、
    体积、货物价值等。
    差错记录类:货运单编号、回执单编号、客户姓名、差错类型、货物信息
    等。
    操作类:包裹入库、包裹出库、库存查询、快递邮寄、差错记录增删改
    等。

10. 电梯智能控制系统
主要实现:
(1) 实现30层楼的双电梯或三电梯智能控制,兼顾用户等待时间较少和运行
效率较高(不空跑,白跑等)
(2) 箱内、箱外按钮:单击→亮,双击→取消
(3) 箱内按钮控制楼层
(4) 箱外按钮控制上下
类设计提示(不局限于以下类):
轿箱类:按钮,门,显示器,灯,风扇
运行类:向上,向下,停
中控类:报警器,控制中心
门类:开,关,传感器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值