Vòng lặp do...while trong C / C++
Trong bài viết này, codehow sẽ giới thiệu đến các bạn vòng lặp do...while trong C / C++. Đây là một loại vòng lặp đặc biệt hơn so với vòng lặp while và for.
Vòng lặp do...while được sử dụng trong trường hợp bạn muốn thực hiện một hành động gì đó trước rồi mới kiểm tra điều kiện. Nếu nó thõa điều khiện thì tiếp tục lặp, ngược lại thì thoát khỏi vòng lặp.
Ví dụ khi chúng ta tạo một cái menu nhiều option cho người dùng chọn. Nếu người dùng chọn đúng option thì thoát khỏi vòng lặp, nếu chọn sai thì tiếp tục hiển thị menu cho người dùng chọn lại.
Cấu trúc vòng lặp do...while trong C / C++
Vòng lặp do...while về cơ bản cũng tương tự như vòng lặp while và for đó là được sử dụng để lặp lại một đoạn code nào đó.
Tuy nhiên trong vòng lặp do...while nó sẽ thực hiện bên trong vòng lặp trước rồi mới kiểm tra điều kiện. Điều này có nghĩa là nó thực hiện các câu lệnh bên trong vòng lặp ít nhất một lần.
Khác với vòng lặp while, for có thể sẽ không thực hiện lần nào bên trong vòng lặp. Hãy cùng xem cú pháp của nó để hiểu rõ hơn nhé.
do { statement(s); } while( condition )
Trong đó:
- statement: đây là các câu lệnh bên trong vòng lặp, nó sẽ được thực hiện đầu tiên khi bắt đầu chạy vòng lặp.
- condition: đây là điều kiện để vòng lặp tiếp tục được lặp. Nếu không thỏa điều kiện thì vòng lặp sẽ kết thúc.
Ví dụ: mình sẽ thực hiện một chương trình in ra các số lẻ từ 1 đến n (n do người dùng nhập).
#include <iostream> using namespace std; int main() { int number; cout<<"Nhap vao so n: "; cin>>number; cout<<"Cac so le tu 1 den n la: "; while (number >= 0){ if(number % 2 == 1){ cout<<number<<"\t"; } number--; } cout<<"\n----------------------------\n"; cout<<"chuong trinh nay duoc dang tai codehow.net"; return 0; }
Kết quả:
Sơ đồ hoạt động của vòng lặp do...while trong C / C++:
Đối với vòng lặp do...while cũng có vòng lặp lồng nhau và vòng lặp vô hạn. Tuy nhiên nó khá giống với vòng lặp while nên mình sẽ không nhắc lại ở đây. Các bạn có thể xem lại tại đây nhé!
Ví dụ sử dụng vòng lặp do...while trong C / C++
Trong phần này mình sẽ thực hiện hai ví dụ sử dụng vòng lặp do...while bằng hai ngôn ngữ khác nhau là C / C++.
Ví dụ 1: Tạo chương trình bằng ngôn ngữ C dùng để đăng nhập, yêu cầu người dùng nhập vào ID và Password. Nếu đùng thì thông báo thành công, nếu sai thì bắt đăng nhập lại.
#include <stdio.h> const char ID[] = "admin"; const char Pass[] = "codehow.net"; int main(void) { char id[] = ""; char pass[] = ""; do { printf("ID: "); scanf("%s", ID); printf("Pass: "); scanf("%s", Pass); } while (strcmp(ID,id) != 0|| strcmp(Pass,pass) != 0); printf("Dang nhap thanh cong !!!"); // do something return 0; }
Kết quả:
Ví dụ 2: Tạo một chương trình bằng ngôn ngữ C++, hiển thị menu các option cho người dùng chọn. Thông báo người dùng đã chọn option nào ra màn hình.
#include <iostream> using namespace std; int main() { int selection; do { cout << "------------Menu------------- \n"; cout << "1) Rút tiền\n"; cout << "2) Chuyển tiền\n"; cout << "3) Nạp tiền\n"; cout << "4) Kiểm tra tài khoản\n"; cout << "Lựa chọn của bạn là: "; cin >> selection; } while (selection < 1 || selection > 4); // do something with selection here // such as a switch statement cout << "Bạn đã lựa chọn option #" << selection << "\n"; cout<<"\n----------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; return 0; }
Kết quả:
Lời kết
Như vậy là chúng ta đã cùng nhai tìm hiểu về vòng lặp do...while trong C / C++. Đây cũng là loại vòng lặp cuối cùng mà mình muốn giới thiệu đến các bạn. Ở bài tiếp theo mình sẽ giới thiệu đến các bạn