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

C++大学基础教程_4_9标记控制的循环

c++ 
阅读更多
//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++基础知识 1.1 程序设计基本概念 1. 程序=算法+数据结构 2. 算法:解决问题所列出来的步骤 3. 程序设计语言:面向机器的语言;`面向过程的语言;面向对象的语言 4. 先进的模块化的程序设计思想 1.2 C++语言...

    C++MFC教程

    1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语言的熟悉程度,同时也训练自己的思维和熟悉一些...

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

    2.9 构造算法与自上而下逐步完善:实例研究2(标记控制重复) 2.10 构造算法与自上而下逐步完善:实例研究3(嵌套控制结构) 2.11 赋值运算符 2.12 自增和自减运算符 2.13 计数器控制循环的要点 2.14 for重复结构 ...

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

    2.9 构造算法与自上而下逐步完善:实例研究2(标记控制重复) 2.10 构造算法与自上而下逐步完善:实例研究3(嵌套控制结构) 2.11 赋值运算符 2.12 自增和自减运算符 2.13 计数器控制循环的要点 2.14 for重复结构 ...

    C++大学教程

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

    Absolute C++中文版(原书第2版)-完美的C++教程,文档中还包含英文版

    第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 ...

    Visual C++ 2005入门经典--源代码及课后练习答案

    本书延续了Ivor Horton讲解编程语言的独特方法,从中读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows Forms中访问数据源的技术。此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为C++...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    标题:PHP基础教程 出处:风流的CG网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 作者:yufeng 地址:http:///read.php?38 内容: 提供给新手学习的 PHP新手教程,是一个比较有价值的PHP新手教程! 一、PHP...

    PL/SQL 基础.doc

    PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...

    易语言程序免安装版下载

     支持静态链接其它编程语言(如C/C++、汇编等)编译生成的静态库(.LIB或.OBJ),但仅限于COFF格式,支持cdecl和stdcall两种函数调用约定。  使用说明如下:函数声明和调用方法与DLL命令一致;“库文件名”以.lib...

Global site tag (gtag.js) - Google Analytics