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 ...
随机推荐
- ABAP 创建测试文件
使用 CG3Y 下载,可以改成下载txt到本地. FORM CREATE_TESTFILE. ), L_OFF LIKE SY-TABIX, L_LEN LIKE SY-TABIX, L_SUM LI ...
- 异动K线--庄家破绽
<异动K线--庄家破绽(连载)> http://bbs.tianya.cn/post-stocks-612892-1.shtml ————马后炮分析,没有什么前瞻性.纯技术是害死许多钻牛角 ...
- docker学习笔记2--对镜像/容器的命令操作
Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...
- active scaffold
模板文件路径:/.rvm/gems/ruby-2.2.3/gems/active_scaffold-3.5.3/app/views/active_scaffold_overrides
- PHP实现生成唯一编号(36进制的不重复编号)
当我们要将一个庞大的数据进行编号时,而编号有位数限制,比如5位的车牌号.10位的某证件号码.订单流水号.短网址等等,我们可以使用36进制计算出符合位数的不重复的编号. 我们将0-Z(012345678 ...
- Hibernate Student_Course_Score设计
示例: 设计代码,实现在数据库中建student表.course表.和score表,展现三者关系 student表:id.name course表:id.name score表:id.score.st ...
- OpenGL纹理上下颠倒翻转的三种解决办法
http://blog.csdn.net/narutojzm1/article/details/51940817 综述 在使用OpenGL函数加载纹理到图形时,经常遇到纹理上下颠倒的问题.原因是因为O ...
- Shell 语句
一 test 测试: 测试命令 test [ ] [[ ]] (( ))打开man test 逐一介绍每个参数 浮点计算:echo 'scale=2;1/3'|bc -l 测试操作命令执行后会返回到 ...
- 纯CSS3动画按钮效果
在线演示 本地下载
- HTseq-count
HTSeq:一个用于处理高通量数据(High-throughout sequencing)的python包.HTSeq包有很多功能类,熟悉python脚本的可以自行编写数据处理脚本.另外,HTSeq也 ...