examen de opciones multiples en c, guardando un valor deja de funcionar

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

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

jescel_inf

perdón otra vez  aquí.

Esto de programar C me esta gustando mucho, apenas llevo poco tiempo que conozco este lenguaje, e intento hacer un examen de opción múltiple, que cuando mi respuesta sea correcta me guarde un 1 en un espacio de un arreglo  o me lo deje vació si es falso.

Al ejecutarse se queda colgado cuando ingreso la respuesta y después deja de funcionar.


#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\n"); 
      scanf("%s",respuesta);
      if(respuesta == 'c')
      {
      printf("es correcta");
      asignaciones[0]=1;
      }
      else{
      printf("es incorrecta");
      asignaciones[0]=0;
      }
       getch();   
}


1.- No se si este bien el if.
2.- No se si este bien la asignación en el espacio del arreglo.

De todos modos gracias por echarse una leida a mi tema, y  espero me pudieran orientar.

BlackZeroX

en lugar de

scanf("%s",respuesta);

usa

scanf("%c",&respuesta);
o usa respuesta = getchar();

Aun que te recomiendo que mejor implementes esto: http://foro.elhacker.net/programacion_cc/para_que_dejeis_de_preguntar_de_una_vez_por_los_menus-t276719.0.html

Dulces Lunas!¡.
The Dark Shadow is my passion.