//GradeBook.h #include<string> using std::string; class GradeBook { public: GradeBook(string );//重载构造函数 void setCourseName(string );//设置课程名称 string getCourseName();//返回课程名称 void disPlayMessage();//欢迎信息 void determineClassAverage();//统计全班学生某一门课程的平均分以及总分 private: string courseName;//course name for this GradeBook class };
//GradeBook.cpp #include<iomanip> #include <iostream> using namespace std; #include "GradeBook.h" //两个include头文件的顺序还对报错有影响额,好神奇!!!!! GradeBook::GradeBook(string name) { setCourseName(name); } //进行判断,如果输入coursename字符大于25,则取前25个字符 void GradeBook::setCourseName(string name) { if(name.length()<=25) courseName = name; else { courseName = name.substr(0,25);//select first 25 characters cout << "Name\"" << name << "\"exceeds maximum length(25).\n" << "limiting courseName to first 25characters.\n" << endl; } } string GradeBook::getCourseName() { return courseName; } void GradeBook::disPlayMessage() { cout << "welcome to the grade book for\n" << getCourseName() << "!\n"<< endl; } void GradeBook::determineClassAverage() { int total = 0;//学生总成绩 int grade;//输入的学生成绩 int gradeCounter = 0 ;//输入的学生成绩个数 double average ;//学生的平均成绩 cout << "Enter the first grade or -1 to quit :" << endl; cin >> grade ; while(grade!=-1) { total = total +grade ; gradeCounter = gradeCounter +1 ;//计数器加一 cout << "Enter the " << gradeCounter +1<< "th grade or -1 to quit :" << endl; cin >> grade ; } if(gradeCounter != 0) { average = static_cast<double>(total)/gradeCounter ; cout << "\n Total of all " << gradeCounter << " grades entered is :" << total << endl; cout << "Class average is :" << setprecision(4) << fixed << average << endl; } else cout << "No grades were entered !" << endl; }
// main.cpp #include "GradeBook.h" int main() { GradeBook myGradeBook("C++大学基础教程"); myGradeBook.disPlayMessage(); myGradeBook.determineClassAverage(); system("pause >> cout "); return 0; }
相关推荐
《C++基础教程》是一本全面介绍C++编程语言的教程,由Juan Soulié撰写,Jing Xu翻译。本书适合任何希望学习C++的读者,无论是否有编程背景,都能从中受益。对于熟悉C语言的读者,前三章可以作为复习,但要注意C++在...
### C++语言基础知识点解析 #### 一、C++语言概述 **1.2 填空题解析** 1. **#** - 这里提到的`#`是指C++中的预处理器指令的起始符号。例如`#include <iostream>`用于引入标准输入输出流库。 2. **;{}** - 分号`;`...
1. **C++基础知识**:C++是一种面向对象的编程语言,具备强大的性能和灵活性。在开发扫雷游戏时,你需要理解基本的数据类型、控制结构(如if-else、for、while循环)、函数、类和对象等概念。 2. **图形用户界面...
《小游戏开发实例教程 c++版》是一本专为C++初学者和游戏爱好者设计的教程,旨在通过实际的游戏开发案例,帮助读者掌握C++编程语言在游戏开发中的应用。教程覆盖了从基本的C++语法到游戏编程的核心概念,包括图形...
这个项目的源代码和教程对于学习C++编程以及机器人控制技术的初学者来说是一份宝贵的资源。下面我们将深入探讨其中涉及的知识点。 一、C++编程基础 C++是一种强大的面向对象的编程语言,它继承了C语言的效率,并...
2.9 构造算法与自上而下逐步完善:实例研究2(标记控制重复) 2.10 构造算法与自上而下逐步完善:实例研究3(嵌套控制结构) 2.11 赋值运算符 2.12 自增和自减运算符 2.13 计数器控制循环的要点 2.14 for重复结构 ...
2.9 构造算法与自上而下逐步完善:实例研究2(标记控制重复) 2.10 构造算法与自上而下逐步完善:实例研究3(嵌套控制结构) 2.11 赋值运算符 2.12 自增和自减运算符 2.13 计数器控制循环的要点 2.14 for重复结构 ...
考虑到兼容性问题,教程还指出了一些仅在ANSI C++标准中引入的新特性,并标记了那些在旧版编译器中可能不支持的部分。 总之,"word版C++教程(来之不易)"是一个全面且实用的学习资源,覆盖了C++语言的基础到高级...
4. **控制流结构**:介绍if-else语句、switch-case语句、for循环和while循环,以及函数的定义与调用。 5. **数组与矩阵操作**:讲解数组的创建、索引、排序、拼接、转置、查找、替换等操作,以及矩阵运算,如乘法、...
根据提供的文件信息,我们可以归纳出一系列关于C++编程的基础知识点,尤其适合初学者。...通过上述知识点的学习,初学者可以建立起扎实的C++基础知识,并为进一步学习更复杂的编程概念打下坚实的基础。
C++大学教程(目录) 第1章 计算机与C++编程简介-------------------------------------------------1 1.1 简介--------------------------------------------------------------1 1.2 什么是计算机--------...
《鸡啄米:C++编程入门系列教程》是针对初学者精心制作的一份教程,旨在帮助读者快速掌握C++编程的基础知识和技能。教程由知名教育机构“鸡啄米”出品,以其一贯的高质量标准,提供了系统且易懂的学习内容。 教程...
4. **范围基础的for循环(Range-based for loop)** 这个新特性简化了遍历容器(如数组和集合)的过程,使得代码更加简洁和易于理解。例如: ```cpp for (auto element : container) { // 处理element } ``` ...
第1章 C++基础 1 1.1 C++简介 1 1.1.1 C++语言的起源 1 1.1.2 C++与面向对象的程序设计 1 1.1.3 C++的特点 2 1.1.4 C++术语 2 1.1.5 C++程序示例 2 1.2 变量、表达式及赋值语句 4 1.2.1 标识符 4 1.2.2 ...
这个项目不仅能够帮助你巩固C++基础知识,还能让你掌握面向对象编程技巧,理解游戏逻辑和交互设计。 首先,C++是编程领域中一种强大的、通用的编程语言,尤其适用于系统软件、游戏开发和高性能计算。它提供了丰富的...
1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些...
- C++扫描器源码通常包括一个主循环,该循环从输入流中获取字符,调用状态转换函数,并生成标记。 - 另外,还需要定义各种枚举类型或结构体来表示标记类型,以及存储标记的类或结构。 7. **学习资源**: - ...