operator( ,-,*,/,%): *
12*7 = 84
---------------------------------------
上面的这个程式能够由用户任意输入两个整数及运算符,完成指定的运算,但是他的不便之处是当有多次运算要进行时,每算完一次必须重新启动程式。下面的程式使用循环控制语句,使得程式能够进行多次运算。
// program 2_5.cpp
#include<iostream.h>
void main()
{
int x,y,quit=1;
char op,cont;
while(quit) // whiel 循环语句,括号里面是个表达式,称为控制表达式。当这个表
{ // 达式的值为1时继续循环体内的代码。从这个大括号开始,进入循环体。
cin>>x;
cin>>y;
cin>>op;
switch(op)
{
case ' ':
cout<<endl<<x<<" "<<y<<"="<<x y;
break;
case '-':
cout<<endl<<x<<"-"<<y<<"="<<x-y;
break;
case '*':
cout<<endl<<x<<"*"<<y<<"="<<x*y;
break;
case '/':
if(y==0) cout<<endl<<"Overflow!"; // 判断y是否为0,避免除0错误。
else
cout<<endl<<x<<"/"<<y<<"="<<x/y;
break;
case '%':
if(y==0) cout<<endl<<"Overflow!"; // 判断y是否为0,避免除0错误。
else cout<<endl<<x<<"%"<<y<<"="<<x%y;
break;
default:
cout<<endl<<"Wrong!";
break;
}
cout<<endl<<"Do you want to continue?(y or n)";
cin>>cont;
if(cont=='n') quit=0; // 当操作者输入字符'n'时,由于quit被赋值0。
// 当再次检测while表达式时,由于quit为0,所以退出while循环。
}
}
这个程式所做出的改进是很明显的,只要在每次完成一次计算后,用户回答是否继续时按下'y'键(或除'n'之外的任何字符),就 能够连续运行,完成用户指定的四则运算,直到接收到字母'n'为止。在循环体内必须有改变while表达式值的语句,否则一旦进入死循环就无法跳出,这种情形称为“死循环”,编程中应注意避免。
[1] [2] [3] 下一页




