C++《面向对象程序设计课程设计》[2023-06-16]
《面向对象程序设计课程设计》任务书
时间:
班级:
一 分组和评分
- 周一上午 8:30 作业布置
- 周四 5/6 节开始,周五 12 点前检查,提问并打分;
- 每人完成自己的课程设计报告,不能复制其他同学的报告内容,报告中主要说明自己在设计中所作的工作。
- 综合检查得分和课程设计报告完成情况进行总评成绩的确定。
- 可自选题目,自选题目必须事先与老师沟通,说明选题及设计思路,确定工作量。工作量达到要求,经老师同意允许更改题目。
- 每个课设题目只允许一人独立完成。
- 建议采用的开发平台 visual studio 2010 以上或 QT creater
- UI 设计,后台功能的实现,类的设计及继承关系的分析与实现。
- 课设报告必须包括:
- 需要提交的材料:
- 纸质版的课程设计报告(双面打印)
- 电子版的课程设计报告和程序
- 每人以自己的学号为名字建立一个文件夹,里面放课程设计报告的word 文件和工程目录(删掉其中的 debug/run 子目录),文件夹命名要求:“班内学号姓名-面向对象程序设计课程设计报告”,例如“2022240206**李四-面向对象程序设计课程设计报告”
- 电子版的课程设计报告格式要求见“四 课程设计报告的格式”。文件命名要求: “班内学号姓名-面向对象程序设计课程设计报告.docx”,例如“2022240206**李四-面向对象程序设计课程设计报告.docx”
二 课程设计题目(每位同学任选一个,一旦选定后不允许更改)
课程设计题一:同学基本资料管理
(完成的作业中如未含有选做内容,最高 80 分)
【设计目的】
1 学习 Visual C++的 MFC 或 QT 开发程序的步骤。
2 综合运用所学的类、继承和多态的知识。
3 进一步掌握程序的调试方法。
【设计内容】
一、录入学生信息包括:(GUI)
1 姓名:文本框
2 学号:文本框,只允许输入数字(检测)
3 性别:单选框(选择项男/女两项)
4 联系电话(检测,只允许输入数字,长度 11 位)
5 邮件:文本框,必须有“@”和“.”符号检测
6 生源地:省份(下拉框选择省份,不允许自己输入)
7 兴趣爱好:文本框
8 参加社团(复选,要求提供三项以上选择)
9 学生信息维护(采用文件形式,每个学生信息一条记录,可以实现学生增加、随机选择学生信息并删除、修改)。
二、学生信息查询:
1、可以按照学生一种到多种的兴趣爱好查询并显示查询结果
2、查询结果可以按照学生性别和生源地排序
选做:
1) 可模糊查询(输入部分关键词,如兴趣爱好中的部分文字)查询并显示符合条件得同学信息
2) 统计符合查询条件的学生人数
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
课程设计题二:简单画板程序的设计
(完成的作业中如未含有选做内容,最高 80 分)
【设计目的】
1 综合运用所学的类、继承和多态的知识。
2 进一步掌握程序的调试方法。
【设计内容】
1 利用 MFC/QT 的向导,创建基于单文档的应用程序;
2 编程实现,绘制线、圆、矩形、椭圆、菱形的功能;
3 能够设定当前要画的图形样式(只包括以上 5 种)和图形颜色(最少能够设为 4 种颜色)。
4 当窗口重绘(如窗口最小化-重新打开)后,还能保持原来的图形(不得使用截屏方式)。
5 图像互相重叠时,能正确显示图像
选做:能够任意选中已绘制的某个图形,并删除之。
用参数(形状、颜色、起始、终止等)保存已绘制的图形,保存文件可以是文本等,系统关闭后仍保存了上次绘画的参数,待下次启动系统后恢复上次的图形(不允许使用截屏方式)。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
课程设计题三:模拟时钟程序的设计 (本题最高 80 分,不设可选项)
【设计目的】
1 综合运用所学的类、继承和多态的知识。
2 进一步掌握程序的调试方法。
【设计内容】 (以 visual studio 为例)
1 基于 MFC/QT,编写一个模拟时钟程序;
2 在屏幕中间有一个指针式时钟,时、分、秒指针不同形状、不同长度且不同颜色
3 秒针每秒跳动一次,分针每分钟跳动一次,时钟每分钟移动 1/60*12 度
4 时钟的下方或者上方以数字方式显示时间,该时间应与指针显示的时间一致
5 用菜单选项打开的对话框,设置时间。所设置时间不必与机器系统时间相同,可任意设置,时钟能够按照设置的时间继续行走。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
课程设计题四:简单音乐播放器的编写
(完成的作业中如未含有选做内容,最高 80 分)
【设计目的】
1 综合运用所学的类、继承和多态的知识。
2 进一步掌握程序的调试方法。
【设计内容】 (以 visual studio 为例)
1 利用 MFC 的向导,创建基于单文档的应用程序;
2 编程实现,播放、暂停/停止、上一首、下一首按钮及对应功能;
3 有进度条课调整当前歌曲播放进度,可调节音量
4 有播放列表,管理多于一首歌曲,弹出菜单选择本地歌曲,加入播放列表并播放,能显示当前播放歌曲名称
选做:
1、 可编辑并保存播放列表(增加歌曲、删除歌曲、双击后跳转播放该歌曲),
保存在本地文档
2、 保存与歌曲对应的图片、歌词等,在该歌曲播放时显示并能定位当前一句歌
词。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
课程设计题五:节日礼花
【设计目的】
1 综合运用所学的类、继承和多态的知识。
2 进一步掌握程序的调试方法。
【设计内容】 (以 visual studio 为例)
1 利用 MFC 的向导,创建基于单文档的应用程序;
2 以窗口下方正中为中心,随机产生不同形状的图形,并按照从小变大,从下向上的形状,以抛物线轨迹运动,产生礼花效果
3 图形颜色随机,形状不限。
4 选做 1:至少三种图形,通过方程设计轨迹达到曲线散开的效果
5 选做 2:采用多线程的方式同时产生多个图形
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
三 课程设计报告的内容
- 封面
- 目录
- 设计目的和内容。
- 基本功能描述。
- 设计思路。
- 软件设计:设计步骤、界面设计、关键功能的实现。
- 实验结果及测试。
- 总结及感想:遇到的问题及解决方法,感想(大而空的感想扣分)
- 参考文献。
- 附录:调试报告、测试结果、关键源代码。
四 课程设计报告的格式
- 一级标题用“三号”字体,中文用“宋体”,西文用“Times New Roman”,加粗。二级标题用“小四号”字体,加粗。
- 正文用“五号”字体,中文用“宋体”,西文用“Times New Roman”,不加粗,单倍行距。
- 正文中的程序代码和附录中的程序代码。用“小五号”字体,字体为“Times New Roman”或者“Courier New” ,不加粗,单倍行距。