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

C++大学基础教程_5_6switch选择语句

 
阅读更多
//使用switch语句统计A B C D F 级成绩的GradeBook类

#include<string>
using namespace std;

class GradeBook
{
public :
	GradeBook(string);//构造函数
	void setCourseName(string);//获取课程名称
	string getCourseName();//返回课程名称
	void displayMessage();//diaplay 一个欢迎信息
	void inputGrade();//输入学生的成绩等级
	void diaplayGradeReport();//显示学生的等级结果
private:
	string courseName;//课程名称
	int aCount;//A级人数
	int bCount;//B级人数
	int cCount;//C级人数
	int dCount;//D级人数
	int fCount;//F级人数
};

 

#include "GradeBook.h"

int main()
{
	GradeBook myGradeBook("C++大学英语教程");
	myGradeBook.displayMessage();
	myGradeBook.inputGrade();
	myGradeBook.diaplayGradeReport();

	system("pause >> cout ");
	return 0;
}

 

#include "GradeBook.h"
#include<iostream>
GradeBook::GradeBook(string name)  //初始化
{
	setCourseName(name) ;
	aCount = 0;
	bCount = 0;
	cCount = 0;
	dCount = 0;
	fCount = 0;
}

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 25 characters .\n" << endl;
	}
}

string GradeBook::getCourseName()
{
	return courseName;
}

void GradeBook::displayMessage()
{
	cout << "Welcome to the grade book for " << getCourseName() << "!" << endl;
}

void GradeBook::inputGrade()
{
	int grade;//输入的等级,,,为毛不是  “string grade ;”??因为后面!=EOF (-1)嘿嘿嘿
	cout << "Enter the letter grade ." << endl;
	cout << "Enter the EOF character to end input ." << endl;

	//grade = cin.get()两边要加括号,运算符优先级不同,注意了啊!!!!!!!!!1
	while((grade = cin.get())!=EOF) //循环输入后判断是不是终止输入信号
	{
		switch(grade)
		{
		case 'A':
		case 'a':
			aCount++;
			break;
		
		case 'B':
		case 'b':
			bCount++;
			break;

		case 'C':
		case 'c':
			cCount++;
			break;

		case 'D':
		case 'd':
			dCount++;
			break;

		case 'F':
		case 'f':
			fCount++;
			break;

		case'\n':
		case'\t':
		case' ':
			break;
		default:
			cout << "Incorrect letter grade lettered.\n" 
			       << "Please enter a new grade:" << endl;
			break;
		}//end switch
	}//end while
}//end algorithm

void GradeBook::diaplayGradeReport()
{
	cout << "\nNumber of students who received each letter grade: "
		   << "\nA: " << aCount 
		   << "\nB: " << bCount 
		   << "\nC: " << cCount 
		   << "\nD: " << dCount 
		   << "\nF: " << fCount 
		   << endl;
}

 

分享到:
评论

