Bài thực hành số 4: Lập trình tổ chức Menu A. Mục tiêu Tổ chức chương trình menu cho phép chọn lựa chức năng thực hiện. Sử dụng thuần thục các câu lệnh điều khiển Rèn luyện cách gọi hàm, truyền tham trị. B. Ôn tập: Hệ thống các hàm thường dùng trong Menu: o Hàm Menu o Hàm chọn menu o Hàm xử lý menu //Hàm xuất các chức năng chính của chương trình // Chương trình có 4 chức năng chính, chức năng 5 dùng để thóat khỏi chương trình void Menu() { cout<<"\n BANG MENU "; cout<<"\n1. Chức năng 1"; cout<<"\n2. Chức năng 2"; cout<<"\n3. Chức năng 3"; cout<<"\n4. Thoat khoi CT!"; } //Hàm điều khiển chọn menu int ChonMenu() { int Chon; for(;;) { Menu(); cout<<"\nNhap Chon tu 1 -> 4: "; cin>>Chon; if (1 <= Chon && Chon <= 4) break; } return Chon; } //Hàm xử lý menu void XL_Menu(KDL a, int Chon) { switch(Chon) { case 1: //Thực hiện chức năng 1 break; case 2: //Thực hiện chức năng 1 break; case 3: //Thực hiện chức năng 1 break; case 4: cout<<"\n5. Thoat khoi CT!\n"; exit(1); } } C. Luyện tập: Ví dụ 1: Viết chương trình thực hiện các thao tác trên số nguyên dương. Yêu cầu của chương trình là : - In ra màn hình menu có các chức năng sau : 1. Tính S 1 = ∑ = n i i 1 1 ; 2. Tính S 2 = ∑ = + n i i i 1 2 1 ; 3. Tính S 3 = ∑ = + − n i i i i 1 1 )1( - Muốn thực hiện thao tác nào thì chọn chức năng tương ứng của menu . Thực hiện: Bước 1: Tạo Project với tên “Lab4_Vd1”. Bước 2: Tạo tập tin chương trình vd1.cpp Bước 3: Trong tập tin vd1.cpp, soạn code theo cấu trúc: // Chèn các tập tin thư viện cần thiết //Chuong trinh tinh tong #include <iostream> using namespace std; //Khai bao nguyen mau //Cac ham to chuc menu void Menu(); int ChonMenu(); void XL_Menu(int n, int Chon); //Cac ham chuc nang double Tong1(int n); double Tong2(int n); double Tong3(int n); void main() { int Chon, n; cout<<"\nNhap n = "; cin>>n; do { Chon = ChonMenu(); XL_Menu(n,Chon); } while(1); } void Menu() { cout<<"\n BANG MENU "; cout<<"\n1. Tinh S1"; cout<<"\n2. Tinh S2"; cout<<"\n3. Tinh S3"; cout<<"\n4. Thoat khoi chuong trinh!!!"; } int ChonMenu() { int Chon; for(;;) { Menu(); cout<<"\nNhap Chon tu 1 -> 4: "; cin>>Chon; if (1 <= Chon && Chon <= 4) break; } return Chon; } void XL_Menu(int n, int Chon) { switch(Chon) { case 1: cout<<"\n1.Tong S1:\n"; cout<<"\nS1 = "<<Tong1(n); cout<<'\n'; break; case 2: cout<<"\n1.Tong S2:\n"; cout<<"\nS2 = "<<Tong2(n); cout<<'\n'; break; case 3: cout<<"\n1.Tong S3:\n"; cout<<"\nS3 = "<<Tong3(n); cout<<'\n'; break; case 4: cout<<"\n4. Thoat khoi CT!\n"; exit(1); } } double Tong1(int n) { double S = 0; int i; for(i = 1; i <= n; i++) S += 1/(double)i; return S; } double Tong2(int n) { double S = 0; int i; for(i = 1; i <= n; i++) S += (double)(i+1)/(i*i); return S; } double Tong3(int n) { double S = 0; int i; for(i = 1; i <= n; i++) if(i%2==0) S += (double)(i)/(i+1); else S -= (double)(i)/(i+1); return S; } Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình. D. Bài tập: Bài 1: Viết chương trình thực hiện các thao tác trên số nguyên dương. Yêu cầu của chương trình là : - In ra màn hình menu có các chức năng sau : 1. Tính diện tích hình vuông khi biết cạnh 2. Tính diện tích hình chữ nhật khi biết 2 cạnh 3. Tính diện tích hình tam giác khi biết 3 cạnh 4. Tính diện tích hình tròn khi biết bán kính 5. Thoát khỏi chương trình - Muốn thực hiện thao tác nào thì chọn chức năng tương ứng của menu . Bài 2: Viết chương trình thực hiện các thao tác trên số nguyên dương. Yêu cầu của chương trình là : - In ra màn hình menu có các chức năng sau : 1. Tìm và in ra n số nguyên tố đầu tiên. 2. Tìm và in ra các số nguyên tố không lớn n 3. Tính n! 4. Phân tích n thành tích các thừa số nguyên tố 5. Thoát khỏi chương trình - Muốn thực hiện thao tác nào thì chọn chức năng tương ứng của menu . . Bài thực hành số 4: Lập trình tổ chức Menu A. Mục tiêu Tổ chức chương trình menu cho phép chọn lựa chức năng thực hiện. Sử dụng thuần thục các câu. trong Menu: o Hàm Menu o Hàm chọn menu o Hàm xử lý menu //Hàm xuất các chức năng chính của chương trình // Chương trình có 4 chức năng chính, chức năng 5 dùng để thóat khỏi chương trình void Menu( ) { cout<<"
. Chon; } //Hàm xử lý menu void XL _Menu( KDL a, int Chon) { switch(Chon) { case 1: / /Thực hiện chức năng 1 break; case 2: / /Thực hiện chức năng 1 break; case 3: / /Thực hiện chức năng 1 break; case 4: cout<<"
5.