Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jescel_inf en 10 Diciembre 2012, 06:34 am



Título: examen de opciones en c, guardando un valor
Publicado por: jescel_inf en 10 Diciembre 2012, 06:34 am
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();   
}


Título: Re: examen de opciones en c, guardando un valor
Publicado por: aneraka en 10 Diciembre 2012, 15:41 pm
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
Código
  1. scanf("%s",respuesta);

como debe ser:
Código
  1. 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

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <string.h>
  5.  
  6. main()
  7. {
  8.      int asignaciones[5];
  9.      char respuesta;
  10.      printf("cuanto es 2 + 2?\n");
  11.      printf("a)2\n");
  12.      printf("b)3\n");
  13.      printf("c)4\n");
  14.      printf("Dame tu respuesta");  
  15.      scanf("%c",&respuesta);
  16.      if(respuesta == 'c'){
  17.                   printf("es correcta");
  18.                   asignaciones[0]=1;
  19.      }
  20.      else {
  21.           printf("es incorrecta");
  22.           asignaciones[0]=1;
  23.      }
  24.      getch();  
  25. }


Título: Re: examen de opciones en c, guardando un valor
Publicado por: twins en 10 Diciembre 2012, 15:50 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main(void){
  5. int asignaciones[5];
  6. char respuesta;
  7. printf("cuanto es 2 + 2 ?\n");
  8. printf("a ) 2\n");
  9. printf("b ) 3\n");
  10. printf("c ) 4\n");
  11. printf("Dame tu respuesta\n");  
  12. scanf("%c",&respuesta);
  13. if(respuesta=='c'){
  14. printf("es correcta\n");
  15. asignaciones[0]=1;
  16. }else
  17. printf("La respuesta es incorrecta\n");
  18. getchar();  
  19. return(0);  
  20. }
  21.  


Título: Re: examen de opciones en c, guardando un valor
Publicado por: leosansan en 10 Diciembre 2012, 21:25 pm
Código
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4. int asignaciones[5];
  5. char respuesta;
  6. printf("cuanto es 2 + 2 ?\n");
  7. printf("a ) 2\n");
  8. printf("b ) 3\n");
  9. printf("c ) 4\n");
  10. printf("Dame tu respuesta\n");
  11. scanf("%c",&respuesta);
  12. if(respuesta=='c'){
  13. printf("es correcta\n");
  14. asignaciones[0]=1;
  15. }else
  16. printf("La respuesta es incorrecta\n");
  17. getchar();
  18. printf("\nPresione Enter par salir\n");
  19. while (getchar()!='\n');
  20. return(0);
  21. }
  22.