Visualizando Tarefas
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 20 de 56.
Desafio
FácilEstenda sua ferramenta de lista de tarefas implementando a funcionalidade de visualização para exibir todas as tarefas em um formato de lista numerada. Isso se baseia na lição anterior, adicionando a capacidade de ver quais tarefas foram armazenadas no sistema.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando o número de tarefas a serem adicionadas à lista - Em seguida,
nstrings representando as descrições das tarefas
Seu programa deve:
- Começar com a mesma configuração da lição anterior (um
std::vector<std::string>vazio chamadotaskse a mensagem de boas-vindas) - Ler o número de tarefas e adicionar cada descrição de tarefa ao vetor usando
push_back() - Verificar se o vetor de tarefas está vazio usando o método
.empty() - Se o vetor estiver vazio, imprimir uma mensagem indicando que não há tarefas
- Se o vetor contiver tarefas, iterar por ele usando um loop for tradicional com um índice
- Imprimir cada tarefa como uma lista numerada, começando em 1 (não 0)
- Exibir o número total de tarefas ao final
Use o seguinte formato de saída exato:
Para lista de tarefas vazia:
Welcome to Task List Tool!
Menu Options:
1. Add Task
2. View Tasks
3. Quit
Task list system initialized and ready!
No tasks available.Para lista de tarefas não vazia:
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]Use um loop for tradicional com i começando em 0 e indo até tasks.size(). Ao imprimir, exiba i + 1 para mostrar os números das tarefas começando em 1, e acesse cada tarefa usando tasks[i].
Experimente você mesmo
#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;
}Todas as lições de Lógica & Fluxo
1Ponteiros e Memória
O que é um Ponteiro?Operador de EndereçoOperador de DesreferenciaçãoPonteiros NulosPonteiros e ArraysMemória Dinâmica com 'new'Liberando Memória com 'delete'Recapitulação - Prática com Ponteiros2Vetores (Arrays Dinâmicos)
Introdução ao std::vectorCriando um VetorAdicionando ElementosAcessando ElementosTamanho do VetorIterando com um Loop ForLoop For Baseado em IntervaloRemovendo ElementosRecapitulação - Operações com Vetores3Projeto: Ferramenta de Lista de Tarefas
Visão Geral do ProjetoAdicionando uma Tarefa