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