1.编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了cctype函数系列)。
#include <iostream>
#include <cctype>
int main(void)
{
using std::cin;
using std::cout;
using std::endl;
char input;
cout << "Please enter a character:";
cin >> input;
while (input != '@')
{
if (isdigit(input))
{
cin >> input;
continue;
}
else if(islower(input))
{
input = toupper(input);
}
else
{
input = tolower(input);
}
cout << input;
cin >> input;
}
return 0;
}
2.编写一个程序,最多将10个donation值读入到一个double数组中(如果您愿意,也可使用模板类array)。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。
array<double, 10> donation;
double input;
double average;
double sum = 0.0;
int count = 0;
int bigger = 0;
cout << "Please enter the double numerial: ";
while ( cin >> input )
{
donation[count] = input;
count++;
if (count == 10)
{
break;
}
cout << "Please enter the next one: ";
}
for (int i = 0; i < count; i++)
{
sum += donation[i];
average = sum / count;
}
for (int i = 0; i < count; i++)
{
if (donation[i] > average)
bigger++;
}
cout << "You have entered " << count << " numbers, the average is " << average;;
cout << ". And there are " << bigger << " numbers are bigger than the average" << ".\n";
3.编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的菜单–每个选项用一个字母标记。如果用户使用有效选项之外的字母进行响应,程序将提示用户输入一个有效的字母,直到用户这样做为止。然后,该程序使用一条switch语句,根据用户的选择执行一个简单操作。该程序的运行情况如下:
Please enter one of the following choices:
c)carnivore p)pianist
t)tree g)game
f
Please enter a c, p, t, or g:q
Please enter a c, p, t, or g:t
A maple is a tree.
void ShowMenu(void);
using std::cin;
using std::cout;
using std::endl;
int main(void)
{
char ch;
ShowMenu();
cin.get(ch);
while (ch != 'c' && ch != 'p' && ch != 't' && ch != 'g')
{
cin.get();//消耗回车
cout << "Please enter a character: c, p, t, g: ";
cin.get(ch);
}
switch (ch)
{
case 'c':
cout << "Carnivore." << endl;
break;
case 'p':
cout << "Pianist" << endl;
break;
case 't':
cout << "A maple is a tree." << endl;
break;
case 'g':
cout << "Ga