相关推荐

    非常经典的c++ primer视频教程6-10

    本课程是C++ Primer初级教程,课程内容是学习C++语言基础知识,对应着教材的第1章到第8章。 第1章 快速入门 1.1 编写简单的C++程序 1.2 初窥输入/输出 1.2.1 标准输入与输出对象 1.2.2 一个使用IO库的程序 ...

    cc++程序员面试宝典-switch语句

    switch**C/C++程序员面试宝典-Switch语句:零基础面试者的必备指南** **内容概要:** 本文为零基础的面试者提供了C/C++中switch语句的全面指南,旨在帮助他们掌握面试中可能遇到的switch语句相关问题。内容涵盖了...

    21天学会C++精品付费视频教程

    本课程是C++语言的经典课程,每天只需要一小时就可以学会使用C++进行编程所需要的全部技能,内容包括C++和面向对象的...第18讲 第7章控制程序流程:switch语句 第19讲 小结:语句、函数、类型 第20讲 第8章C语言中的

    C++MFC教程

    { //使用SWITCH语句将各种消息分开 case(WM_PAINT): doYourWindow(...);//在窗口需要重新绘制时进行输出 break; case(WM_LBUTTONDOWN): doYourWork(...);//在鼠标左键被按下时进行处理 break; ...

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

    10.2 类型域和switch语句 10.3 虚函数 10.4 抽象基类和具体类 10.5 多态性 10.6 实例研究:利用多态性的工资单系统 10.7 新类和动态关联 10.8 虚析构函数 10.9 实例研究:继承接口和实现 10.10 多态、虚...

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

    10.2 类型域和switch语句 10.3 虚函数 10.4 抽象基类和具体类 10.5 多态性 10.6 实例研究:利用多态性的工资单系统 10.7 新类和动态关联 10.8 虚析构函数 10.9 实例研究:继承接口和实现 10.10 多态、虚...

    C++大学教程

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

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     第Ⅰ部分 C++基础 27  第2章 变量和基本类型 29  2.1 基本内置类型 30  2.1.1 算术类型 30  2.1.2 类型转换 32  2.1.3 字面值常量 35  2.2 变量 38  2.2.1 变量定义 38  2.2.2 变量声明和定义的关系 41  ...

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

    aybook.cn_c++jiaocheng0105.rar

    3.4 变量的初始化 3.5 运算符 3.6 表达式第4章 程序控制语句 4.1 if语句 4.2 for循环 4.3 switch语句 4.4 while循环 4.5 do-while循环 4.6 使用continue 4.7 用break跳出循环 4.8 嵌套循环 4.9 使用goto语句 4.10 ...

    C++Primer(第5版 )中文版(美)李普曼等著.part2.rar

     第Ⅰ部分 C++基础 27  第2章 变量和基本类型 29  2.1 基本内置类型 30  2.1.1 算术类型 30  2.1.2 类型转换 32  2.1.3 字面值常量 35  2.2 变量 38  2.2.1 变量定义 38  2.2.2 变量声明和定义的关系 41  ...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

    3.1.6 switch语句 113 3.1.7 无条件转移 116 3.2 重复执行语句块 117 3.2.1 循环的概念 117 3.2.2 for循环的变体 119 3.2.3 while循环 126 3.2.4 do-while循环 128 3.2.5 嵌套的循环 129 3.3 C++/CLI编程 ...

    VC++基础视频教程100讲

    教程描述:本教程详细介绍了C/C++的相关知识,共100讲,包括最基本的C,C++,VC环境的安装配置及顺序,判断,循环、if与switch条件分支语句、一维数组的概念、二维数组、字符数组(字符串)、函数分类等各类语法,本教程...

    滴水三期完整版(96课时)

    第23讲:2015-02-06(C语言10_Switch语句反汇编) 第24讲:2015-02-26(C语言11_指针1) 第25讲:2015-02-27(C语言11_指针2) 第26讲:2015-02-28(C语言11_指针3) 第27讲:2015-02-28(C语言11_指针4) 第28讲:2015-...

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

    3.1.7 switch语句 114 3.1.8 无条件转移 116 3.2 重复执行语句块 117 3.2.1 循环的概念 117 3.2.2 for循环的变体 120 3.2.3 while循环 127 3.2.4 do-while循环 129 3.2.5 嵌套的循环 130 3.3 C++/...

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

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

    新概念C语言.李一波(带详细书签).pdf

    13.1 swittch语句以及用switch语句和break语句构成的选择结构 138 13.1.1 switch语句 138 13.1.2 switch语句的执行过程 138 13.1.3 在switch语句体中使用break语句 140 13.2 语句标号和goto语句(选讲内容) ...

    C程序设计语言(第2版·新版中文)

    3.4 switch语句 3.5 whil循环与for特环 3.6 do-while循环 3.7 break语句与continue语句 3.8 goto语句与标号 第4章 涵数与程序结构 第5章 指针与数组 第6章 结构 第7章 输入与输出 第8章 UNIX系统接口 附录...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    无论是刚开始接触面向对象编程的新手,还是打算转移到c#的具有c,c++或者java基础的程序员,都可以从本书中吸取到新的知识。 作译者 john sharp,content master首席技术专家。content master隶属于cm集团,cm集团...

Global site tag (gtag.js) - Google Analytics