• Matéria: Informática
  • Autor: Montovalv2
  • Perguntado 3 anos atrás

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

respondido por: lordinho98
0

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”);

}

}

respondido por: luckass20
0

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;

}

Perguntas similares