Menu
CoddyTech

Xem công việc

Thuộc phần Logic và luồng chương trình trong hành trình C++ của Coddy. Bài học 20 trên 56.

challenge icon

Thử thách

Dễ

Mở rộng công cụ danh sách công việc bằng cách triển khai chức năng xem để hiển thị tất cả công việc theo dạng danh sách được đánh số. Bài học này tiếp nối bài học trước, bổ sung khả năng xem những công việc đã được lưu trong hệ thống.

Chương trình sẽ nhận các đầu vào sau:

  • Một số nguyên n biểu thị số công việc cần thêm vào danh sách
  • Sau đó là n chuỗi mô tả công việc

Chương trình của bạn cần:

  1. Bắt đầu bằng phần thiết lập như ở bài học trước, gồm một std::vector<std::string> rỗng có tên tasks và lời chào
  2. Đọc số lượng công việc và thêm từng mô tả công việc vào vector bằng push_back()
  3. Kiểm tra xem vector tasks có rỗng không bằng phương thức .empty()
  4. Nếu vector rỗng, in ra thông báo cho biết không có công việc nào
  5. Nếu vector có công việc, duyệt qua vector bằng vòng lặp for truyền thống với một chỉ số
  6. In từng công việc dưới dạng danh sách được đánh số, bắt đầu từ 1 (không phải 0)
  7. Hiển thị tổng số công việc ở cuối

Dùng định dạng đầu ra chính xác sau:

Với danh sách công việc rỗng:

Welcome to Task List Tool!

Menu Options:
1. Add Task
2. View Tasks
3. Quit

Task list system initialized and ready!
No tasks available.

Với danh sách công việc không rỗng:

Welcome to Task List Tool!

Menu Options:
1. Add Task
2. View Tasks
3. Quit

Task list system initialized and ready!
Your Tasks:
1. [first task]
2. [second task]
3. [third task]
...
Total tasks: [number of tasks]

Dùng vòng lặp for truyền thống với i bắt đầu từ 0 và chạy đến tasks.size(). Khi in, hiển thị i + 1 để đánh số công việc bắt đầu từ 1, và truy cập từng công việc bằng tasks[i].

Tự làm thử

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    vector<string> tasks;
    
    cout << "Welcome to Task List Tool!" << endl;
    cout << endl;
    cout << "Menu Options:" << endl;
    cout << "1. Add Task" << endl;
    cout << "2. View Tasks" << endl;
    cout << "3. Quit" << endl;
    cout << endl;
    cout << "Task list system initialized and ready!" << endl;
    
    string taskDescription;
    getline(cin, taskDescription);
    
    tasks.push_back(taskDescription);
    
    cout << "Task \"" << taskDescription << "\" added successfully!" << endl;
    cout << "Total tasks: " << tasks.size() << endl;
    
    return 0;
}

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch C++ online