Prueba de Opcion de multiple en Dev c++

Iniciado por Alukard25, 30 Mayo 2016, 17:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Alukard25

Buenos dias me podrian ayudar con este codigo lo que pasa es que necesito hacer 3 preguntas

pero cuando respondo la primera se termina el programa y no se como podria hacer para operar y sumar los 3 valores

Agradezco toda la ayuda que me puedan brindar ya que no pasa de la primera pregunta y no se como hacer para que pase a la siguiente

/*  programa de 3 preguntas sobre la programacion basica con múltiple respuesta (a,b,c) y que al final promedie la nota y diga si paso o no

1 pregunta valor de 0.33
2 pregunta valor de 0.33
3 pregunta valor de 0.40

*/

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

main() {
   
   int Valores;
   char Opcion;

   Opcion = 0; //inicio
   //Primera Pregunta
   printf("\n¿Cúal es la libreria basica a importar, para cualquier programa hecho en #C?");
   printf("\n a)conio ");
   printf("\n b)stdio ");
   printf("\n c)math.h");
   scanf("%b", &Valores);
   if (Valores == 'b') Opcion++;
   printf("\n");
      //Segunda Pregunta
   printf("\n¿Cúal es el caracter utilizado para hacer comentario de multiples lineas?");
   printf("\n a)/* y */ ");
   printf("\n b)// ");
   printf("\n c)\* y *\"");
   scanf("%a", &Valores);
   if (Valores == 'a') Opcion++;
   printf("\n");
   //Tercera Pregunta
   printf("\n¿Cúal es el caracter utilizado para separar instrucciones?");
   printf("\n a), ");
   printf("\n b): ");
   printf("\n c);");
   scanf("%c", &Valores);
   if (Valores == 'c') Opcion++;
   printf("\n"); 
   //Respuesta
   printf ("Calculando : %d", Opcion);
   if (Opcion == 3)
      printf ("Aprobaste\n");
   else if (Opcion == 2) printf ("Ahi Que Estudiar Mas\n");
}


Muchas Gracias

MAFUS

Pasas los argumentos mal a scanf:
Para capturar caracteres siempre debes usar %c, como en la tercera pregunta, por tanto pregunta a y pregunta b fallarán.
Por otra parte: después de recoger el primer carácter te quedará '\n' en el buffer. Tendrás que vaciarlo antes del siguiente scanf.

Alukard25

Gracias pero entonces como ago para tomar los datos y para calcularlos?

MAFUS