//_7_10_main.cpp #include "GradeBook.h" #include <ctime> #include <cstdlib> int main() { int gradesArray[GradeBook::students][GradeBook::tests]; //随机产生学生成绩 srand((unsigned)time(NULL)); for(int i=0;i<GradeBook::students;i++) for(int j=0;j<GradeBook::tests;j++) gradesArray[i][j] = rand()%101; GradeBook myGradeBook("C++",gradesArray); myGradeBook.displayMessage(); myGradeBook.processGrades(); system("pause >> cout"); return 0; }
//GradeBook.h #include <string> using namespace std; class GradeBook { public: //要设置成静态的const常量,,, static const int students = 10;//参加考试的学生 static const int tests = 3;//测试的次数 GradeBook(string,const int[][tests]); void setCourseName(string); string getCourseName(); void displayMessage();//打印一条欢迎信息! void processGrades();//综合下面函数的功能,,,, int getMaximum();//得到学生成绩中的最大值 int getMinimum();//得到学生成绩中的最小值 //计算该门课程学生成绩的平均值 double getAverage(const int[],const int); void outputBarChart();//输出学生成绩的柱状图 void outputGrades();//输出学生的成绩 private: string courseName;//专业名称 int grades[students][tests];//学生成绩的二维数组 };
//GradeBook.cpp #include "GradeBook.h" #include <iostream> #include <iomanip> using namespace std; GradeBook::GradeBook(string name,const int a[][tests]) { setCourseName(name); for(int i=0;i<students;i++)//将调用的数组信息复制到类的对象的数组中 for(int j=0;j<tests;j++) grades[i][j] = a[i][j]; } void GradeBook::setCourseName(string name) { courseName = name; } string GradeBook::getCourseName() { return courseName; } void GradeBook::displayMessage()//打印一条欢迎信息! { cout << "Welcome to the grade book for\n" << getCourseName() << " !" << endl; } void GradeBook::processGrades()//综合下面函数的功能,,,, { outputGrades();//先输出学生成绩: cout << "Lowest grade is " << getMinimum() << endl; cout << "Highest grade is " << getMaximum() << endl; outputBarChart(); } int GradeBook::getMaximum()//得到学生成绩中的最大值 { int max = 0; for(int k=0;k<students;k++) for(int h=0;h<tests;h++) { if(max<grades[k][h]) max = grades[k][h]; } return max; } int GradeBook::getMinimum()//得到学生成绩中的最小值 { int min = 100; for(int k=0;k<students;k++) for(int h=0;h<tests;h++) { if(min>grades[k][h]) min = grades[k][h]; } return min; } //计算该门课程学生成绩的平均值 double GradeBook::getAverage(const int setOfGrades[],const int grades) { int sum = 0; for(int k=0;k<grades;k++) sum+=setOfGrades[k]; return (static_cast<double>(sum))/grades ; } void GradeBook::outputBarChart()//输出学生成绩的柱状图 { cout << "\nGrades distribution:" << endl;//学生的成绩分布 const int frequencySize = 11; int frequency[frequencySize] = {0}; for(int i=0;i<students;i++) for(int j=0;j<tests;j++) { frequency[grades[i][j]/10] ++ ; } for(int count=0;count<frequencySize;count++) { if(count == 0) cout << " 0-9:" ; else if(count == 10) cout << " 100:" ; else cout << count*10 << "-" << count*10 + 9 << ":" ; for(int star=0;star<frequency[count];star++) cout << "*" ; cout << endl; } } void GradeBook::outputGrades()//输出学生的成绩 { cout << "\nThe grades are :" << endl; cout << " "; for(int i=0;i<tests;i++) cout << "Test" << i+1 << " "; cout << "Average" << endl; for(int student=0;student<students;student++) { cout << "Student" << setw(2) << student+1 ; for(int test=0;test<tests;test++) cout << setw(8) << grades[student][test]; double average = getAverage(grades[student],tests); cout << setw(9) << setprecision(2) << fixed << average << endl; }//end for }//end function
相关推荐
C++语言代码 C++大学教程第五版中的一道简单的作业题包括一些基本的函数
在"Java How To Program, 10e, Early Objects"一书的第7章中,作者深入介绍了这一主题,该章节可能涵盖了面向对象编程的基础和数组的应用。 在Java编程中,二维数组可以被视为一个表格,每个元素是一个一维数组。在...
1. **类与对象**:Gradebook库可能会包含表示学生的类,每个学生类实例可以包含姓名、科目成绩等属性。此外,还可能有表示整个成绩册的类,用于管理多个学生对象。 2. **数据结构与集合**:为了存储和操作大量学生...
在这一部分的内容中,我们将会详细解析《C++大学教程第五版》中的一个具体实例——`GradeBook`类的设计与实现。本节重点在于理解类的基本概念、成员函数的作用以及如何通过构造函数初始化对象。 ### `GradeBook` 类...
从给定的文件信息中,我们可以提取到关于C++编程语言中的类定义、构造函数、成员函数以及如何在主程序中实例化并调用这些功能的关键知识点。以下是对这些知识点的详细阐述: ### 类定义与成员变量 在C++中,类是一...
这涉及到使用Python编程语言对二维数组(矩阵)进行操作。二维数组在这里代表了一个虚拟课程的成绩数据,其中每行代表一个学生,每列代表一个不同的作业。 在Python中,我们可以使用列表来表示二维数组。例如,如果...
案例研究部分通过GradeBook类展示了如何使用数组(一维和二维)来存储成绩,以及如何利用线性搜索和插入排序对成绩进行处理。此外,还介绍了vector类模板的使用,它是C++中一个强大的工具,能提供更高级的动态数组...
本资源提供了C++大学基础教程的课后习题答案,涵盖了C++编程语言的基础知识和面向对象编程的概念。下面是该资源的知识点总结: 1. C++基础知识: * C++标准string类的使用 * 使用using语句导入标准库 * 成员函数...
procedure Rank(VAR Xstr : array of string; NoCases : integer);procedure PcntCorrect(VAR Xstr : array of string; NoCases : integer);procedure Percentiles(VAR Xstr : array of string;...
《C#基础学习:深入探索Gradebook-Proj项目》 在编程世界中,C#是一种广泛应用的编程语言,尤其在Microsoft的.NET框架下,它的地位不可动摇。本篇将聚焦于一个名为"gradebook-proj"的学习项目,该项目是跟随Scott ...
10. **版本控制**:考虑到 "Gradebook-Java-master" 这个文件名,项目可能使用了 Git 进行版本控制,便于团队协作和代码历史追踪。 通过分析这个项目,我们可以学习到如何在实际环境中应用 Java 编程技能,以及如何...
完成Assignment类和TotalPointsGradebook类。在MainTest.java文件中测试您的代码。有关编写测试文件的提示,请参见testing_part1_hints.txt 。 第2部分 完成CategoryAssignment类和CategoryGradebook类。在MainTest....
普通的C++中的类,是GradeBook类的最普通的形式,希望对初学者有些帮助。 另外说明,本人也是初学者
成绩簿导出gradebook-export.csv的快速输出格式跑将gradebook-export.csv拖到窗口中按ENTER gradebook-export.xlsx将在与原始文件夹相同的文件夹中创建
【标题】"Sinatra-Project-Gradebook:熨斗学校第二期项目" 是一个基于Ruby框架Sinatra开发的教育管理应用程序。这个项目旨在为教师提供一个简单易用的平台来跟踪和管理学生的成绩。 【描述】Sinatra是一个轻量级的...
第1部分完成Assignment类和TotalPointsGradebook类。 在MainTest.java文件中测试您的代码。 有关编写测试文件的提示,请参见testing_part1_hints.txt 。第2部分完成CategoryAssignment类和CategoryGradebook类。 在...
《GradeBook-Console:C#实现的成绩管理控制台应用》 GradeBook-Console是一个基于C#编程语言开发的控制台应用程序,专为记录和管理学生成绩而设计。该程序的核心功能是允许用户输入和存储学生的分数,这些分数可以...
Print ISBN-10: 0137001304 Print ISBN-13: 978-0137001309 PRACTICAL, EXAMPLE-RICH COVERAGE OF: Classes, Objects, Encapsulation, Inheritance, Polymorphism Integrated OOP Case Studies: Time, GradeBook...
酒井成绩册出口 Quartz作业,用于将Sakai... gradebook.export.path=/Users/steve/Desktop 与该学期相符的网站将被导出。 将此空格留空以使用最新有效期 gradebook.export.term=2013 由Longsight( )赞助的代码开发