第六章 分支语句和逻辑运算符
1,编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了cctype函数系列)
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
char ch;
cout<<"Enter a char: ";
cin.get(ch);
while(ch != '@')
{
if(isdigit(ch))
{
cin.get(ch);
}else if(islower(ch))
{
ch = toupper(ch);
}else if(isupper(ch))
{
ch = tolower(ch);
}
cout<<ch;
cin.get(ch);
}
return 0;
}
2,编写一个程序,最多将10个donation值读入到一个double数组中(如果你愿意,也可以使用模板类array)。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。
#include<iostream>
using namespace std;
int main()
{
double donation[9];
double result = 0,result_average,num;
int num_over = 0;
int count = 0;
cout<<"Enter the numbers:";
cin>>num; //输入数字
while(num != 0&&count<9)
{
donation[count++] = num; //赋值给数组
cout<<"Enter the numbers:";
cin>>num;
}
for(int i=0;i<count;i++)
{
result += donation[i]; //计算数字总和
}
result_average = result/count; //计算平均数
for(int i=0;i<count;i++)
{
if(donation[i] > result_average)
{
num_over++; //计算大于平均数的数
}
}
cout<<"The average of the numbers is "<<result_average<<endl;
cout<<"There are "<<num_over<<" numbers are bigger than average."<<endl;
return 0;
}
3,编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的菜单----每个选项用一个字母标记。如果用户使用有效选项之外的字母进行响应,程序将提示用户输入一个有效的字母,直到用户这样做为止。使用switch语句。
Please enter one of the following choices:
c) carnivore p) pianist
t) tree g) game
#include<iostream>
using namespace std;
int main(){
char ch_in;
cout<<"Please enter one of the following choices:"<<endl
<<"c) carnivore p) pianist"<<endl<<"t) tree g) game"<<endl;
cout<<"Please enter a c, p, t, or g:";
cin.get(ch_in);
while(ch_in!='c'&&ch_in!='p'&&ch_in!='t'&&ch_in!='g')
{
cout<<"Please enter a c, p, t, or g:";
cin.get();
cin.get(ch_in); //输入其他字符时重新输入
}
switch(ch_in)
{
case 'c':break;
case 'p':break;
case 't':cout<<"A maple is a tree"<<endl;//执行操作
break;
case 'g':break;
}
return 0;
}
4,在BOP大会上,人们便可以通过加入者的真实姓名、头衔或秘密BOP姓名来了解他(她)。请编写一个程序,可以使用真实姓名、头衔、秘密姓名或成员偏好来列出成员。