examen de opciones en c, guardando un valor

Iniciado por jescel_inf, 10 Diciembre 2012, 06:34 AM

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

jescel_inf

Lo siento, soy nuevo en esto de programación y me esta interesando mucho  ;D y e intentado hacer un pequeño programa para resolver un examen de opción múltiple pero se queda colgado el programa y después deja de funcionar.

1.- no se si este bien la comparación del valor que ingresa el usuario y con la respuesta correcta.

2.- no se si este bien la asignación en el arreglo, si la respuesta es cierta que me llene una dirección especifica con un 1  y si no con un 0, para poder después sacar su promedio

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

main()
{
     
      int asignaciones[5];
      char respuesta;
      printf("cuanto es 2 + 2?\n");
      printf("a)2\n");
      printf("b)3\n");
      printf("c)4\n");
      printf("Dame tu respuesta"); 
      scanf("%s",respuesta);
      if(respuesta == 'c')
      {
      printf("es correcta");
      asignaciones[0]=1;
      }
{
      printf("es correcta");
      asignaciones[0]=1;
      }
       getch();   
}

aneraka

Primero utiliza la etiqueta code cuando pongas un código

ahora los problemas que tienes en el código son los siguientes,

Como lo hicistes
scanf("%s",respuesta);

como debe ser:
scanf("%c",&respuesta);

el %s es para string el %c es para char, y también falta el & en la variables que se debe almacenar.

aca te dejo el código completo

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

main()
{
      int asignaciones[5];
      char respuesta;
      printf("cuanto es 2 + 2?\n");
      printf("a)2\n");
      printf("b)3\n");
      printf("c)4\n");
      printf("Dame tu respuesta"); 
      scanf("%c",&respuesta);
      if(respuesta == 'c'){
                   printf("es correcta");
                   asignaciones[0]=1;
      }
      else {
           printf("es incorrecta");
           asignaciones[0]=1;
      }
      getch();   
}

twins


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
int asignaciones[5];
char respuesta;
printf("cuanto es 2 + 2 ?\n");
printf("a ) 2\n");
printf("b ) 3\n");
printf("c ) 4\n");
printf("Dame tu respuesta\n"); 
scanf("%c",&respuesta);
if(respuesta=='c'){
printf("es correcta\n");
asignaciones[0]=1;
}else
printf("La respuesta es incorrecta\n");
getchar();   
return(0);    
}

leosansan

Código (cpp) [Seleccionar]
#include <stdio.h>

int main(void){
int asignaciones[5];
char respuesta;
printf("cuanto es 2 + 2 ?\n");
printf("a ) 2\n");
printf("b ) 3\n");
printf("c ) 4\n");
printf("Dame tu respuesta\n");
scanf("%c",&respuesta);
if(respuesta=='c'){
printf("es correcta\n");
asignaciones[0]=1;
}else
printf("La respuesta es incorrecta\n");
getchar();
printf("\nPresione Enter par salir\n");
while (getchar()!='\n');
return(0);
}