- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计报告
程序设计报告
编写程序提示用户输入一个班级中的学生人数n, 再依次提示用户输入 n
编写程序提示用户输入一个班级中的学生人数
n, 再依
次提示用户输入 n 个人在课程 A 中的考试成绩,然后
计算出平均值, 显示出来。 要求用到第九章中的数组
类模板 Array 定义浮点型数组存储考试成绩。
设计题目:
姓 名: 马雪峰
学 号:
专业班级: 计科一班
完成日期 : 2016 年 6 月 26 日
设计任务
编写程序提示用户输入一个班级中的学生人数 n, 再依次提示用户输入 n 个人在课
程 A 中
的考试成绩, 然后计算出平均值, 显示出来。 要求用到第九章中的数组类模板 Array
定义浮点型数组存储考试成绩。
设计目的
、加强 C++课程学习,将课本上的理论知识运用于实践,通过实际的程序操作来提高自己编写程序的能力,达到理论与实践相结合的目的。
、培养自己动脑思考,动手操作的能力,在实际操作过程中体会 C++中面向对象的思想。
、在实际的操作过程中去衡量自己理论知识掌握的程度,通过设计流程,编写程序,上机调试去寻找并发现知识的缺陷,并想办法弥补。
、在本程序中主要是要达到能对类的定义及用法,数组的定义及用法,数组类模版,运算符重载,多文件结构,成员函数的实现等的熟练运用。
设计内容
用数组类模板、析构函数、构造函数 、赋值构造函数、运算符重载、指针等语法来完成一个班级在某门课程中考试的平均值的程序。
设计指标或者要求
设计指标:用 C++完成一个班级在某门课程中的成绩储存并计算平均值的程序, 要求用 到数组类模板。
输入要求:在程序运行的页面根据提示输入班级学生人数 n, 再依次输入每个人在课程 A 中的成绩。
输出要求:输出 n 个人在课程 A中的平均成绩。
设计过程
( 1)、分析程序的功能: 使用户能根据程序提示输入班级学生人数 n 和 n 个人在某门课中考试成绩,并能储存成绩然后计算平均值,显示出来。
( 2)、思考程序要用到的算法原理: 使用数组类模板定义浮点型数组存储考试成绩; 利用班级总人数与其在课程 A 中的总分之比的原理求平均值。
( 3)、设计程序流程图(见 2.3 ) 。
( 4)、编写程序(见 2.4 ) 。
程序功能
使用户能根据程序提示输入班级学生人数 n 和 n 个人在某门课中考试成绩,并能储存成绩然后计算平均值,显示出来。
算法原理
( 1)、使用数组类模板定义浮点型数组存储考试成绩;
( 2)、利用班级总人数与其在课程 A 中的总分之比的原理求平均值。
程序流程图
输入班级人数
输入班级人数 n 和每
in
否
否
AverScore=TotalSco
re/n
输
出
结束
程序主要模块或者函数
#ifndef ARRAY_H
#define ARRAY_H
#include iostream.h
#include stdlib.h
#ifndef NULL
const int NULL = 0;
#endif
enum ErrorType
// 错误类型集合,共有三种类型
{invalidArraySize, memoryAllocationError, indexOutOfRange};
char *errorMsg[] =
{
Invalid array size, Memory allocation error,
Invalid index:
};
template class T
class Array
{
private:
T* alist; //T 类型指针,用于存放动态分配的数组内存首地址
int size;
void Error(ErrorType error,int badIndex=0) const;
public:
Array(int sz = 50);
Array(const ArrayT A);
~Array(void);
// 重载= 使数组对象可以整体赋值
ArrayT operator= (const ArrayT rhs);
T operator[](int i);
operator T* (void) const;
int ListSize(void) const;
void Resize(int sz);
};
// 以下为类成员函数的实现
template class T
void ArrayT::Error(ErrorType error, int badIndex) const
{
cout errorMsg[error];
if (error == indexOutOfRange)
cout badIndex; // 如果是下标越界错,输出错误的下标
cout endl;
exit(1);
}
template
您可能关注的文档
最近下载
- 百蕊草半寄生机制的研究.pdf VIP
- 百蕊草种子适宜萌发条件的研究.PDF VIP
- 风险识别的方法培训.ppt
- 中国燕麦草项目经营分析报告.docx
- 常用DOS命令大全电脑资料PPT.pptx VIP
- 20J333 建筑防腐蚀构造(高清带书签).pdf VIP
- 腾讯音效设计师岗面试题库参考答案和答题要点.docx VIP
- GRB2在EEF1A2促胰腺癌发生、发展中的关键作用与机制研究.docx
- 统编版道德与法治一年级上册第14课《人人爱护公物》教学设计.docx VIP
- GZ-2022062 健康与社会照护赛项正式赛卷完整版包括附件-2022年全国职业院校技能大赛赛项正式赛卷.docx VIP
原创力文档


文档评论(0)