C++《面向对象程序设计》[2023-01-26]
课 程 设 计 报 告
课程名称 面向对象程序设计
课题名称
专 业
班 级
学 号
姓 名
指导教师
2022年 12 月 26日
湖南工程学院
课 程 设 计 任 务 书
课程名称 面向对象程序设计
课 题
专业班级
学生姓名
学 号
指导老师
审 批
任务书下达日期 2022年 12月 19日
任务完成日期 2022 年 12月 26日
一、设计内容与设计要求
1.课程设计目的
面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。
2.课题题目
- (1)公司考勤管理系统
- (2)高校学籍管理系统
- (3)高校工资管理系统
- (4)高校人事管理系统
- (5)文件安全管理系统
3.设计要求
(1)设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。换题者不记成绩。
(2)根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释)
(3)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
(4)不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排
星期一 9时:00分——12时:00分
星期一 14时:00分——18时:00分
星期二 9时:00分——12时:00分
星期二 14时:00分——18时:00分
星期三 9时:00分——12时:00分
星期三14时:30分——18时:00分
三、答辩与评分标准
1、完成基本功能:30分;
2、设计报告及使用说明书:20分;
3、设计周表现:20分;
4、答辩与回答问题:30分。
示例课题:公司库存管理系统
(一)、课程设计题目:
某公司的库存管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中定义类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、入库和出库、保存的功能。
普通电视机有下列属性:尺寸、类型(液晶或等离子) 、售价、重量、品牌、入库编号
DVD有下列属性:规格(高清、蓝光高清、普通)、重量、售价、品牌、入库编号
带DVD的电视机是上两者的派生类,但请注意有些属性的重复问题。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)完成系统总结报告以及系统使用说明书。
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课题1:公司考勤管理系统
(一)、课程设计题目:
某公司的考勤管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中定义类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
某公司的考勤信息需要记录如下信息:职员的缺勤情况,它包括:缺勤日期、缺勤员工信息(包括姓名、工号、所在部门、职位)、缺勤类型(迟到、早退、请假及旷工)。并实现如下功能:
(1)录入职员的缺勤记录;
(2)删除职员的缺勤记录;
(3)修改某个职员的缺勤记录;
(4)查询某个职员的缺勤记录(根据工号或姓名);
(5)统计某段时间内,旷工职员的姓名及旷工次数,按总次数由多到少排序显示;
(6)统计某段时间内,有职员旷工的部门及旷工人次,按旷工人次由多到少排序显示;
注:如果检索不到相应的信息应提示用户。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)完成系统总结报告以及系统使用说明书。
课题2:高校学籍管理系统
(一)、课程设计题目:
高校学籍管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
(1)统一录入专业信息,包括专业名称、科目数量、科目名称;
(2)录入学生信息;
(3)删除学生信息;
(4)能够按学号、姓名对学生的信息进行检索并将检索结果显示在屏幕上;
(5)可以统计全部学生的总成绩,并按排名显示学生信息;
(6)能够统计各科的平均成绩及及格率。
(7)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
(8)能根据某科目分数检索学生信息,比如检索数学低于60分的人。
(9)具备数据保存功能。
注:如果检索不到相应的信息应提示用户。
每个学生信息应该包括:姓名、学号、各科目信息
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)写出需求分析(做什么);
(2)分析系统中的各个实体之间的关系及其属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)用户界面的设计;
(7)分析系统功能模块(系统流程图);
(8)代码编写,功能调试;
(9)完成系统总结报告以及系统使用说明书。
课题3:高校工资管理系统
(一)、课程设计题目:
高校工资管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。
(1) 各类人员的工资信息录入
(2) 可查询任意人员的工资信息
(3) 可修改任意人员的信息
(4) 可删除任意人员的信息
(5) 可显示工资超过或低于某个数值的全部人员信息
(6) 可统计按工资多少顺序显示人员信息
(7) 可按人员类型显示人员信息
(8) 具备数据保存功能(扩展要求:要求重载插入和提取符以完成数据的保存和打开)
(9) 能根据年龄检索职工信息,如检索所有小于30岁的员工,能按年龄顺序显示全部这些员工的信息。
所有职员的基本信息包括,姓名、工号、岗位类型、基本工资,另外每类人员又有特殊信息,如教师有职称。
相关信息:
每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:
其中工资的基本构成如下:
教师: 基本工资+课时费;
实验员: 基本工资+实验室补助;
行政人员: 基本工资+行政补贴;
教师兼职实验员: 基本工资+课时费+实验室补助;
行政人员兼职教师:基本工资+行政补贴+课时费;
其中课时费计算:教师每月的基本工作量为100,教师兼职实验员每月基本工作量为70,行政人员兼职教师每月基本工资量为30;课时费=(课时工作量-基本工作量)薪级工资0.8+基本工作量薪级工资;薪级工资由其职称决定,教授100、副教授80、讲师60,助教40。
注意:如果基本工作量没完成,则其课时费=课时工作量薪级工资*0.8。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)写出需求分析(做什么);
(2)分析系统中的各个实体之间的关系及其属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)用户界面的设计;
(7)分析系统功能模块(系统流程图);
(8)代码编写 ,功能调试;
(9)完成系统总结报告以及系统使用说明书。
课题4:高校人事管理系统
(一)、课程设计题目:
高校人事管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、级别、职称、政治面貌、最高学历、任职时间、来院时间、工资。
其中行政人员只有职务和级别,教师只有职务和职称,一般员工只有职务,退休人员则没有职务、级别、职称,但有退休时间。
要求:
(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;
(2)人员编号在生成人员信息时同时自动生成,每输入一个人员信息编号顺序加1;
(3)查询功能:能根据编号和姓名进行查询;
(4)编辑功能:根据查询对相应的记录进行修改,并存储;
(5)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);
(6)检索功能:能根据工资进行检索,例如检索所有工资低于5000的职工,并按照工资多少排序显示他们的信息。
(7)保存功能:能对输入的数据进行相应的存储;(扩展要求:要求重载插入和提取符以完成数据的保存和打开)。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系包括属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告以及系统使用说明书。
课题5:文件加密管理系统
(一)、课程设计题目:
文件加密管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中定义类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
能对任何文件进行加密,加密后形成的文件应与原文件同名。加密后的文件能被识别,并在有有效密码的情况下能解密恢复原文件。加密算法可自行选择,每次加密和解密需要输入密码。
设计成员管理模式,每个成员正确输入编号和登录密码后才能进入系统,进行操作。每个成员进入系统后,可以执行加密,解密和查找三个动作,其中查找功能是该成员在登录后查找其曾经加密过的文件以及加密此文件时所使用的密钥。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析加解密算法的有关步骤;
(2)完成文件加解密的基本操作;
(3)根据问题描述,设计系统的实现模式;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告以及系统使用说明书。
目 录
一、系统需求分析 1
二、总体设计 1
三、详细设计 1
四、系统调试 1
五、结果分析 1
六、总结 1
一、系统需求分析
(给出你所设计题目拟满足的用户需求,给出系统设计目标,系统拟实现的功能。)
二、总体设计
(包括系统功能分析;系统功能模块划分与设计(系统功能模块图))
(类层次图;各功能模块实现等)
三、详细设计
请描述清楚定义了哪些类,用于描述哪种数据类型,它们互相之间的层次关系,每个类中定义的成员和成员函数的作用。
另外请描述主要的代码流程以及各函数的功能。比如有函数:void deletedata(int sel, int number),其函数的描述可参考下
面的方法。
(1) 数据删除函数deletedata
函数原型:void deletedata(int sel, int number)
输入参数:sel用于选择删除哪类人员的数据,1表示删除教师,2表示删除一般行政人员,3表示删除退休人员;输入参数number用于表示要删除人员的编号。
返回值:无
deletedata函数的主要流程如下:
图?
可以选择文字描述代替这个图,但要足够详细的说明其过程。具体描述须跟自己的实际代码相同。
四、系统调试
(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)
(调试每个主要步骤都要有截图和截图内容的说明,说明程序执行的目的和效果,注意截图输入参数要正规,不能是1\1\1\1\1\之类的)
图?
这是系统运行主菜单。
五、结果分析
(总结自己独到的设计特点和不足之处。)
六、总结
(总结进行本次课程设计的感想和体会。)
(表格或图必须加上表号或图号以及相应的说明,下面是示例)
表1 此表的说明
图1 此图的说明
计算机科学与技术系课程设计评分表
课程名称: 面向对象程序设计
项 目 评 价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日 期:
标签:26,01,系统,功能,C++,面向对象,要求,程序设计,设计
From: https://www.cnblogs.com/codewriter/p/17067680.html