《 C++面向对象程序设计》课程设计任务书
一、课程设计目标
通过 C++课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高同学们查阅资料、独立分析问题和解决问题的能力。
二、课程设计的基本要求
1、考核方式
(1)要求利用面向对象的方法以及c++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义两个类,每个类中要有各自的属性和方法; (3)在系统的设计中,至少要用到面向对象的一种机制; (4)创新要求——在基本要求达到后,可进行创新设计; (5)写出课程设计报告,流程图和类图要清晰 。 (6)掌握用VC++6.0开发软件的方法。 (7)编写程序的要求:
a. 系统应给出足够的提示信息,如“请选择(1 借书 2 还书……):”提示用户选择。 b.程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入 c.对删除数据应给出警告 d.程序要自己完成,不可抄袭
2、课程设计报告基本格式
课程设计报告内容应包括封面、目录、正文、附录等。 1)封面:课程设计名称、专业、班级、学号、姓名、设计时间等。 2)目录:课程设计报告的目录。 3)正文:
?
系统设计目标及意义、功能介绍。
? ? ? ?
系统的详细设计思路。
系统流程图、类关系UML图、主要运行界面图、运行结果图。 说明系统设计、开发过程中遇到的问题及创新点。 课程设计心得体会。
4)附录:程序源代码及简要系统使用说明、测试报告等。
3、评分标准
任课教师可以自己设定课程设计的评分标准,应重点考核学生对实际问题的抽象能
力、调试程序及创新能力。可参考以下评分标准:
课程设计成绩=源程序部分 60%+课程设计报告25%+答辩15% 答辩部分包括学生自己阐述系统的设计思路及教师对学生提问。
1)完成了课程设计的目标,系统运行结果正确,交互性和容错性良好,并且有一定的系统
功能扩展和创新,则评为“优”。
2)完成了课程设计的目标,运行结果正确,并且有良好的交互性和健壮性,则评为“良”。 3)完成了课程设计的目标,运行结果正确,则评为“中”。 4)只完成了课程设计的基本目标,并调试成功,则评为“中”。
5)未完成课程设计规定内容,或是程序运行有较大错误,或是完全抄袭别人代码,则评为“不及格”。
三、课程设计的题目(任选一题) 题目一:学生信息管理系统 要求完成以下功能:
1)从屏幕上输入学生信息并保存数据,例如采用文件方式保存。学生信息包括地址、出生日期、学科成绩(语文,英语,数学,物理)、个人信息(姓名,性别,民族,国籍,学历)、联系方式(手机,家庭电话,学校电话)等。 2)从文件中删除一个学生信息。 3)显示所有学生信息。
4)能够按编号或姓名对学生的信息进行检索并将检索结果显示在屏幕上。 5)能够对单个学生进行编辑。
6)可以统计全部学生的总成绩,及其在班上的排名。(选做) 7)能够统计各科的平均成绩及及格率。(选做)
8)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
9)如果检索不到相应的信息应提示用户。
10)要求利用菜单的形式进行管理。(可以采用文本菜单,如果图形菜单更好)
提示: 可以用单链表每个节点存储一个学生的信息。可以采用文件存储。需要创建
链表类,操作类,地址类,链表结点类,学生类,分数类, 电话号码类 等
题目二:图书管理系统设计 要求完成以下功能:
(1)借书。图书借阅信息:借阅人、借阅人所在单位、借书证号、所借书名、借阅日期、归还日期、逾期罚款等。借阅期限为一个月,逾期1天,罚款1角。 (2)还书。
(3)图书维护:删除图书,增加图书等。图书基本信息:图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、定价、馆藏数、借阅数等。
(4)读者维护:包括新增读者、更改读者信息、查找读者、读者信息删除、读者信息输出。 (5)要求利用菜单的形式进行管理。(可以采用文本菜单,如果图形菜单更好)。 提示:建议对读者和图书都使用类进行管理 。需要创建类 ● 读者类
包括读者编号、读者姓名、所借图书等,实现对读者的信息的描述 ● 图书类
包括图书的编号、书名、是否借出等,实现对图书的描述。 ● 读者库类
读者信息保存在一个文本文件中(以下假定为reader.txt),实现利用文本文件建立读者的个人资料、按编号查找、输出或删除所有读者信息 ● 图书库类
图书信息保存在一个文本文件中(以下假定为 book.txt),实现对图书的维护、查找和删除等 。
题目三:通讯录管理系统 要求完成以下功能:
1)录入成员信息。基本信息:姓名、现就读大学名称及班级名、专业、家庭住址、家庭联系电话、邮编、本人联系电话等。 2)删除一个成员信息。
3)修改成员信息并保存。
4)能够按姓名对成员信息进行检索并将检索结果显示在屏幕上。 5)能够按专业对成员信息进行检索并将检索结果显示在屏幕上。 6)显示所有成员信息。
7)要求利用菜单的形式进行管理。(可以采用文本菜单,如果图形菜单更好) 题目四:五子棋 要求完成以下功能: 1)可以实现初步的人机对弈 2) 程序主界面、棋盘布局合理美观
3)显示双方黑白棋子美观、尺寸合理、颜色准确 4) 双方棋子落子位置准确、无重复落子 5) 能自动判断输赢,自动结束游戏 6)棋局能够重新开始、保存和载入
提示:相关数据结构(链表形式表示当前盘面的情况,目的是可以允许用户进行悔棋、回退等),递归搜索算法,可以自定义五子棋规则,胜负判断规则,上网查找五子棋算法。
四、进度安排(共1周)
第1天:布置课程设计任务。 查阅资料,制定方案,进行程序总体设计和详细设计。 第2~5天:详细设计 , 系统调试整理,撰写设计(或调研)报告,验收,提交设计报告,评定成绩。
五、课程设计指导书、参考书
1. C++程序设计课程设计 机械工业出版社 刘振安
2.C++语言课程设计 机械工业出版社
3、C++语言程序设计案例教程 清华大学出版社 郑莉 4、C++基础教程——从问题分析到程序设计 清华大学出版社 5、http://www.chinaoak.com/ C++学习资源网

