c++primer 第l六章编程练习答案
6.11.1
#include<iostream>
#include<cctype> int main() {
using namespace std;
char ch;
cin.get(ch);
while (ch != '@') {
if (isdigit(ch))
cout << ch;
else if (isupper(ch)) {
ch = tolower(ch);
cout << ch;
}
else if (islower(ch)) {
ch = toupper(ch);
cout << ch;
}
cin.get(ch);
}
}
6.11.2
#include<iostream>
#include<cctype> int main() {
using namespace std;
double donations[];
double donation;
double average, sum = ;
int i, num=;
cout << "input donation,at most 10\n";
for (i = ; (cin >> donation) && (i < ); i++) {
donations[i] = donation;
sum += donations[i];
}
average = sum / i;
for (i = ; i < ; i++) {
if (donations[i] > average)
num++;
}
cout << "average is " << average << " and " << num << " numbers bigger than avergae.";
}
6.11.3
#include<iostream> int main() {
using namespace std;
char ch;
cout << "Please enter one of the following choices:\n"
"c) carnivore p) pianist\n"
"t) tree g) game\n";
cout << "Please enter a c,p,t,or g:";
cin >> ch;
//cout << "A maple is a ";
while (ch!='f') {
switch (ch)
{
case'c':cout << "A maple is a carnivore.";
break;
case'p':cout << "A maple is a pianist.";
break;
case't':cout << "A maple is a tree.";
break;
case'g':cout << "A maple is a game.";
break;
default:cout << "Please enter a c,p,t,or g:";
}
cin >> ch;
}
}
6.11.4
#include<iostream> using namespace std; const int strsize = ;
const int memberSize = ; struct bop {
char fullname[strsize];
char title[strsize];
char bopname[strsize];
int preference;
};
void name(bop *member);
void title(bop *member);
void bopname(bop *menber);
void preference(bop *member); int main() {
char choose;
bop member[] = {
{"zhang","manager","boss",},
{"li","programer","pg",},
{"wang","teacher","tc",}
};
cout << "Benevolent Order of Programmers Report\n"
"a.display by name b.display by title\n"
"c.display by bopname d.display by preference\n"
"q.quit\n"
"Enter your choice: ";
cin >> choose; while (choose!='q')
{
switch (choose)
{
case 'a':name(member);
break;
case 'b':title(member);
break;
case 'c':bopname(member);
break;
case 'd':preference(member);
break;
default:cout << "Not good choose\n";
break;
}
cout << "Next choose:";
cin >> choose;
}
} void name(bop * member)
{
for (int i = ; i < memberSize; i++) {
cout << member[i].fullname << endl;
}
} void title(bop * member)
{
for (int i = ; i < memberSize; i++) {
cout << member[i].title << endl;
}
} void bopname(bop * member)
{
for (int i = ; i < memberSize; i++) {
cout << member[i].bopname << endl;
}
} void preference(bop * member)
{
for (int i = ; i < memberSize; i++) {
switch (member[i].preference)
{
case :cout << member[i].fullname << endl;
break;
case :cout << member[i].title << endl;
break;
case :cout << member[i].bopname << endl;
break;
default:
cout << "存在非法的偏好";
break;
}
}
}
6.11.5
#include<iostream> int main() {
using namespace std;
int money;
double tax = ;
cout << "Please input your income: ";
cin >> money;
cout << fixed;
cout.precision();
cout.setf(ios::showpoint);
while (cin.good()&&(money>=))
{
if (money<=)
{
tax = 0.0;
break;
}
else if ((money > ) && (money <= )) {
tax = (money - )*0.1;
break;
}
else if ((money > ) && (money <= )) {
tax = (money - )*0.15 + * 0.1;
break;
}
else {
tax = (money - )*0.2 + * 0.15 + * 0.1;
break;
}
}
cout << "Your personal income tax is " << tax << " tvarps";
}
6.11.6
#include<iostream>
#include<string> using namespace std; struct donations
{
string name;
double money;
}; int main() {
int donorSize, grand_patron_size = , patrons_size = ;
cout << "How many people donate?\n"
"donorSize: ";
cin >> donorSize;
donations *donor = new donations[donorSize];
donations *grand_patrons = new donations[donorSize];
donations *patrons = new donations[donorSize];
cout << "Please enter donor's contribution amount:" << endl;
cout << fixed;
cout.precision();
cout.setf(ios_base::showpoint);
for (int i = ; i < donorSize; i++)
{
cout << "name:";
cin >> donor[i].name;
//cin.get();
//cout << "\t";
cout << "contribution amout:";
cin >> donor[i].money;
}
for (int i = ; i < donorSize; i++)
{
if (donor[i].money > ) {
grand_patrons[grand_patron_size] = donor[i];
++grand_patron_size;
}
else {
patrons[patrons_size] = donor[i];
++patrons_size;
}
}
cout << "=============== Grand Partrons ================" << endl;
if (grand_patron_size != ) {
for (int i = ; i < grand_patron_size; i++)
{
cout << "name: " << grand_patrons[i].name << "\tmoney:" << grand_patrons[i].money << endl;
}
}
else
{
cout << "None";
}
cout << "================= Partrons ====================" << endl;
if (patrons_size != ) {
for (int i = ; i < patrons_size; i++)
{
cout << "name: " << patrons[i].name << "\tmoney:" << patrons[i].money << endl;
}
}
else
{
cout << "None";
}
delete[] donor;
delete[] grand_patrons;
delete[] patrons;
}
6.11.7
#include<iostream>
#include<string>
#include<cctype> int main() {
using namespace std;
int vowel = , consonant = , other = ;
string word;
cout << "Enter word (q to quit): \n";
cin >> word;
while (cin.good() && word != "q")
{
if (isalpha(word[])) {
switch (word[])
{
case 'a':
vowel++;
break;
case 'A':
vowel++;
break;
case 'e':
vowel++;
break;
case 'E':
vowel++;
break;
case 'i':
vowel++;
break;
case 'I':
vowel++;
break;
case 'o':
vowel++;
break;
case 'O':
vowel++;
break;
case 'u':
vowel++;
break;
case 'U':
vowel++;
break;
default:
consonant++;
}
}
else
other++;
cin >> word;
}
cout << vowel << " words beginning with vowels." << endl;
cout << consonant << " words beginning with consonants." << endl;
cout << other << " others.";
}
6.11.8
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<string> int main() {
using namespace std;
ifstream infile;
string str;
int sum = ;
infile.open("D:\\visual studio 2015\\Projects\\homework\\homework\\Debug\\TextFile1.txt");
if (infile.is_open()) {
while (infile.good())
{
str += infile.get();
++sum;
}
cout << "The file contains " << sum << " characters.";
}
else
{
cout << "Failed to read file.";
exit(EXIT_FAILURE);
}
infile.close();
}
6.11.9
#include<iostream>
#include<string>
#include<fstream>
#include<cstdlib> using namespace std; struct donations
{
string name;
double money;
}; int main() {
int donorSize, grand_patron_size = , patrons_size = ;
string donor_information;
ifstream infile;
infile.open("D:\\visual studio 2015\\Projects\\homework\\homework\\TextFile2.txt");
if (infile.is_open()) {
infile >> donorSize;
infile.get();
cout << donorSize << endl;
donations *donor = new donations[donorSize];
donations *grand_patrons = new donations[donorSize];
donations *patrons = new donations[donorSize]; cout << fixed;
cout.precision();
cout.setf(ios_base::showpoint); for (int i = ; i < donorSize; i++)
{ getline(infile, donor[i].name);
infile >> donor[i].money;
infile.get();
}
for (int i = ; i < donorSize; i++)
{
cout << donor[i].name << endl;
cout << donor[i].money << endl;
}
for (int i = ; i < donorSize; i++)
{
if (donor[i].money > ) {
grand_patrons[grand_patron_size] = donor[i];
++grand_patron_size;
}
else {
patrons[patrons_size] = donor[i];
++patrons_size;
}
}
cout << "=============== Grand Partrons ================" << endl;
if (grand_patron_size != ) {
for (int i = ; i < grand_patron_size; i++)
{
cout << "name: " << grand_patrons[i].name << "\tmoney:" << grand_patrons[i].money << endl;
}
}
else
{
cout << "None";
}
cout << "================= Partrons ====================" << endl;
if (patrons_size != ) {
for (int i = ; i < patrons_size; i++)
{
cout << "name: " << patrons[i].name << "\tmoney:" << patrons[i].money << endl;
}
}
else
{
cout << "None";
}
delete[] donor;
delete[] grand_patrons;
delete[] patrons;
}
else
{
cout << "Failed to open file.";
exit(EXIT_FAILURE);
}
infile.close();
}
c++primer 第l六章编程练习答案的更多相关文章
- c++ primer plus 第六章 课后题答案
#include <iostream> #include <cctype> using namespace std; int main() { char in_put; do ...
- 【C++】《C++ Primer 》第六章
第六章 函数 一.函数基础 函数定义:包括返回类型.函数名字和0个或者多个形参(parameter)组成的列表和函数体. 调用运算符:调用运算符的形式是一对圆括号 (),作用于一个表达式,该表达式是函 ...
- c primer plus(五版)编程练习-第六章编程练习
1.编写一个程序,创建一个具有26 个元素的数组,并在其中存储26 个小写字母.并让该程序显示该数组的内容. #include<stdio.h> #define SIZE 26 int m ...
- C++Primer 第十六章
//1.模板定义以关键字template开始,后跟一个模板参数列表,此列表不能为空.编译器用推断出的模板参数来实例化一个特定版本的函数.类型参数前必须使用class或者typename(推荐使用typ ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习9
#include <iostream> #include <fstream> #include <cstdlib> #include <string> ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习8
#include <iostream> #include <fstream> #include <cstdlib> const int SIZE=20; using ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习7
#include <iostream> #include <string> #include <cctype> using namespace std; int m ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习6
#include <iostream> #include <string> using namespace std; const int MSIZE=100; struct j ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习5
#include <iostream> using namespace std; const double N1=35000; const int N2=15000; const int ...
随机推荐
- oracle修改连接数后无法启动(信号量的问题)
当oracle11g修改最大连接数后启动报如下错误时,需要调整linux的信号量的内核参数: ORA-27154: post/wait create failedCause: internal err ...
- 剑指offer 面试18题
面试18题: 题目:删除链表中的节点 题一:在O(1)时间内删除链表节点.给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点. 解题思路:我们要删除节点i,先把i的下一个节点j ...
- 搭建backup服务器基本流程
守护进程实现,将daemon配置在backup服务器,因为这样其他服务器就能通过服务推即可. 服务端配置流程: 前提两台服务41为backup服务 31是其他服务器即客户端 在41服务器中配置 ...
- PAT 天梯赛 L1-028. 判断素数 【水】
题目链接 https://www.patest.cn/contests/gplt/L1-028 AC代码 #include <iostream> #include <cstdio&g ...
- Linux服务器iops性能测试-iozone
1. 选用工具: iozone 下载地址:http://www.iozone.org/ (直接下载rpm包) 2. 工具安装: 执行命令: rpm -ivh iozone-3-40 ...
- des加密——补齐
下面这个网址(英文)介绍的比较全面. http://www.di-mgt.com.au/cryptopad.html
- 【HackerRank】Sherlock and MiniMax
题目连接:Sherlock and MiniMax Watson gives Sherlock an array A1,A2...AN. He asks him to find an integer ...
- .NET应用程序默认使用管理员身份打开
1.在源码的Properties目录中找到 app.manifest(如果没有进入第二步,有跳过第二步) 2.如果没有app.manifest文件可以打开项目属性,找到安全性项,勾上启用 ClickO ...
- 模型融合之blending和stacking
1. blending 需要得到各个模型结果集的权重,然后再线性组合. """Kaggle competition: Predicting a Biological Re ...
- 3.Pycharm和navicate的使用
Pycharm的下载 进入到Pycharm官网,进入网页的最下边,下载企业版enterprise(可试用30天),企业版提供了创建项目.run等功能,而免费版没有这些功能 pycharm的使用: 在f ...