Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - heomp

#1
Cita de: rir3760 en  3 Mayo 2014, 05:03 AM
Cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).

Y deberías evitar el uso de la biblioteca conio de Borland, mas informacion en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|.

----
Primero hay que reducir las cadenas del array "preguntas" quitando el texto duplicado "¿Cual es la capital de ", de esta forma:
char preguntas[15][50] = {
   "Mexico",
   "Canada",
   "Estados Unidos Americanos",
...
};

Para evitar el desperdicio de memoria lo mejor es utilizar un array de punteros pero como comentas que eres un principiante habrá que dejarlo para después.

A continuación modificas el bucle para que imprima la pregunta y pida la respuesta al usuario:
for (i = 0; i < 14; i++){
   /* 1) Imprimir la pregunta */
   printf("Cual es la capital de %s?\n", preguntas[i]);
   
   /* 2) Obtener la respuesta del usuario (scanf o fgets) */
   
   /* 3) Comparar la respuesta del usuario con la correcta (strcmp) y notificar */
}


Un saludo



Gracias por a haberme ayudado me sirvió demasiado, solo un pequeño inconveniente se que (strcmp) se utiliza para comparar cadenas el problema es que no se como utilizarlo, ya que en mi código tengo que comparar mis respuestas

char respuestas[15][3][50]={  {"Ciudad de México","Buenos Aires","Tokio"},
                                             {"Mexico","Otawa","Brasilia"},
                                             {"Washington ","Paris","Tokio"},
                                              ...};


con mi arreglo donde tengo guardado mis respuestas correctas
int buenas[15]={0,1,0,0,1,2,1,0,1,0,2,1,2,2,1};
he visto ejemplos en Internet pero la mayoría utiliza apuntadores, y pues no he visto ese tema, si no es mucha molestia te agradeciera si me explicas como hacerlo gracias.
#2
Hola que tal, veran soy nuevo en esto de la programacion y tengo unas dudas, loque trato de hacer es un test de capitales, lo que no se hacer es como imprimir mis preguntas una por una y a la vez con su respuesta, he aqui mi codigo:


#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void capitalesmundo();
int main ()
{
   int r;
   printf("\n\n\t\tBIENVENIDO AL TEST DEDICADO A LA GEOGRAFIA\n\n");
   system("pause");
   system("cls");
   printf("Que desea hacer:\n");
   printf("1.-TEST Capitales del Mundo\n");
   printf("2.-SALIR\n");
   printf("R.- ");
   scanf("%d",&r);
   switch(r)
   {
       case 1: capitalesmundo(); break;
       default: printf("Gracias por usar este juego, hasta la proxima");
   }
}

void capitalesmundo()
{
   char preguntas[15][50]={"¿Cual es la capital de Mexico?",
                            "¿Cual es la capital de Canada?",
                            "¿Cual es la capital de Estados Unidos Americanos?",
                            "¿Cual es la capital de España?",
                            "¿Cual es la capital de Reino Unido?",
                            "¿Cual es la capital de Italia?",
                            "¿Cual es la capital de China?",
                            "¿Cual es la capital de Japon?",
                            "¿Cual es la capital de Brasil?",
                            "¿Cual es la capital de Argentina?",
                            "¿Cual es la capital de Francia?",
                            "¿Cual es la capital de Chile?",
                            "¿Cual es la capital de Peru?",
                            "¿Cual es la capital de Venezuela?",
                            "¿Cual es la capital de Alemania?",};

     char respuestas[15][3][50]={  {"Ciudad de México","Buenos Aires","Tokio"},
                                   {"Mexico","Otawa","Brasilia"},
                                   {"Washington ","Paris","Tokio"},
                                   {"Madrid","Roma","Oslo"},
                                   {"Barcelona","Londres","Berna"},
                                   {"Varsovia","Berlin","Roma"},
                                   {"Kabul","Pekin","Tokio"},
                                   {"Tokio","Doha","Damasco"},
                                   {"Lima","Brasilia","Bogota"},
                                   {"Buenos Aires","Quito","La Habana"},
                                   {"Estocolmo","Monaco","Paris"},
                                   {"Kingston","Santiago de Chile","San Salvador"},
                                   {"Montevideo","San Juan","Lima"},
                                   {"Managua","Puerto Principe","Caracas"},
                                   {"Berlin","Tirana","Viena"},    };
   int buenas[15]={0,1,0,0,1,2,1,0,1,0,2,1,2,2,1};
   int i,j;
   printf("\n\n\t\tHola escojiste CAPITALES DEL MUNDO\n\n");
   printf("En este juego podras ver cuanto sabes de geografia, SUERTE.\n\n");
   system("pause");
   system("cls");
   for (i=0; i<14; i++)
   {
       for (j=0; j<50; j++)
       printf("%c",preguntas[i][j]);
       printf("\n");
   }
   printf("\n");
}


mi codigo imprime todas las respuestas pero no quiero eso les agradeceria si me ayudan gracias :)