资源描述
高级程序设计实践( C++)
课程设计任务书
一、 课程设计目的
1、 复习和巩固C++语言的基础知识, 进一步加深对C++语言的理解和掌握;
2、 为学生提供独立实践的机会, 将课本上的理论知识和实际有机的结合起来, 锻炼学生独立分析问题、 解决问题、 查阅资料以及自学能力。
3、 学习和掌握C++程序设计方法以及上机调试技巧, 为今后学习其它专业课程打好基础。
二、 课程设计内容
v 题目一: 复数计算器
运用面向对象程序设计知识, 利用C++语言设计和实现一个复数计算器, 要求具备如下主要功能:
(1) 建立实数类、 复数类
(2) 实现实数、 复数信息的初始化
(3) 实现实数的加、 减、 乘、 除、 自增、 自减、 求平方、 二次方根等操作
(4) 实现复数的加、 减、 乘、 除、 取模、 求平方、 求共轭复数、 求单个复数的向量角、 求两个复数的夹角等运算
(5) 实现实数、 复数信息的输出
在实现过程中, 需利用面向对象程序设计理论的基础知识, 充分体现出C++语言关于类、 继承、 封装与多态等核心概念, 每一个类应包含数据成员和成员函数。
v 题目二: 字符串处理系统
运用面向对象程序设计知识, 利用C++语言设计和实现一个字符串处理系统, 要求具备如下主要功能:
(1) 字符串的输入与输出
(2) 求字符串的长度
(3) 判断字符串是否为空
(4) 将字符串置空
(5) 字符串比较
(6) 字符串赋值
(7) 求指定位置的字符
(8) 字符串合并
(9) 字符串截取
(10) 在指定的字符串中1, 查找或替换字符串2
在实现过程中, 需利用面向对象程序设计理论的基础知识, 充分体现出C++语言关于类、 数据成员与成员函数封装的核心概念。
v 题目三: 集合的并、 交、 差集运算的实现
运用面向对象程序设计知识, 利用C++语言设计和实现集合的并、 交、 差集运算, 要求具备如下主要功能:
(1) 输入输出集合信息, 集合元素类型能够是整数、 实数或字符串
(2) 判断集合的大小
(3) 判断集合是否为空
(4) 将集合置空
(5) 在集合中查找指定的元素
(6) 实现集合的交、 并、 差等运算
在实现过程中, 需利用面向对象程序设计理论的基础知识, 充分体现出C++语言关于类、 继承、 封装与多态等核心概念, 每一个类应包含数据成员和成员函数。
v 题目四: 图形类设计
运用面向对象程序设计知识, 利用C++语言设计和实现一个图形类, 要求具备如下主要功能:
(1) 图形环境初始化
(2) 图形窗口定义
(3) 设计和实现点类, 能够根据输入的坐标信息, 根据给定的颜色和点的大小, 在界面上绘制显示相应的点。
(4) 设计和实现直线类, 能够根据输入的端点坐标信息, 根据给定的颜色和线条粗细, 在界面上绘制显示相应的直线。
(5) 设计和实现圆类, 能够根据输入的圆心坐标和半径信息, 根据给定的颜色和线条粗细, 在界面上绘制显示相应的圆, 并能够计算其面积。
(6) 设计和实现三角形类, 能够根据输入的三个顶点坐标, 根据给定的颜色和线条粗细, 在界面上绘制显示相应的三角形, 并能够计算其面积。
(7) 设计和实现矩形类, 能够根据输入的四个顶点坐标, 根据给定的颜色和线条粗细, 在界面上绘制显示相应的矩形, 并能够计算其面积。
(8) 圆类、 三角形类和矩形类, 能够根据指示, 决定是否进行内部填充。( 可选)
在实现过程中, 需利用面向对象程序设计理论的基础知识, 充分体现出C++语言关于类、 继承、 封装与多态等核心概念, 每一个类应包含数据成员和成员函数。
v 题目五: 小型公司工资管理系统设计
运用面向对象程序设计知识, 利用C++语言设计和实现一个”小型公司工资管理系统”, 要求具备如下主要功能:
(1) 能够存储雇员的编号、 姓名、 性别、 所在部门, 级别, 并进行工资的计算。
其中, 雇员级别分为经理、 技术人员、 销售人员和销售经理。四类人员的月薪计算方法如下: 经理拿固定月薪; 技术人员按小时领取月薪; 销售人员按其当月销售额的提成领取工资; 销售经理既拿固定月薪也领取销售提成。
( 2) 添加功能: 程序能够任意添加上述四类人员的记录, 可提供选择界面供用户选择所要添加的人员类别, 要求员工的编号要唯一, 如果添加了重复编号的记录时, 则提示数据添加重复并取消添加。
( 2) 查询功能: 可根据编号、 姓名等信息对已添加的记录进行查询, 如果未找到, 给出相应的提示信息, 如果找到, 则显示相应的记录信息;
( 3) 显示功能: 可显示当前系统中所有记录, 每条记录占据一行。
( 4) 编辑功能: 可根据查询结果对相应的记录进行修改, 修改时注意编号的唯一性。
( 5) 删除功能: 主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录, 则提示”记录为空! ”并返回操作; 否则, 输入要删除的人员的编号或姓名, 根据所输入的信息删除该人员记录, 如果没有找到该人员信息, 则提示相应的记录不存。
( 6) 统计功能: 能根据多种参数进行人员的统计。例如, 统计四类人员数量以及总数, 或者统计男、 女员工的数量, 或者统计平均工资、 最高工资、 最低工资等信息。( 根据个人能力, 至少实现一种统计功能)
在实现过程中, 需利用面向对象程序设计理论的基础知识, 充分体现出C++语言关于类、 继承、 封装与多态等核心概念, 每一个类应包含数据成员和成员函数。
v 题目六: 库存管理系统设计
运用面向对象程序设计知识, 利用C++语言设计和实现一个”库存管理系统设计”, 主要完成对商品的销售、 统计和简单管理。
超市中商品分为四类, 分别是食品、 化妆品、 日用品和饮料。每种商品都包含商品名称、 价格、 库存量和品牌等信息。本系统要求具备如下主要功能:
( 1) 商品简单管理功能
² 添加功能: 主要完成商品基本信息的添加。
² 查询功能: 可按商品类别、 商品名称、 生产厂家、 进货日期进行查询。若存在相应信息, 输出所查询的信息, 若不存在该记录, 则提示”该记录不存在! ”。
² 修改功能: 可根据查询结果对相应的记录进行修改。
² 删除功能: 主要完成商品信息的删除。先输入商品类别, 再输入要删除的商品名称, 根据查询结果删除该物品的记录, 如果该商品不在物品库中, 则提示”该商品不存在”。
( 2) 进货功能
按要求添加相应商品的信息到库存中。添加进货日期、 生产厂家、 进货价等信息。
( 3) 出货功能
出货时, 先输入商品类别, 然后输入商品名称, 并在库存中查找该商品的相关信息。如果有库存量, 输入出货的数量、 出货日期, 计算销售额和利润。如果库存量不够, 给出提示信息, 结束出货。
( 4) 统计功能
输出当前库存中所有商品的总数及详细信息; 能统计每种商品一周时间内的销售额和利润; 能统计每类商品的一周时间内的销售额和利润。输出统计信息时, 要按从大到小进行排序。( 根据个人能力, 至少实现一种统计功能)
在实现过程中, 需利用面向对象程序设计理论的基础知识, 充分体现出C++语言关于类、 继承和封装等核心概念, 每一个类应包含数据成员和成员函数。
三、 课程设计要求
1、 严格遵守机房规章制度, 按时上机;
2、 态度端正, 独立思考, 严禁抄袭, 如发现抄袭者, 双方均计零分;
3、 上机前写好相关算法及源代码;
4、 在上述题目中任选一题, 编写程序实现其功能, 并认真书写课程设计报告。
四、 课程设计报告内容和要求
1、 课程设计报告内容和要求参见附录I中的”课程设计报告的编写格式规范”, 不满足格式规范的最高成绩为”中”。
【注】可参考《数据结构课程设计题目》中的”课程设计报告样本”。
2、 封面参见附录II;
3、 报告书写规范参见附录III;
五、 成绩评定标准
成绩以优、 良、 中、 及格和不及格5个等级评定。
1、 学生编写的实际软件和运行结果, 占总成绩40%;
2、 课程设计报告, 占总成绩35%;
3、 教师提问, 占总成绩15%;
4、 出勤, 占总成绩10%;
六、 检查和文档上交
1、 做好之后, 请老师过来检查, 并问问题。
2、 报告全部内容均要求使用统一的A4纸打印。
3、 最后一次课结束前, 将课程设计报告电子版发到, 命名为:
C++课程设计报告_姓名_学号.rar, 报告要求用word 本。
C++课程设计代码_姓名_学号.rar。
附录I:课程设计报告的编写格式规范
1、 课程设计报告封面和目录
课程设计报告封面应给出班级、 姓名、 学号和完成日期
2、 需求分析
明确说明程序设计的任务, 说明自己程序所能实现的功能。
3、 概要设计
( 1) 分析系统中的各个实体及它们之间的关系;
( 2) 根据问题描述, 设计系统的类层次;
( 3) 说明主程序的流程以及各程序模块之间的层次(调用)关系。
4、 详细设计
( 1) 完成类层次中各个类的描述;
( 2) 完成类中各个成员函数的定义;
( 3) 对主程序和重要模块, 需要写出其算法。如粘帖重要代码, 需要加上清晰的程序注释。
( 4) 画出函数的调用关系图。在此部分说明每个部分的算法设计说明( 能够是描述算法的流程图) , 每个程序中使用的存储结构设计说明( 如果指定存储结构请写出该存储结构的定义) 。
5、 调试分析
(1)调试过程中遇到的问题是如何解决的以及对设计与实现的讨论和分析;
(2)算法的时间复杂性和可能的改进设想。
6、 测试结果
列出你的测试结果, 包括输入和输出。这里的测试数据应该完整和严格, 最好多于需求分析中所列出的数据量。
7、 课程设计总结
课设总结包括: 课程设计过程遇到的问题、 遇到问题解决问题过程的思考、 课程设计的收获、 程序调试的思考、 对数据结构这门课程的思考、 在课程设计过程中对《数据结构》课程的认识等内容。
8、 参考文献
9、 附录: 带注释的源程序。
附录II: 封面
中南大学
高级程序设计实践( C++)
课程设计报告
题 目
学生姓名
指导教师
学 院
专业班级
完成时间
附录III:课程设计报告的书写规范
① 课程设计报告统一使用A4纸撰写, 双面使用, 背面不得书写正文或绘制图表。
版芯统一为:
页边距: 左2.8CM、 右2.8 CM、 上2.5 CM、 下2.2CM、 行间距20磅。
② 报告能够用计算机编辑、 打印; 也能够用手工抄写, 同一篇报告只能用一种墨水书写( 包括文字和图表) , 图表不得徒手画。
③ 全篇报告分章节撰写, 各章内容应安排得当, 不宜太少。一般每一章至少应安排两节, 每节内容不得少于两页。
④ 报告编排格式
每章标题以三号黑体居中书写; ”章”下空两行为”节”, ”节”的标题以四号黑体左起书写; ”节”下空一行为”小节”; ”小节”的标题以小四号黑体左起书写。
换行后空两格书写正文。正文采用小四号宋体。
第一章 ××××( 三号黑体、 居中书写)
1.1 ×××× ( 四号黑体、 左起书写)
1.1.1 ×××× ( 小四号黑体、 左起书写)
1. ×××× ( 小四号楷体、 空两格书写)
×××× ( 正文, 采用小四号宋体)
2. ××××
××××
1.1.2 ××××
1.2 ××××
1.2.1 ××××
第二章 ××××
2.1 ××××
2.1.1 ××××
1. ××××
××××
2. ××××
××××
2.1.2 ××××
2.2 ××××
2.2.1 ××××
⑤ 文中的图、 表、 公式一律采用阿拉伯数字分章编号, 如: 图2.5, 表3.2公式( 5.1) 等。
文中的所有的图都必须有图号和图名。图号、 图名居中置于图的下方, 图号在前、 图名在后, 两者间空一格, 末尾不加标点。图中的术语、 符号、 单位等应与正文中的表述一致。
文中的所有的表都必须有表号和表名。表号、 表名居中置于表的上方, 表号在前、 表名在后, 两者间空一格, 末尾不加标点。表中的参数应标明量和单位的符号。
图号、 图名、 表号、 表名一律采用五号楷体。
公式应另起一行并居中采用五号楷体书写, 公式的编号用括号括起来, 写在右边的行末, 其间不加虚线。
图、 表、 公式等与正文之间要有一定的距离。
⑥ ”参考文献”四字居中用三号黑体字, 空一行左起按顺序依次列出全部参考文献, 将序号置于方括号内, 用小四号楷体字。
⑦ 篇眉从正文开始至全文结束, 采用宋体五号字左起书写课程设计报告题名, 靠右写章标题。
页码从正文开始至全文结束, 按阿拉伯数字连续编排。前置部分用罗马数字分别单独编排。页码位于页面底端, 居中书写。
⑧ 报告应采用中华人民共和国国家标准( GB3100-3102-93) 规定的计量单位和符号。
⑨ 使用外文缩写代替某一名词术语时, 凡在报告中首次出现的, 应该使用括号注明其含义, 如CPU( Central Processing Unit,中央处理器) 。
⑩ 国内的企业、 机关、 单位名称等应使用全称, 例如不得把”中南大学”写成”中大”等。
课程设计报告完成后, 将报告连同程序清单( 或工程图纸) 以及有关文档资料一并装入资料袋内, 交给指导教师批阅, 写出评语; 经评阅人评阅, 写出评阅人意见后, 再组织学生答辩。
展开阅读全文