# Đề 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đ)