bzk Gaming

Hola pues les traigo el primer código fuente des este blog, algo muy fácil pero que les va ayudar mucho a los novatos.

Ya que se manejan mucho los arreglos multidimensionales  y se utilizan los números aleatorios.

El objetivo es crear un cuestionario con un numero n de preguntas (en ejemplo 80) con tres posibles respuestas cada uno.

Ejemplo:

pregunta 1: Cuanto es 10 *5

a) 55

b) 10

c) 50

algo por el estilo, jeje. ahora bien aqui les dejo el código completo. Fue compilado y ejecutado en Dev C++ 4.9.9.2

el código no tiene errores, cualquier duda aquí estoy para aclararla. Saludos

Codigo C

Nivel: Principiante, Basico

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
      char preguntas[80][100]={"pregunta", //AQui van preguntas
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta",
                             "pregunta"};
      char respuestas[80][3][60]={//aqui van respuestas
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},
                               {"R1","R2","R3"},

                               };
      int buenas[80]={1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,
                      1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,
                      1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,
                      1,2,0,1,2,1,2,0,1,2,1,2,0,1,2,1,2,0,1,2};//aquie pones las respuestas correctas
      int i,j,k,pregun,pexiste,rexiste,bien,respondio;
      int pregunta[11];
      int respuesta[5];
      srand(time(NULL));//para que los numeros sean alazer siempre
      for(i=0;i<10;i++) //para 10 preguntas
      {
           do{
               pexiste=0;
               pregunta[i]=rand()%80;//selecciona lazar una pregunta
               if(i!=1)
               {
                       j=i;
                       for(j;j>(-1);j--)
                       {
                             if(pregunta[i]==pregunta[j-1])
                             {
                                 pexiste=1;
                             }
                       }
               }
           }while(pexiste==1);

          printf("\n%s %d\n",preguntas[pregunta[i]],pregunta[i]);//se imprime el enunciado de la pregunta

          for(k=0;k<3;k++)//se imprimen sus 3 posibles respuestas alazar
          {
                do{
                   rexiste=0;
                   respuesta[k]=(rand()%3);//selsciona lazar una posible respuesta

                   if(i!=1)
                   {
                           j=k;
                           for(j;j>(-1);j--)
                           {
                                 if(respuesta[k]==respuesta[j-1])//cuando ya se uso ya no se usa
                                 {
                                     rexiste=1;
                                 }
                           }
                   }
               }while(rexiste==1);
               printf("%d.- %s\t",k+1,respuestas[pregunta[i]][respuesta[k]]);//impprime la posibles respuesta
               if(k==buenas[pregunta[i]]) //calcula cual es numero de la respuesta buena
               {
                  bien=k;
               }

          }
          printf("Respuesta: ");
               scanf("%d",&respondio);
               if((respondio-1)==bien)//evalua si la respuesta fue la correcta
               {
                    printf("Correcto ");
               }
               else
               {
                   printf("Incorrecto ");
               }

      }

            system("pause");//pausa antes de salir del programa
            return 0;
}

Aunque se vea un poco apantallador 150 lineas de código es basura (bueno no basura pero…)
Esta en C aun que luego tratare de subirlo en C++, para que veamos un poco de POO.

Saludos.

About these ads