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.
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
nbiểu thị số công việc cần thêm vào danh sách - Sau đó là
nchuỗi mô tả công việc
Chương trình của bạn cần:
- 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êntasksvà lời chào - Đọ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() - Kiểm tra xem vector tasks có rỗng không bằng phương thức
.empty() - Nếu vector rỗng, in ra thông báo cho biết không có công việc nào
- 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ố
- 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)
- 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
1Con trỏ và bộ nhớ
Con trỏ là gì?Toán tử lấy địa chỉToán tử giải tham chiếuCon trỏ nullCon trỏ và mảngBộ nhớ động với newGiải phóng bộ nhớ với deleteÔn tập: luyện tập về con trỏ2Vector (mảng động)
Giới thiệu std::vectorTạo vectorThêm phần tửTruy cập phần tửKích thước vectorDuyệt bằng vòng lặp forVòng lặp for dựa trên phạm viXóa phần tửÔn tập: các thao tác với vector5Dự án: Công cụ quản lý hàng tồn kho
Thiết lập dự ánThêm và cập nhật mặt hàng3Dự án: Công cụ danh sách công việc
Tổng quan dự ánThêm công việc6Tập hợp (các phần tử duy nhất)
Giới thiệu std::setTạo tập hợp và thêm phần tửKiểm tra phần tửXóa phần tửDuyệt qua tập hợpÔn tập: các số duy nhấtTự luyện tập: Trình biên dịch C++ online