C++ Primer Plus 第六章答案

本文提供了一系列C++编程练习,包括读取键盘输入并处理字符,读取数字数组计算平均值,实现菜单驱动程序,管理Benevolent Order of Programmer成员信息,计算所得税,记录捐款,分析单词开头,计数文件字符,以及从文件读取捐款信息等。这些练习涵盖了输入输出、数据转换、数组操作和文件处理等核心概念。
摘要由CSDN通过智能技术生成

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

#include <iostream>
#include <cctype>
using std::cout;
using std::cin;
using std::endl;

int main()
{
    char ch;
    while( cin.get(ch) && ch != '@' )
    {
        if( isdigit(ch) )
            continue;
        else if( islower(ch) )
            cout<<(char)toupper(ch);
        else if( isupper(ch) )
            cout<<(char)tolower(ch);
        else
            cout<<ch;
    }
    return 0;
}

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

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
    double donation[10];
    double average =0, sum = 0;
    int sumNumber = 0;
    for(int i=0;i<10;i++)
    {
        cout<<"Enter the value of donation "<<i+1<<": ";
        if( !(cin>>donation[i]) )
            break;
        sum += donation[i];
        sumNumber++;
    }
    average = sum / sumNumber;
    int up_average_number =0;
    for(int i=0;i<sumNumber;i++)
        if(donation[i] > average)
            up_average_number++;
    cout<<"The average value of donation is "<<average<<"."<<endl;
    cout<<"There are "<<up_average_number<<" more than average."<<endl;
    return 0;
}

6.11.3编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的菜单——每个选项用一个字母标记。如果用户使用有效选项之外的字母进行响应,程序将提供用户输入一个有效的字母,直到用户这样做为止。然后,该程序使用一条switch语句,根据用户的选择执行一个简单操作。该程序的运行情况如下:
Please enter one of the following choices:
c) carnivore p) pianist
t) tree g) game
Please enter a c , p , t , or g: q
Please enter a c , p , t , or g: t
A maple is a tree.

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
    cout<<"Please enter one of the following choices: "<<endl;
    cout<<"c) carnivore             p) pianist"<<endl;
    cout<<"t) tree                  g) game"<<endl;
    char ch;
    int flag = 0;
    while( cin>>ch )
    {
        switch(ch)
        {
            case 'c':   cout<<"tiger is a carnivore."<<endl;    flag = 1;   break;
            case 
《C Primer Plus第六版》是一本面向初学者的C语言教材,由Stephen Prata撰写。这本书深入浅出地介绍了C语言的基本概念、语法和应用,给读者提供了扎实的编程基础。 该书共分为27章,每章都有清晰的目标、易于理解的示例和练习题。从第一章的入门介绍开始,到最后一章的高级主题讨论,书中的内容依次递进,系统完整地覆盖了C语言的方方面面。本书有助于读者逐步掌握C语言的基础知识,从简单的输出语句到复杂的函数调用和指针使用。 《C Primer Plus第六版》的特点是其清晰的讲解风格和丰富的实例。作者通过通俗易懂的语言和生动形象的例子,帮助读者理解和掌握C语言的各种概念和语法。此外,书中还提供了许多练习题和编程项目,供读者巩固所学知识和提高编程能力。 作为一本经典的C语言教材,《C Primer Plus第六版》被广泛用于学校和个人学习。它不仅适用于初学者,也对有一定编程基础的读者有所帮助。读者通过学习本书,可以建立起对C语言编程的扎实基础,为深入学习其他编程语言打下坚实的基础。 综上所述,《C Primer Plus第六版》是一本权威、经典的C语言教材,通过清晰的讲解和丰富多样的示例帮助读者深入理解C语言的基本概念和应用。无论是初学者还是有一定编程基础的读者,都可以从中获益,打下良好的编程基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值