C++程序设计与案例分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3.2 if-else语句

简单if语句只指出条件为“真”(成立)时的判断,如果需要一个条件、两个结论,如何实现呢?if-else语句明确指出作为控制条件的表达式为“真”时做什么,为“假”时做什么。

If-else语句的形式:

                              if(表达式)
                              语句A;
                              else
                              语句B;

功能:计算表达式的值,若表达式的值为“真”,执行语句A,并跳过语句B,继续执行if-else语句的下一条语句;若表达式的值为“假”,跳过语句A,执行语句B,然后继续执行if-else语句后的下一条语句。if-else语句流程图如图3.3所示。

图3.3 if-else语句流程图

【例3.10】 输入三角形三边长,求三角形面积和周长。

分析:该题目在顺序结构程序设计中已经编写过,其中三角形三边长原理是由用户口算来判断的,如果让机器自行根据情况来裁定,就需要选择结构程序设计(if-else语句)来实现。当符合三角形三边长原理条件为真时,则进行求解对应的面积和周长;当条件为假时,则需要重新输入三边长。

编程序如下:

          #include <iostream>
          #include <cmath>
          using namespace std;
          void main()
          {
          float a,b,c,s,area,m;
            /* 用a,b,c来表示三角形的三边长,用area 表示面积,m表示周长*/
          cout<<"input a,b,c";
          cin>>a>>b>>c;
          if (a+b>c && b+c>a && a+c>b )
          {s=1.0/2*(a+b+c);
          area=sqrt(s*(s-a)*(s-b)*(s-c));
          m=a+b+c;
          cout<<"area="<<area<<"m= "<<m<<endl;
          }
          else
          cout<<"Your input not meet the requirement, please reinput\n";
          }

程序输出结果如下: