C++ primer Plus第六章编程题

1.编写一个程序,读取键盘输入,直到遇到@符号为止,并回显 输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大 写(别忘了cctype函数系列)。

#include<iostream>
#include<cctype>
using namespace std;

int main() {
	char ch;
	
	while ((ch = cin.get()) != '@') {
		if (isupper(ch)) {//判断是否是大写
			ch = tolower(ch);//转换成小写
		}
		else if (islower(ch)) {//判断是否小写
			ch = toupper(ch);//转换成大写
		}
		else if (isdigit(ch)) {//判断是否为数字
			continue;//跳过
		}
		cout << ch;
	}

	return 0;
}

2.编写一个程序,最多将10个donation值读入到一个double数组中 (如果您愿意,也可使用模板类array)。程序遇到非数字输入时将结束 输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。

#include<iostream>
#include<array>

using namespace std;

int main() {
	array<double, 10> donation;
	double sum = 0, ave = 0, count = 0;
	double above_ave = 0;

	int i;
	for (i = 0; i < 10; i++) {
		cout << "Enter donation " << i + 1 << ":";
		cin >> donation[i];
		if (!cin.fail()) {
			sum += donation[i];
		}
		else {
			break;
		}
		count++;
	}
	//输出为0时
	if (i == 0) {
		cout << "No valid donation enterd." << endl;
		return 0;
	}

	ave = sum / count;//求平均值
	for (int j = 0; j < count; j++) {
		if (donation[j] > ave)
			above_ave++;
	}

	cout << "the Average: " << ave << " and " << above_ave << " number of donation above average";
	return 0;
}

3.编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的 菜单——每个选项用一个字母标记。如果用户使用有效选项之外的字母 进行响应,程序将提示用户输入一个有效的字母,直到用户这样做为 止。然后,该程序使用一条switch语句,根据用户的选择执行一个简单 操作。该程序的运行情况如下:

#include<iostream>
using namespace std;

void showmenu();
int main() {
	showmenu();

	char ch;
	while (true) {
		cin >> ch;
		switch (ch)
		{
		case 'c':
			cout << "Tiger is carnivore.";
			break;
		case 'p':
			cout << "John is a pianist.";
			break;
		case 't':
			cout << "A maple is a tree.";
			break;
		case 'g':
			cout << "Let's play a game!";
			break;
		default:
			cout << "Please enter c,p,t,or g:";
			continue;
		}
		break;
	}
	
}

void showmenu() {
	cout << "Please enter one of the following choices:\n";
	cout << "c) carnivore(肉食动物)";
	cout.width(30);/

相关推荐

  1. 2 总结+若干实战

    2024-06-07 21:38:02       63 阅读
  2. 《C++ Primer Plus》课后

    2024-06-07 21:38:02       32 阅读
  3. Linux

    2024-06-07 21:38:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 21:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 21:38:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 21:38:02       82 阅读
  4. Python语言-面向对象

    2024-06-07 21:38:02       91 阅读

热门阅读

  1. 东方博宜1760 - 整理抽屉

    2024-06-07 21:38:02       31 阅读
  2. 详解布隆过滤器,实现分布式布隆过滤器

    2024-06-07 21:38:02       33 阅读
  3. 【数据库系统概论】数据库设计过程

    2024-06-07 21:38:02       34 阅读
  4. Python 正则表达式:深入解析匹配多个模式

    2024-06-07 21:38:02       26 阅读
  5. Alsa UCM

    Alsa UCM

    2024-06-07 21:38:02      23 阅读
  6. 使用 .NET Core 实现微服务(带例子)

    2024-06-07 21:38:02       30 阅读
  7. MySQL-6、单表访问方法

    2024-06-07 21:38:02       30 阅读
  8. 2003NOIP普及组真题 4. 麦森数

    2024-06-07 21:38:02       31 阅读
  9. python -【十一】pymysql 基础使用

    2024-06-07 21:38:02       25 阅读
  10. 二维数组知识点

    2024-06-07 21:38:02       23 阅读
  11. 大模型训练学习笔记

    2024-06-07 21:38:02       34 阅读
  12. RDMA (1)

    RDMA (1)

    2024-06-07 21:38:02      30 阅读