# Đề 2: - **Câu 1**: - Tạo chương trình với hàm `main` (1đ) - Khai báo và khởi tạo mảng chuỗi `arrFruits` với các phần tử sau: "Apple", "Banana", "Orange", "Mango", "Grapes" (1đ) - Viết hàm `showMenu` không có giá trị trả về và không có tham số. Hàm này sẽ vẽ Menu của phần mềm như sau: (1đ) ```markdown ------------------------------------- | My Fruit Application | ------------------------------------- | 1. Print fruits | | 2. Find fruits | | 3. Concatenate fruits | | 4. Sort fruits by length | | 5. Count vowels in fruits | | 6. Clear screen | | 7. Exit | ------------------------------------- ``` - Viết hàm `printFruits` không có giá trị trả về và có hai tham số là mảng chuỗi `arrFruit` và kích thước của mảng `size`. Hàm này sẽ in ra danh sách các quả và thêm dấu "!" vào cuối cùng của kết quả in được như sau: (2đ) ```markdown Fruits: Apple, Banana, Orange, Mango, Grapes! ``` - Viết hàm `findFruits` không có giá trị trả về và có ba tham số là chuỗi `searchFruit`, mảng chuỗi `arrFruit`, và kích thước của mảng `size`. Hàm này sẽ tìm và in ra danh sách các quả trong mảng mà chứa chuỗi `searchFruit` như sau: (1đ) ```markdown Fruits containing "an": Banana, Mango, Grapes ``` - Viết hàm `reverseFruits` không có giá trị trả về và có hai tham số là mảng chuỗi `arrFruit` và kích thước của mảng `size`. Hàm này sẽ đảo ngược thứ tự các quả trong mảng và in ra kết quả như sau: (2đ) ```markdown Reversed Fruits: Grapes, Mango, Orange, Banana, Apple ``` - Viết hàm `sortByLength` không có giá trị trả về và có hai tham số là mảng chuỗi `arrFruit` và kích thước của mảng `size`. Hàm này sẽ sắp xếp các quả trong mảng theo độ dài tăng dần và in ra kết quả như sau: (2đ) ```markdown Sorted Fruits by Length: Apple, Mango, Grapes, Banana, Orange ``` - Viết hàm `countVowels` không có giá trị trả về và có ba tham số là mảng chuỗi `arrFruit`, kích thước của mảng `size`. Hàm này sẽ đếm số lượng nguyên âm (các ký tự `a, e, i, o, u`) trong mỗi quả trong mảng , sau đó in ra danh sách số lượng nguyên âm như sau: (1đ) ```markdown ----------------------------- | Fruit | Vowel Count | ----------------------------- | Apple | 2 | | Banana | 3 | | Orange | 3 | | Mango | 2 | | Grapes | 2 | ----------------------------- ``` - **Câu 2**: - Viết chương trình chạy trong hàm `main` và triển khai các yêu cầu sau: - Hiển thị menu bằng cách gọi hàm `showMenu` khi bắt đầu chương trình. - Yêu cầu người dùng lựa chọn theo menu: - Nếu người dùng chọn 1: Gọi hàm `printFruits` với tham số là mảng `arrFruits` và kích thước của mảng để hiển thị các quả (1đ) - Nếu người dùng chọn 2: Yêu cầu người dùng nhập vào một chuỗi, sau đó gọi hàm `findFruits` với tham số là chuỗi đã nhập, mảng `arrFruits` và kích thước của mảng để tìm và in ra danh sách các quả chứa chuỗi đã nhập (1 đ) - Nếu người dùng chọn 3: Gọi hàm `concatenateFruits` với tham số là mảng `arrFruits` và độ dài mảng `size`, in ra kết quả (2đ) - Nếu người dùng chọn 4: Gọi hàm `sortByLength` với tham số là mảng `arrFruits` và độ dài mảng `size`, in ra mảng đã sắp xếp (1đ) - Nếu người dùng chọn 5: Gọi hàm `countVowels` với tham số là mảng `arrFruits`, độ dài mảng `size`, sau đó in ra danh sách số lượng nguyên âm (1đ) - Nếu người dùng chọn 6: Xóa màn hình bằng cách gọi hàm tương ứng (0.5đ) - Nếu người dùng chọn 7: Kết thúc chương trình (0.5đ) - Yêu cầu triển khai với vòng lặp vô hạn để phần mềm luôn chạy. (2đ)