Desenvolva um programa que faça uma pergunta ao usuário e informe quatro alternativas A, B, C, D. Por
exemplo:
printf (“Quando ocorreu a Segunda Guerra Mundial? \n”);
printf (“A – De 1989 a 1990 \n”);
printf (“B – De 1910 a 1914 \n”);
printf (“C – De 1939 a 1945 \n”);
printf (“D – Nunca houve Segunda Guerra \n”);
O programa deverá informar se o usuário escolheu a alternativa correta para a pergunta. (linguagem C)
Respostas
Resposta:
#include <stdio.h>
#include <stlib.h>
int A,B,C, D, Op;
int main(){
printf (“Quando ocorreu a Segunda Guerra Mundial? \n”);
scanf("%d",&Op");
switch (op){
case A:
printf (“A – De 1989 a 1990 \n”); break;
case B:
printf (“B – De 1910 a 1914 \n”); break;
case C:
printf(“C – De 1939 a 1945 \n”);
default:
case D:
printf (“D – Nunca houve Segunda Guerra \n”);
}
}
Resposta:
Fiz de uma forma um pouco "diferente":
#include <stdio.h> // biblioteca padrão C para entrada e saída
#define ASCII_VALUE(value) ((int)value)
// macro para converter o caractere da alternativa escolhida em decimal a partir da tabela ASCII
void validarResposta(char resposta) { // função para validar a resposta
switch (resposta)
{
case 'C': // se o caractere da resposta for igual C, então:
printf("Alternativa correta!");
break;
default: // senão:
printf("Alternativa incorreta!");
break;
}
}
int main() {
char resposta; // variável para armazenamento da escolha de alternativa
// faz a pergunta e mostra as alternativas
printf("Quando ocorreu a Segunda Guerra Mundial? \n");
printf("\t A - De 1989 a 1990\n");
printf("\t B - De 1910 a 1914\n");
printf("\t C - De 1939 a 1945\n");
printf("\t D - Nunca Houve Segunda Guerra!\n");
printf("Digite a alternativa correta: ");
scanf("%c", &resposta); // recebe a alternativa inserida por entrada
/* A em decimal: 65
D em decimal: 68
intervalo: resposta >= 65 e <= 68: 65, 66, 67, 68 --- A, B, C e D */
if(ASCII_VALUE(resposta) >= 65 && ASCII_VALUE(resposta) <= 68) {
validarResposta(resposta);
} else {
printf("\nDigite uma alternativa válida!");
return -1;
}
return 0;
}