No hay mucho que decir, solo que tu algoritmo funciona pero es muy poco práctico (te basas en copiar y pegar todo el rato).
Imaginate que ahora quieres cambiar algo (ponerle que aumente los aciertos/fallos cada vez que contestas una pregunta), tendrías que cambiar cada pregunta por separado lo cual resultaría muyyy engorroso. Otros detalles como que las preguntas sean aleatorias y tal ayudaría ha hacer un programa más activo.
Una opción sería crearse una estructura Pregunta:
Código C:
Ver originaltypedef struct
{
unsigned short N_Respuestas;
unsigned short Respuesta_Correcta;
char* Mensaje;
char** Respuestas;
}Pregunta;
Y generas un array de preguntas:
Y lo llenas:
Código C:
Ver originalPregunta[0].N_Respuestas = 4;
Pregunta[0].Respuesta_Correcta = 1;
Pregunta[0].Mensaje = "Cuantos planestas hay actualmente en el sistema solar";
Pregunta
[0].
Respuestas =(char**) malloc (N_Respuestas
);
Pregunta[0].Respustas[0] = "Ocho";
Pregunta[0].Respuestas[1] = "Nueve";
Pregunta[0].Respuestas[2] = "Diez";
Pregunta[0].Respuestas[3] = "Siete";
Todo lo que te queda es llenar las preguntas de datos, después te creas un sistema que las procese y listo:
Código C:
Ver original// Hasta que no termine con las preguntas
for (unsigned short i = 0; i < 9;i++)
{
printf("Estamos en la pregunta %d : \n \n",i
+1); printf("%s",Preguntas
[i
].
Mensaje);
// Mostramos las respuestas
for (unsigned short j = 0; j < Pregunta.N_Respuestas;j++)
printf("Respuesta %d : %s \n",j
+1,Pregunta
[i
].
Respuestas[j
]);
printf("Elige una opcion: \n");
if (respuesta == Pregunta[i].Respuesta_Correcta)
printf("La respuesta es correcta \n"); else
{
printf("La respuesta es incorrecta, la solucion era la opcion %d \n",Pregunta
[i
].
Respuesta_Correcta); }
}
Aunque parece un poco abstracto, es un sistema muy potente y flexible. Puedes añadir todas las preguntas que quieras con las opciones que necesites, tan solo necesitaras rellenar un campo de "Pregunta" (y bueno, aumentar en uno el tamaño del array y demas).
En C++ podría ser aún más potente, gracias a la magia de los constructores (podrías definir una nueva pregunta en una sola línea).