[ C\C++ ] Cấu trúc rẽ nhánh - if

Cấu trúc rẽ nhánh
* Dạng1: 
if (điều kiện)  
 
    câu lệnh; 
}
 * Dạng 2:  
if (điều kiện) 
 {  
    câu lệnh1 ;
 }
else
{
   Câu lệnh 2;
}

* Dạng3: if lồng nhau


if (điều kiện) 
 {  
               câu lệnh1; // có thể là if
            }
         else
           { 
           Câu lệnh 2; // có thể là if
           }

Một số ví dụ

Ví dụ1. Viết chương trình nhập vào 3 sô, in ra màn hình số lớn nhất, nhỏ nhất.
#include<iostream.h>#include<conio.h>
void main(){ 
float a,b,c; // nhap a,b,c
 cout<<"\n Nhap a,b,c:"; 
cin>>a>>b>>c; 
// tim max 
int max=a; 
if(max<b) max=b; 
if(max<c) max=c; 
// tim min 
int min=a; 
if(min>b) min=b; 
if(min>c) min=c;
 cout<<"\n Max: "<<max<<"\n Min: "<<min; 
getch();
}

Ví dụ2. Viết chương trình giải ax+b=0


#include<iostream.h>
#include<conio.h>
void main(){
 float a,b;
 // nhap a,b
 cout<<"\n Nhap a,b:"; 
cin>>a>>b; 
// bien luan 
if (a==0)
   if(b==0)
      cout<<"\n Phuong trinh vo so nghiem";
  else
      cout<<"\n Phuong trinh vo nghiem";
 else
cout<<"\n Phuong trinh co nghiem: x= "<<-b/a;
 getch();
}

Ví dụ3. Viế chương trình giải phương trình ax^2 +bx+c=0


#include<iostream.h>
#include<conio.h>
#include<math.h>

void main(){
 float a,b,c; 
// nhap a,b,c
 cout<<"\n Nhap a,b,c:"; 
cin>>a>>b>>c; 
// bien luan 
if (a==0)
// suy bien thanh bac 1
   if(b==0)
 if (c==0)
             cout<<"\n Phuong trinh vo so nghiem";
          else
            cout<<"\n Phuong trinh vo nghiem"; 
     else
          cout<<"\n Phuong trinh co nghiem: x= "<<-c/b;
else
// phuong trinh bac 2
{
 float d=b*b-4*a*c; 
    if (d<0)
       cout<<"\n Phuong trinh vo nghiem"; 
   if (d==0)
       cout<<"\n Phuong trinh co nghiem kep x1=x2="<<-b/(2*a); 
if (d>0)
     cout<<"\n Phuong trinh co 2 nghiem x1="<<(-b-sqrt(d))/(2*a)<<" ; x2="<<(-b-sqrt(d))/(2*a);

 }
 getch();
}

Danh mục bài viết