0
respostas

[Projeto] Desafio: hora da prática

using System.Security.Cryptography;

var quiz = new Dictionary<string, List> {
{
"Qual é a função principal de um compilador?", new List
{
"a) Executar o código diretamente",
"b) Traduzir o código-fonte para linguagem de máquina",
"c) Editar o código escrito pelo programador",
"d) Armazenar variáveis na memória"
}
},
{
"Qual das opções representa um tipo de dado primitivo em C#?", new List
{
"a) List",
"b) string",
"c) Array",
"d) Dictionary"
}
},
{
"O que significa a palavra-chave void em uma função?", new List
{
"a) Que a função retorna um número inteiro",
"b) Que a função retorna um valor booleano",
"c) Que a função não retorna nenhum valor",
"d) Que a função retorna uma string"
}
},
{
"Qual estrutura de controle é usada para repetir um bloco de código enquanto uma condição for verdadeira?", new List
{
"a) while",
"b) switch",
"c) if",
"d) break"
}
}
};

Console.WriteLine("Bem vindo ao Quiz sobre fundamentos de Programação");
Console.WriteLine("Informar uma opção que não existe será contado como opção incorreta\n");
Console.WriteLine("Boa sorte!\n");

int numeroDaQuestao = 1;

foreach (var key in quiz.Keys)
{
Console.WriteLine($"{key} \n");
Console.WriteLine(quiz[key][0]);
Console.WriteLine(quiz[key][1]);
Console.WriteLine(quiz[key][2]);
Console.WriteLine($"{quiz[key][3]} \n");
Console.Write("informe a sua resposta: ");
char resposta = char.Parse(Console.ReadLine()!);
CorrecaoDaResposta(numeroDaQuestao, resposta);
numeroDaQuestao++;
Console.Clear();
}

Console.WriteLine("Quiz encerrado!");
void CorrecaoDaResposta (int questao, char resposta)
{
switch (numeroDaQuestao)
{
case 1:
if (resposta == 'b')
{
Console.WriteLine("\nResposta correta!\n");
Thread.Sleep(2000);
} else
{
Console.WriteLine("\nResposta incorreta!\n");
Thread.Sleep(2000);
}
break;
case 2:
if (resposta == 'b')
{
Console.WriteLine("\nResposta correta!\n");
Thread.Sleep(2000);
}
else
{
Console.WriteLine("\nResposta incorreta!\n");
Thread.Sleep(2000);
}
break;
case 3:
if (resposta == 'c')
{
Console.WriteLine("\nResposta correta!\n");
Thread.Sleep(2000);
}
else
{
Console.WriteLine("\nResposta incorreta!\n");
Thread.Sleep(2000);
}
break;
case 4:
if (resposta == 'a')
{
Console.WriteLine("\nResposta correta!\n");
Thread.Sleep(2000);
}
else
{
Console.WriteLine("\nResposta incorreta!\n");
Thread.Sleep(2000);
}
break;
default:
break;
}
}