🧩 Exercícios: Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
Spec Sistemas Com Cpp • Trilha Progressiva em 4 Níveis
🧭 Navegação Pedagógica
-
📖 Teoria do Capítulo 💻 Exemplos 📊 Slides 🧠 Quiz
🎯 Nível 1: Fundamentos
Problema 01.1 — Programa C++ Moderno com e Namespaces
Contexto: Programa C++ Moderno com
Requisitos de Execução:
- Escrever programa utilizando
std::cout,std::endle inicialização uniforme{}.
Resultado Esperado
Programa C++20 compilado e executado com sucesso.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_1_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
#include <iostream>
int main() {
int versao_cpp{2020};
std::cout << "Ecossistema C++ Moderno (C++20/C++23)" << std::endl;
std::cout << "Padrao ISO C++: " << versao_cpp << std::endl;
return 0;
}
🔍 Nível 2: Prática
Problema 01.2 — Leitura e Escrita Segura com std::cin e Validação de Estado de Stream
Contexto: Leitura e Escrita Segura com std::cin e Validação de Estado de Stream no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.
Requisitos de Execução:
- Ler dados numéricos e verificar se o stream não entrou em estado de falha
std::cin.fail().
Resultado Esperado
Entrada validada com recuperação automática em caso de caractere inválido.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_2_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
#include <iostream>
int main() {
int valor{0};
std::cout << "Digite um inteiro: ";
if (std::cin >> valor) {
std::cout << "Valor recebido com sucesso: " << valor << std::endl;
} else {
std::cerr << "Erro: entrada invalida." << std::endl;
std::cin.clear();
}
return 0;
}
⚡ Nível 3: Integração
Problema 01.3 — Compilação com GCC/Clang no Padrão C++20 (-std=c++20)
Contexto: Compilação com GCC/Clang no Padrão C++20 (-std=c++20) no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.
Requisitos de Execução:
- Configurar flags de compilação estrita
-std=c++20 -Wall -Wextra -Wpedantic.
Resultado Esperado
Código C++20 compilado sem avisos ou erros de compatibilidade.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_3_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
#include <iostream>
int main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) {
auto lambda = [](auto x, auto y) { return x + y; };
std::cout << "Soma C++20: " << lambda(10, 25.5) << std::endl;
return 0;
}
🏆 Nível 4: Desafio Corporativo
Problema 01.4 — Automação de Build Multiplataforma com CMake (CMakeLists.txt)
Contexto: Automação de Build Multiplataforma com CMake (CMakeLists.txt) no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.
Requisitos de Execução:
- Criar
CMakeLists.txtconfigurando target com padrão C++20 exigido e flags de warning.
Resultado Esperado
Projeto configurado e gerado com sucesso via CMake.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_4_SeuNome - Envie na tarefa:
Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
cmake_minimum_required(VERSION 3.20)
project(EngineSistemas LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
add_executable(app_engine main.cpp)
target_compile_options(app_engine PRIVATE -Wall -Wextra -Wpedantic)
| ⬅️ Voltar ao Índice de Exercícios | 📚 Sumário de Tópicos |