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 ...
随机推荐
- 卸载SQL Server 2008 (R2)
一.卸载SQL Server 2008 (R2) 1.找到控制面板,win8及win7都可以直接点解“开始”按钮找到. (Tip:win10系统的小盆友可以在“开始”菜单下点击“所有应用”,找到win ...
- python中json.dumps使用的坑以及字符编码
我们知道,python中的字符串分普通字符串和unicode字符串,一般从数据库中读取的字符串会自动被转换为unicode字符串 下面回到重点,使用json.dumps时,一般的用法为: >&g ...
- 鸟哥的Linux私房菜-第一部分-第2章Linux如何学习
第2章 Linux如何学习 Linux可以干什么 企业级:网络服务器.金融数据库.大型企业网管环境.高性能计算.集群 个人:桌面计算机.手机.PDA(掌上电脑,这个电脑的意义十分广泛,在不同的场景下有 ...
- 【转】Python爬虫_示例2
爬虫项目:爬取并筛选拉钩网职位信息自动提交简历 一 目标站点分析 #一:实验前准备: 浏览器用Chrome 用Ctrl+Shift+Delete清除浏览器缓存的Cookie 打开network准备 ...
- Python学习进程(1)Python简介
Python是一种结合了"解释性"."编译性"."互动性"和"面向对象"的脚本语言. (1)官方介绍: Pyth ...
- $Java-json系列(一):用GSON解析Json格式数据
GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...
- [POI2007]驾驶考试egz
题目 BZOJ 神仙题,可比那些氵紫题有意思多了 做法 \(i\)能作为起始点,当\(i\)能到达\(1\)~\(i-1\)和\(i+1\)~\(n\) 这样处理显然会麻烦,因为要从每个点都特判一次 ...
- 关于v4l2的一点变更
先打个连接 http://linuxtv.org/downloads/presentations/media_ws_2013/v4l2-multi-format.pdf 2013年linux 多媒体构 ...
- 修改redhat默认显示语言为中文
[delmore@localhost Desktop]$ su //切换到最高权限 Password: ...
- Mybatis单个参数的if判断(针对异常:There is no getter for property..)------mybatis的内置对象
这里有一个删除方法: int deleteByPrimaryKey(Integer id); 然后对应的sql的xml如下: <delete id="deleteByPrimaryKe ...