`
_jia_shun
  • 浏览: 27831 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

C++大学基础教程_4_8计数器控制的循环

 
阅读更多

 

//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++程序设计教程_第2版》教学素材习题04答案.doc

    根据提供的文档信息,我们可以...综上所述,这些习题涵盖了C++编程的基础语法、条件判断、循环控制等重要知识点,非常适合初学者进行练习。通过这些实例的学习,可以帮助学生更好地理解C++语言的基本概念和编程技巧。

    C++大学教程,一本适合初学者的入门教材(part2)

    2.13 计数器控制循环的要点 2.14 for重复结构 2.15 for结构使用举例 2.16 switch多项选择结构 2.17 do/while重复结构 2.18 break和continue语句 2.19 逻辑运算符 2.20 混淆相等(.==)与赋值(=)运算符 ...

    C++大学教程,一本适合初学者的入门教材(part1)

    2.13 计数器控制循环的要点 2.14 for重复结构 2.15 for结构使用举例 2.16 switch多项选择结构 2.17 do/while重复结构 2.18 break和continue语句 2.19 逻辑运算符 2.20 混淆相等(.==)与赋值(=)运算符 ...

    queue-link.zip_C++队列_打印 队列_队列

    在C++编程中,队列是一种非常基础且重要的数据结构,它遵循“先进先出”(FIFO,First In First Out)的原则。队列通常用于处理任务调度、数据缓冲、多线程通信等问题。本教程将详细介绍如何在C++中实现队列,包括...

    Visual C++.Net程序设计实践教程

    3. **C++语言基础**:教程将涵盖C++的基本语法,如变量、数据类型、控制结构(条件语句、循环)、函数、类和对象,以及模板和异常处理等高级主题。 4. **MFC库**:Microsoft Foundation Classes (MFC) 是Visual C++...

    STM32F1舵机的基本控制.zip_continentvuv_iar 控制舵机_stm32f1舵机云台_stm32控制舵机_s

    本教程将探讨如何使用STM32F1微控制器来控制舵机,以及如何通过IAR Embedded Workbench for STM32集成开发环境(IDE)进行编程。 首先,舵机是一种带有内置位置反馈的电机,可以通过改变脉宽调制(PWM)信号的周期...

    C++大学教程

    C++大学教程(目录) 第1章 计算机与C++编程简介-------------------------------------------------1 1.1 简介--------------------------------------------------------------1 1.2 什么是计算机--------...

    编程中的循环语句讲解

    7. **循环控制变量和迭代器**:在循环中,我们经常使用控制变量(如索引或计数器)来跟踪循环状态。在某些语言(如C++和Java)中,迭代器提供了一种更抽象的方式来遍历集合。 8. **嵌套循环**:一个循环内再包含另...

    47-流程控制-for循环结构的基本使用.rar

    本主题主要关注"for循环结构",这是一种常见的流程控制结构,广泛应用于各种编程语言中,包括但不限于Java、Python、C++、C#等。在“47-流程控制-for循环结构的基本使用”这个资源中,我们将深入探讨for循环的基本...

    单片机的c语言教程,c语言单片机编程教程,C,C++源码.zip

    单片机,又称为微控制器,是集成了CPU、内存、定时器/计数器、输入/输出接口等部件的集成电路,常用于各种嵌入式系统。在单片机上使用C语言编程,可以提高程序的可移植性和可读性,降低开发难度。 C语言在单片机中...

    C++编程练习小题库(含答案)

    这些练习题覆盖了C++的基础语法,如数组操作、条件判断、循环、函数定义和调用、字符串处理以及基础算法(如找素数)。通过实践这些题目,学习者可以增强对C++的理解,提升编程能力。记住,不断练习是掌握任何编程...

    单片机的c语言教程,c语言单片机编程教程,C,C++源码.rar

    1. **基础知识**:首先,你需要了解C语言的基本语法,包括变量、数据类型、运算符、控制结构(如if语句、循环)等。这些是编写任何程序的基础。 2. **内存管理**:单片机资源有限,因此理解内存分配和管理非常重要...

    visualc_tutorial

    本教程主要面向初学者,旨在介绍Visual C++ 6.0的编程环境,并通过实例演示如何使用微软基础类库(MFC)来实现Windows 32位用户界面。 #### 二、关键术语定义 在深入探讨编程细节之前,首先了解以下几个关键术语:...

    用C++template实现数据列表逆序数量统计教程共23

    这个函数通过两层循环遍历整个数组,对每个元素与其他元素进行比较,如果前一个元素大于后一个元素,则计数器加一。然而,这种直接方法的时间复杂度是O(n^2),不适合大规模数据。为了优化,我们可以采用分治策略,如...

    visual c++

    - **控制流程**:了解if语句、switch语句、for循环、while循环和do-while循环等控制结构。 - **函数**:掌握函数的声明、定义、参数传递和返回值。 - **指针**:理解指针的概念,如何使用指针进行内存操作和动态内存...

    ourdev_546310.rar_单片机开发_Visual_C++_

    1. **C++编程基础**:熟悉C++语法,理解变量、数据类型、函数、控制结构等基本概念,这是编写任何C++程序的基础。 2. **嵌入式C++**:由于是单片机开发,所以C++的使用更倾向于嵌入式系统,需要了解嵌入式C++的特性...

    C++五子棋编写(控制台版_CMD命令框版)【简单五子棋游戏,适合初学者学习,代码有详细注释】.docx

    本教程将介绍如何使用C++编写一个控制台版的五子棋游戏,它包含了基本的人机对战和悔棋功能。 ### 1. 游戏结构 游戏的核心部分是`FiveChess`类,它包含了游戏的各种逻辑和状态管理。通过这个类,我们可以创建游戏...

    钱能 C++第二版 第六章性能 课后答案

    钱能的《C++程序设计教程》第二版在第六章深入探讨了性能优化的相关知识,旨在帮助开发者构建更快、更高效的应用程序。本章涵盖了许多重要的知识点,包括但不限于内存管理、算法优化、编译器优化、代码结构与效率等...

    0534、循环彩灯.zip

    1. **编程基础**:理解和使用基本的编程语言,如C/C++、Python或MicroPython,这些语言广泛应用于硬件控制。 2. **嵌入式系统**:如果涉及到硬件控制,需要了解微控制器(如Arduino、Raspberry Pi)的工作原理以及...

Global site tag (gtag.js) - Google Analytics