Просмотр задач
Часть раздела Логика и управление потоком путешествия по C++ на Coddy — урок 20 из 56.
Задание
ЛегкоРасширьте свой инструмент для работы со списком задач, реализовав функциональность просмотра для отображения всех задач в формате нумерованного списка. Это основывается на предыдущем уроке, добавляя возможность видеть, какие задачи были сохранены в системе.
Будут предоставлены следующие входные данные:
- Целое число
n, представляющее количество задач для добавления в список - Затем
nстрок, представляющих описания задач
Ваша программа должна:
- Начать с той же настройки из предыдущего урока (пустой
std::vector<std::string>с именемtasksи приветственное сообщение) - Прочитать количество задач и добавить каждое описание задачи в вектор, используя
push_back() - Проверить, пуст ли вектор задач, используя метод
.empty() - Если вектор пуст, вывести сообщение о том, что задач нет
- Если вектор содержит задачи, перебрать его с помощью традиционного цикла for с индексом
- Вывести каждую задачу в виде нумерованного списка, начиная с 1 (а не с 0)
- В конце вывести общее количество задач
Используйте следующий точный формат вывода:
Для пустого списка задач:
Welcome to Task List Tool!
Menu Options:
1. Add Task
2. View Tasks
3. Quit
Task list system initialized and ready!
No tasks available.Для непустого списка задач:
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]Используйте традиционный цикл for, где i начинается с 0 и идет до tasks.size(). При выводе отображайте i + 1, чтобы номера задач начинались с 1, и обращайтесь к каждой задаче, используя tasks[i].
Попробуйте сами
#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;
}Все уроки раздела Логика и управление потоком
1Указатели и память
Что такое указатель?Оператор взятия адресаОператор разыменованияНулевые указателиУказатели и массивыДинамическая память и 'new'Освобождение памяти и 'delete'Итоги: Практика с указателями2Векторы (динамические массивы)
Знакомство с std::vectorСоздание вектораДобавление элементовДоступ к элементамРазмер вектораИтерация с помощью цикла ForRange-based цикл ForУдаление элементовИтоги: операции с векторами5Проект: Инструмент инвентаризации
Настройка проектаДобавление и обновление товаров3Проект: Список задач
Обзор проектаДобавление задачи