C++语言程序设计

分析：
我们可以用选择和循环语句实现该程序的功能，它由以下几个部分组成：
<> 初始化：设置当前值为0.0、显示当前值、提示用户输入命令字符及读当前值。
<> 循环。当'Q'命令键入时，循环终止。循环体内完成如下工作：
i. 处理命令。如果要求输入数据，还要进行运算
ii. 显示运算结果
iii. 提示用户输入命令字符
iv. 读命令字符
本程序要处理的数据有三种：
<> 当前显示的值：一个double型数，用变量displayed_value表示
<> 命令字符：一个字符，用变量command_character表示
<> 参与运算的另一个double型数，用变量new_entry表示
程序总的控制结构是一个循环，而对于不同的命令的处理，可用多分支控制的switch语句来完成，它嵌套在循环语句当中。
因为键入'Q'命令，循环终止，所以循环的控制结构如下：
while (command_character != 'Q') {
// switch语句
...
// 输入下一个命令
cout << "Value : " << displayed_value << endl;
cout << "command>";
cin >> command_character;
}
由于'Q'命令是循环语句处理的，所以，switch语句处理的命令包括：
'C'清除命令，设置当前值为0；
'+'加，要求输入一个double型数，并作加法运算；
'-'减，要求输入一个double型数，并作减法运算；
'*'乘，要求输入一个double型数，并作乘法运算
'/'除，要求输入一个double型数，并作除法运算
如果用户输入了不合适的命令，例如，'M'命令，应该给出错误信息提示，这可由"default"情形来处理，在switch语句中：
default:
cout << "不可理解的输入!";
当出现错误输入，应该清除掉不该读入的字符，即非法的命令。这可以使用cin.ignore(...)语句，在遇到识别字符（如换行符）之前，它会忽略所有的字符，但要求指定识别字符（如换行符'\n'）和忽略字符的最大数目，例如：
cin.ignore(100,'\n');
上一句要求cin找到换行符时，最多可忽略100个字符，这个数字应该能够足以跳过任何无效的字符。所以，完整的switch语句应为：
switch(command_character) {
case 'C':
displayed_value = 0.0;
break;
case '+':
…
default:
cout << "不可理解的输入!";
cin.ignore(100,'\n');
}
因为default语句后，没有其它的情形要处理，所以不再需要break语句，但是，本switch语句中除default以外的其它情形（如"case '+':"），应有与之配套的break。