- Giới thiệu về khoá học lập trình c++ và phương pháp học
- Các khái niệm cơ bản trong c/c++
- Làm việc vào ra dữ liệu input và output trong lập trình c/c++
- Kiểu dữ liệu và toán tử trong lập trình c++
- Làm việc với cấu trúc if else trong lập trình c++
- Hướng dẫn làm bài tập cấu trúc lập trình c++
- Cấu trúc lập trình switch case trong lập trình c++
- Cấu trúc vòng lặp trong lập trình c++
- Hướng dẫn thực hành cấu trúc vòng lặp lập trình c++
- Hướng dẫn thực hành cấu trúc vòng lặp lập trình c++ – P2
- Làm việc với mảng trong lập trình c++
Bài học này tôi sẽ hướng dẫn các bạn học lập trình c++. Sử dụng cấu trúc lập trình vòng lặp đã học để xử lý các bài toán cụ thể. Để hiệu quả và nâng cao kỹ năng lập trình các bạn học lập trình sẽ tự làm. Nếu có khó khăn thì tham khảo code mẫu rồi viết cũng như video hướng dẫn của tôi.
Đầu tiên là các bạn tạo 1 dự án mới trong c++ bằng visual studio. Hoặc công cụ lập trình c++ khác. Sau đó khai báo các thư viện cần thiết sử dụng trong các bài tập c++ này đó là:
1 2 3 4 5 6 7 8 9 |
//Nhập xuất dữ liệu #include <iostream> #include <conio.h> #include <ctype.h> //Lấy bao nhiêu số sau dấu phẩy #include <iomanip> //Làm việc với chuỗi #include <string> using namespace std; |
Bài tập cấu trúc vòng lặp – Học lập trình c++
Chúng ta bắt đầu lập trình c++ để làm các bài tập sau:
Để giải quyết bài này tôi sử dụng 2 cấu trúc vòng lặp trong lập trình c++ để thực hiện. Một vòng lặp in dòng và 1 vòng in cột. Code bằng c++ như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
//Câu 3a là: cout <<"Hinh 3a la: "<<endl; for(int i=0; i<8; i++) { for(int j = 0; j<=i; j++) { cout <<"#"; } //Xuống dòng cout <<endl; } //Câu 3b là: cout <<endl; cout <<"Hinh 3b la: "<<endl; int j = 0; for(int i=0; i<8; i++) { j = 0; while(j<8-i) { cout <<"#"; j++; } cout <<endl; } cout <<"Hinh 3d:"<<endl; int i = 0; j = 0; while(i<8) { //Thiết lập lại giá trị cho j = 0 j = 0; do { //In ra khoảng trắng if(j<8-i-1) { cout <<" "; } else { cout <<"#"; } j++; } while(j<8); //Xuống dòng cout <<endl; i++; } |
Các bạn có thể sử dụng các khác như cộng chuỗi để làm bài tập trên. Như một cách thực hành thêm để hiểu về vòng lặp trong lập trình c++.
Bài tập 1: Viết chương trình nhập vào 1 ký tự bất kỳ từ bàn phím. Kiểm tra xem ký tự đó có nằm trong khoảng từ ‘a’ tới ‘z’ không. Nếu thuộc khoảng đó thì chuyển thành ký tự hoa rồi in ra màn hình. Nếu không thuộc khoảng đó thì in ra dòng chữ [Ký tự vừa nhập không thuộc khoảng từ ‘a’ tới ‘z’]
Để làm bài tập này các bạn cần sử dụng kiến thức trước đã học. Đó là kí tự tương ứng với 1 số trong bảng mã ascii. Sau khi nhập kí tự thành công thì kiểm tra trong khoảng từ a – z với số trong bảng ascii. Code lập trình c++ để thực hiện bài này như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
//Bài tập 1 //Khai báo biến char kitu, t='0'; NhapLai: cout <<"Nhap ki tu tu ban phim la: "; cin.get(kitu); if(kitu>=97 && kitu <=122) { cout <<"Ki tu chu hoa cua "<<(char)kitu<<" la: "<<(char)toupper(kitu)<<endl; } cout <<"Nhap phim 1 de tiep tuc: "; cin.ignore(1); cin.get(t); if(t=='1') { //Xóa kí tự xuống dòng cin.ignore(1); goto NhapLai; } |
Trọng đoạn code trên có sử dụng lệnh goto khá thú vị. Để hỏi người dùng có tiếp tục thực hiện không. Mà không phải tắt chương trình đi chạy lại. Các bạn thử lập trình và debug xem nhé.
Bài 2: Viết chương trình tính năng bằng việc nhập giờ làm việc. Bài tập c++ này ta khai báo 1 hằng số bằng việc sử dụng từ khóa const như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//Bài tập 2 cout <<"Chuong trinh tinh luong cua nhan vien:"<<endl; float tongluong = 0, luong = 0, giolamtrongtuan = 0, giolamcuoituan = 0, luongthemtrongtuan = 0, luongthemcuoituan = 0; //Khai báo 1 hằng số const int SO_GIO_LAM_HANH_CHINH = 40; const int LUONG_MOT_GIO = 10; const int LUONG_THEM_TRONG_TUAN = 12; const int LUONG_THEM_CUOI_TUAN = 18; cout <<"Nhap thoi gian lam them gio tu thu 2->6 la: "; cin >> giolamtrongtuan; cout <<"Nhap thoi gian lam them gio tu thu 7, chu nhat la: "; cin >> giolamcuoituan; //Tính lương tongluong = (SO_GIO_LAM_HANH_CHINH * LUONG_MOT_GIO) + (LUONG_THEM_TRONG_TUAN * giolamtrongtuan) + (LUONG_THEM_CUOI_TUAN * giolamcuoituan); //In kết quả cout <<"Tong luong cua nhan vien la: "<<tongluong<<" $"<<endl; |
Bài 4: Nhập vào tuổi cha và tuổi con hiện nay sao cho tuổi cha lớn hơn 2 lần tuổi con. Tìm xem bao nhiêu năm nữa tuổi cha sẽ bằng đúng 2 lần tuổi con. Ví dụ 30 và 12, sau 6 năm nữa tuổi cha là 36 gấp đôi tuổi con là 18).
Để thực hiện bài tập c++ này các bạn sẽ sử dụng vòng lặp. Cho đến khi tuổi cha bằng 2 lần tuổi con thì dừng lại. Sau đây là đoạn code xử lý:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
//Bài tập 4 NhapLaiTuoi: //Khai báo biến int tuoicha = 0, tuoicon = 0, sonam = 0; cout <<"Nhap vao tuoi cua cha la: "; cin>>tuoicha; cout <<"Nhap vao tuoi cua con la: "; cin >>tuoicon; //Nếu tuổi cha mà nhỏ hơn 2*tuoicon thì nhập lại if(tuoicha < 2*tuoicon) { goto NhapLaiTuoi; } bool thuchien = true; //Thực hiện công việc khi còn đúng while(thuchien) { if(tuoicha == (2*tuoicon)) { thuchien = false; } else { tuoicha++; tuoicon++; sonam++; } } //In kết quả cout <<"So nam ma tuoi cua cha gap 2 lan tuoi con la: "<<sonam<<endl; cout <<"Tuoi cua cha la: "<<tuoicha<<endl; cout <<"Tuoi cua con la: "<<tuoicon<<endl; |
Các bạn học lập trình c++ có thể áp dụng cách khác. Tuy nhiên do muốn mọi người hiểu cấu trúc vòng lặp nên tôi sử dụng để giải quyết bài này.
Bài tập 5: Nhập số nguyên dương N. Tính:
Bài tập c++ này cũng sẽ được giải quyết bằng việc cấu trúc vòng lặp như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
//Bài tập 5 float S1 = 0, S2 = 0, tong = 0; int n = 0; cout <<"Bai tap 5:"<<endl; cout <<"Nhap so n la n = "; cin >>n; for(int i=1; i<=n; i++) { tong += i; } //Thực hiện tính S1 S1 = tong / n; //Thiết lập lấy 3 số sau dấu phẩy cout << setiosflags(ios::fixed) << setprecision(3); cout <<"S1 = "<<S1<<endl; |
Các bạn học lập trình c++ nếu chưa rõ có thể xem thêm video hướng dẫn chi tiết dưới đây. Và thực hành lập trình c++ từng bài một theo video bài giảng:
Hy vọng qua bài học này sẽ giúp các bạn mới học lập trình c++ hiểu thêm. Và vận dụng được cấu trúc vòng lặp trong lập trình c++ được dễ dàng hơn. Nếu có khó khăn gì bạn có thể comment dưới bài viết này hoặc xem thêm những bài học khác về chủ đề này: tại đây
=============================
☎ STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 – 0866 586 366
Website: https://stanford.com.vn
Facebook:
Youtube: