C++ Primer Plus第六章课后习题总结

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

#include <iostream>
int main()
{
    using namespace std;
    char ch;
    cout << "Enter characters:(enter @ to stop)" << endl;
    while ((ch = cin.get()) != '@') {
        if (isupper(ch))
            ch = tolower(ch);
        else if(islower(ch))
        {
            ch = toupper(ch);
        }
        if(!isdigit(ch))
        {
            cout << ch << endl;
        }
        
    }
    return 0;
}

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

#include <iostream>
const int num = 10;
int main() {
    using namespace std;
    double donation[num];
    double sum = 0;
    double avg;
    cout << "Enter a number(Stop when entering an unnumber):" << endl;
    for (int i = 0; i < num; i++) {
        cin >> donation[i];
        /*if(!isdigit(donation[i])){
            break;
        }*/
        sum += donation[i];
    }
    avg = sum / num;
    cout << "The sum of all numbers is:" << avg << endl;
    cout << "The number that is larger than avg is:" << endl;
    for (int i = 0; i < num; i++) {
        if (donation[i] > avg) {
            cout << donation[i] << endl;
        }
    }
    return 0;
}

3.编写一个菜单驱动程序的雏形。
该程序显示一个提供四个选项的菜单--每个选项用一个字母表标记。
如果用户使用有效选项之外的字母进行响应,程序将提示用户输入有效的字母,
直到用户这样选择为止。然后,该程序使用一条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>
int main() {
    using namespace std;
    char ch;
    cout << "Please enter one of the following choices:" << endl;
    cout << "c) carnivore         p) pianist" << endl;
    cout << "t) tree              g)game" << endl;
    cin >> ch;
    while (isalpha(ch)) {
        switch (ch)
        {
        case 'c':
            cout << "A maple is a carnivore." << endl;
            break;
        case 'p':
            cout << "A maple is a pianist." << endl;
            break;
        case 't':
            cout << "A maple is a tree." << endl;
            break;
        case 'g':
            cou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值