Cấu trúc điều khiển trong C/C++
* Tóm tắt lý thuyết
+ Cấu trúc rẽ nhánh
if (điều kiện)
{
Câu lệnh 1;
}
else
{
Câu lệnh 2;
}
Trong đó:
- điều khiện: biểu thức logic
- else có thể có hoặc không
- Câu lệnh có thể là lệnh đơn, lệnh phúc hoặc cấu trúc khác
+ Cấu trúc lựa chọn
switch (biểu thức) {
case gt1:
Câu lệnh 1;
[break;]
case gt2:
Câu lệnh 2;
[break;]
...
case gtn:
Câu lệnh n;
[break;]
[ default:
Câu lệnh 0; ]
}
Trong đó:
- Biểu thức cho giá trị cụ thể
- break,default: có thể có hoặc không
- Câu lệnh có thể là lệnh đơn, lệnh phức, hoặc một cấu trúc khác
+ Cấu trúc lặp
- for
for (bt khởi tạo ; điều kiện ; bt thiết lập lại)
{
câu lệnh ;
}
- while
while (điều kiện)
{
Câu lệnh;
}
- do/while
do{
Câu lệnh;
} while (điều kiện);
* Bài tập áp dụng
(Chương trình được mã hóa trên TurboC++ 3.0)
Bài 1 : Quản lý điểm
- Nhập vào điểm 5 học kỳ và số tín chỉ tương ứng
(0 <= điểm <= 10, 20 <= số tín chỉ <= 25)
- Tính điểm trung bình
- In ra điểm chữ và điểm tích lũy
#include<iostream.h>
#include<conio.h>
void main(){
// khai bao bien
float diemK1,diemK2,diemK3,diemK4,diemK5;
int tcK1,tcK2,tcK3,tcK4,tcK5;
// Nhap diem va so tin chi
cout<<"\n Nhap diem: ";
do{
cout<<"\n Diem ky 1: "; cin>>diemK1;
if(diemK1<0||diemK1>10)
cout<<"\n Nhap lai diem !";
}while(diemK1<0||diemK1>10);
do{
cout<<"\n Diem ky 2: "; cin>>diemK2;
if(diemK2<0||diemK2>10)
cout<<"\n Nhap lai diem !";
}while(diemK2<0||diemK2>10);
do{
cout<<"\n Diem ky 3: "; cin>>diemK3;
if(diemK3<0||diemK3>10)
cout<<"\n Nhap lai diem !";
}while(diemK3<0||diemK3>10);
do{
cout<<"\n Diem ky 4: "; cin>>diemK4;
if(diemK4<0||diemK4>10)
cout<<"\n Nhap lai diem !";
}while(diemK4<0||diemK4>10);
do{
cout<<"\n Diem ky 5: "; cin>>diemK5;
if(diemK5<0||diemK5>10)
cout<<"\n Nhap lai diem !";
}while(diemK5<0||diemK5>10);
cout<<"\n \n Nhap so tin chi: ";
do{
cout<<"\n So tin chi ky 1: "; cin>>tcK1;
if(tcK1<20||tcK1>25)
cout<<"\n Nhap lai so tin chi !";
}while(tcK1<20||tcK1>25);
do{
cout<<"\n So tin chi ky 2: "; cin>>tcK2;
if(tcK2<20||tcK2>25)
cout<<"\n Nhap lai so tin chi !";
}while(tcK2<20||tcK2>25);
do{
cout<<"\n So tin chi ky 3: "; cin>>tcK3;
if(tcK3<20||tcK3>25)
cout<<"\n Nhap lai so tin chi !";
}while(tcK3<20||tcK3>25);
do{
cout<<"\n So tin chi ky 4: "; cin>>tcK4;
if(tcK4<20||tcK4>25)
cout<<"\n Nhap lai so tin chi !";
}while(tcK4<20||tcK4>25);
do{
cout<<"\n So tin chi ky 5: "; cin>>tcK5;
if(tcK5<20||tcK5>25)
cout<<"\n Nhap lai so tin chi !";
}while(tcK5<20||tcK5>25);
// Tinh diem
float
diemTB=(diemK1*tcK1+ diemK2*tcK2+ diemK3*tcK3+ diemK4*tcK4+ diemK5*tcK5) / (tcK1+tcK2+tcK3+tcK4+tcK5);
// in diem chu, diem tich luy
char diemChu;
int diemTL;
if(diemTB>=8.5) {diemChu='A'; diemTL=4;}
else
if(diemTB>=7) {diemChu='B'; diemTL=3;}
else
if(diemTB>=5.5) {diemChu='C'; diemTL=2;}
else
if(diemTB>=4) {diemChu='D'; diemTL=1;}
else
{diemChu='F'; diemTL=0;}
cout<<"\n *Diem chu: "<<diemChu<<"\n *Diem tich luy: "<<diemTL;
getch();
}
-----------------------------------------------------
Bài 2: Tính s=x/1 +x^2/2 +... + x^n/n
(x là số thực, 1 <= x <=3; n là số nguyên 3<= n <= 100)
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main(){
// khai bao bien
float x;
int n;
// Nhap so lieu
do{
cout<<"\n x: "; cin>>x;
if(x<1||x>3)
cout<<"\n Nhap lai x !";
}while(x<1||x>3);
do{
cout<<"\n n: "; cin>>n;
if(n<3||n>100)
cout<<"\n Nhap lai n !";
}while(n<3||n>100);
// Tinh S
float s=0;
for(int i=1;i<=n;i++)
s=s+(float)pow(x,i)/i;
cout<<"\n S= "<<s;
getch();
}
--------------------------
>> Tham khảo thêm Tại đây
0 nhận xét:
Đăng nhận xét