DEV Community

Cover image for QuizVerse - Projeto em C ++
José Junior
José Junior

Posted on

QuizVerse - Projeto em C ++

QuizVerse é um desafio em C++ realizado durante a formação de desenvolvedor Web no IEFP (Portugal). O desafio consistia em criar uma aplicação que simula um quiz de perguntas e respostas de múltipla escolha. O projeto foi desenvolvido em grupo e, como tivemos algumas disciplinas relacionadas à engenharia de software, começamos com a coleta de requisitos, elaboramos um fluxograma e aplicamos a metodologia ágil.

Para o desenvolvimento, decidimos utilizar o GitHub para controle de versionamento. Utilizamos o GitHub Projects para criar as issues necessárias para o projeto e, com essa ferramenta, conseguimos medir o progresso e dividir as tarefas.

O projeto foi completamente desenvolvido em C++, sem o uso de bibliotecas externas ou banco de dados. Alguns requisitos foram propostos no desafio, como a aleatorização das perguntas, a aleatorização da ordem das respostas, a implementação de um banco de dados para armazenar pontuações e classificações, bem como o cadastro e login dos jogadores.

Um detalhe importante a ser mencionado é que, dado que a formação estava focada no desenvolvimento web, era justo que o desafio se encaixasse nesse contexto. No entanto, uma vez que estávamos no início da formação e C++ era a linguagem escolhida para introduzir os conceitos de programação, o desafio não poderia incluir conceitos que ainda não tivessem sido ensinados.

Quanto ao banco de dados, optamos por utilizar um arquivo .txt para armazenar as informações dos jogadores e consultar as perguntas e respostas da aplicação. Em relação à estrutura de dados, utilizamos a struct tanto para armazenar as informações do jogador no banco de dados quanto para ler as informações das perguntas e respostas e mantê-las em memória para uso.

struct Usuario {
    // struct para armazenar os dados do usuário
    string nomeCompleto, email, password, pergunta, resposta;
    int pontos;
    };
Enter fullscreen mode Exit fullscreen mode

Como o projeto foi desenvolvido em grupo, tivemos que prestar atenção aos detalhes para garantir que ele funcionasse tanto em sistemas Windows quanto em Linux. Isso nos levou a incluir algumas validações e, para isso, recorremos à versão 17 do C++.

#ifdef _WIN32
    // Inclua as bibliotecas específicas do Windows aqui
    #include <conio.h>   
#elif __linux__
    // Inclua as bibliotecas específicas do Linux aqui
    #include <termios.h>    
#endif
Enter fullscreen mode Exit fullscreen mode

A lógica da aplicação consiste em coletar os dados do jogador para iniciar o jogo, selecionar os temas e o nível de dificuldade e, em seguida, executar um loop while para percorrer a estrutura de dados. Em cada iteração do loop, verificamos se a resposta está correta e somamos os pontos.

Usabilidade

repositório no github: https://github.com/joseevilasio/projetoquizverse

Top comments (1)

Collapse
 
nahtanpng profile image
Nathan Ferreira

Parabéns pelo projeto e pela organização dele José!