elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Listados de usuarios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Listados de usuarios  (Leído 3,288 veces)
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Listados de usuarios
« en: 12 Julio 2015, 17:20 pm »

Buenas, tengo una consulta si alguien me puede ayudar de un programa que vengo haciendo hace bastante (y ya he consultado varias cosas, esto de trabajar en grupo de 1 está complicado), estoy tratando de mostrar una lista de los usuarios(jugadores) activos, y tengo que mostrar cierta información de los mismos.
Mi idea fue algo así,
Hago un Switch con estas opciones dentro (que son los distintos listados que tendría que hacer):

Código
  1. void Consultas()
  2. {
  3.    system("cls");
  4.    jugador jugadores[CANTJUG];
  5.                    //inicializo todo el arreglo
  6.    int i;
  7.    for (i=0; i<CANTJUG;i++)
  8.    {
  9.        inicializo(jugadores,i);
  10.    }
  11.  
  12.    system("cls");
  13.    printf("MENU\n");
  14.    printf("====\n");
  15.    printf("1-Listado de jugadores\n");
  16.    printf("2-Listado de todas las partidas\n");
  17.    printf("3-Listado de partidas por jugador\n");
  18.    printf("4-Listado de partidas por fecha\n");
  19.    printf("5-Fin del Programa\n");
  20.    printf("\n\n");
  21.    char p;
  22.    printf (">>Presiona cualquier tecla y enter para volver al menu ");
  23.    scanf (" %c",&p);
  24.  
  25.    int op;
  26.    op = ingopcion();
  27.  
  28.    while (op!=5)
  29.    {
  30.        switch (op)
  31.        {
  32.            case 1:
  33.                    int i, j;
  34.                    j=0;
  35.                    for (i=0; i<j; i++)
  36.                    puts(jugador jugadores[CANTJUG].cedula.numero[i]);
  37.                    puts(jugador jugadores[CANTJUG].nombre.palabra[i]);
  38.                    puts(jugador jugadores[CANTJUG].apellido.palabra[i]);
  39.                    puts(jugador jugadores[CANTJUG].alias.palabra[i]);
  40.                    break;
  41.            case 2:
  42.                    listado_partidas;
  43.                    break;
  44.            case 3:
  45.                    listado_partidas_xjugador;
  46.                    break;
  47.            case 4:
  48.                    listado_partidas_xfecha;
  49.                    break;
  50.            case 5: fin_juego();
  51.                    break;
  52.        }
  53.  
  54.    }
  55. }
  56.  

Y me tira estos errores:

||In function 'Consultas':|
|974|error: a label can only be part of a statement and a declaration is not a statement|
|977|error: expected expression before 'jugador'|
|978|error: expected expression before 'jugador'|
|979|error: expected expression before 'jugador'|
|980|error: expected expression before 'jugador'|


No me está saliendo poner el puts, no se si es porque no conseguí esos datos con un gets, entonces que podría poner en vez de puts? :(



« Última modificación: 12 Julio 2015, 17:36 pm por dragonlady » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Listados de usuarios
« Respuesta #1 en: 12 Julio 2015, 18:10 pm »

Puedes poner printf().

En cualquier caso, el error es, que has puesto:
Código
  1. puts(jugador jugadores[CANTJUG].cedula.numero[i]);

no tienes que poner jugador delante.
Código
  1. puts(jugadores[...]....)

Y has puesto:
Código
  1. j=0;
  2. for (i=0; i<j; i++)

Ese bucle nunca se va a reproducir. De cualqueir modo, no pusiste llaves encerrando los puts, así que ese bucle solo afectaría al primer puts.

A parte, has puesto jugadores[CANTJUG]. Dado que el arreglo tiene ese tamaño, acceder a esa dirección, o te tira basura, o te error en tiempo de ejecución. Habrás querido decir jugadores, pero en cualquier caso, el índice i va a ser siempre 0.


En línea

dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Listados de usuarios
« Respuesta #2 en: 12 Julio 2015, 18:24 pm »

Hola gracias por contestar.
Ya había intentando algunos cambios que me sugeriste, pero sigue sin salirme. No estoy entendiendo lo de [CANTJUG] porque no se que poner.

Código
  1. void Consultas()
  2. {
  3.    system("cls");
  4.    jugador jugadores[CANTJUG];
  5.                    //inicializo todo el arreglo
  6.    int i;
  7.    for (i=0; i<CANTJUG;i++)
  8.    {
  9.        inicializo(jugadores,i);
  10.    }
  11.  
  12.    system("cls");
  13.    printf("MENU\n");
  14.    printf("====\n");
  15.    printf("1-Listado de jugadores\n");
  16.    printf("2-Listado de todas las partidas\n");
  17.    printf("3-Listado de partidas por jugador\n");
  18.    printf("4-Listado de partidas por fecha\n");
  19.    printf("5-Fin del Programa\n");
  20.    printf("\n\n");
  21.    char p;
  22.    printf (">>Presiona cualquier tecla y enter para volver al menu ");
  23.    scanf (" %c",&p);
  24.  
  25.    int op;
  26.    op = ingopcion();
  27.  
  28.    int j;
  29.    j=0;
  30.  
  31.    while (op!=5)
  32.    {
  33.        switch (op)
  34.        {
  35.            case 1:
  36.                    for (i=0; i<j; i++)
  37.                    {puts(jugadores[CANTJUG].cedula.numero[i]);
  38.                    puts(jugadores[CANTJUG].nombre.palabra[i]);
  39.                    puts(jugadores[CANTJUG].apellido.palabra[i]);
  40.                    puts(jugadores[CANTJUG].alias.palabra[i]);}
  41.                    break;
  42.            case 2:
  43.                    /*listado_partidas;*/
  44.                    break;
  45.            case 3:
  46.                    /*listado_partidas_xjugador;*/
  47.                    break;
  48.            case 4:
  49.                    /*listado_partidas_xfecha;*/
  50.                    break;
  51.            case 5: fin_juego();
  52.                    break;
  53.        }
  54.  
  55.    }
  56. }
  57.  
Cuando yo quería mostrar un jugador por busqueda para modificarlo o lo que fuese, tenia funciones así:

Código
  1. void muestroCedula(jugador jugadores[], int pos)
  2. {
  3.    int i;
  4.    printf("\nCedula: ");
  5.    for (i=0;i<jugadores[pos].cedula.largodigito;i++)
  6.    {
  7.        printf("%c",jugadores[pos].cedula.numero[i]);
  8.    }
  9. }

por ejemplo.

Entonces no se como hacer para mostrar todos los jugadores en una lista :|
En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Listados de usuarios
« Respuesta #3 en: 12 Julio 2015, 19:26 pm »

lo de "CANTJUG" es la cantidad de jugadores
que puede ser 2,3,8 etc.

Te animo a publicar tu codigo para ver a myor profundidad tus posibles errores,
ya que puedo modificar tu programa pero no sea lo que buscas
En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Listados de usuarios
« Respuesta #4 en: 12 Julio 2015, 19:27 pm »

Tendrás que usar un for para iterar por cada elemento del arreglo jugadores. Puedes poner desde i=0, hasta i<CANTJUG. En cualquier caso, ese i<j sobra. j es 0. i nunca va a ser <j.
En línea

dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Listados de usuarios
« Respuesta #5 en: 12 Julio 2015, 20:44 pm »

Pero si lo pongo así no entiendo porque no me quiere aceptar el %s

Código
  1. printf("\nListado jugadores.\n");
  2. for(i=1;i<CANTJUG;i++){
  3. {printf("\nCedula: %s\n", jugadores[i].cedula);}
  4. for(i=1;i<CANTJUG;i++)
  5. {printf("Nombre %s\n", jugadores[i].nombre);}
  6. for(i=1;i<CANTJUG;i++)
  7. {printf("Apellido %s\n", jugadores[i].apellido);}
  8. for(i=1;i<CANTJUG;i++)
  9. {printf("Alias %s\n", jugadores[i].alias);}
« Última modificación: 12 Julio 2015, 23:58 pm por dragonlady » En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Listados de usuarios
« Respuesta #6 en: 13 Julio 2015, 00:45 am »

Estuve revisando tu codigo antes de que lo quitaras, creo que estas escribiendo codigo de mas, tienes que hacer las cosas un poco mas genericas y asi poder reutilizar tu codigo.

mira por ejemplo tenias muchos struct donde la info de adentro era del mismo tipo y yo digo porque no haces algo como esto:

Código
  1. typedef struct{
  2.  char palabra_[20];
  3.  int largoPalabra;
  4. }nombre,apellido,ci,alias;

asi te evitas estar creando 3 o 4


en la funcion Elegir_Bosque puedes hacer esto:
Código
  1. void Elegir_Bosque(void)
  2. {
  3.  // system("cls");
  4.   int elige_bosque;
  5.   printf("     >        Ingresa una opcion:        <\n\n");
  6.   printf("     >        1- Bosque de 6 x 6         <\n");
  7.   printf("     >        2- Bosque de 8 x 8         <\n");
  8.   printf("     >        3- Bosque de 10 x 10       <\n");
  9.   printf("     >        4- Bosque de 14 x 14       <\n");
  10.   printf("     >        5- Bosque de 18 x 18       <\n");
  11.   scanf(" %d", &elige_bosque);
  12.  
  13.   //system("cls");
  14.  
  15.   switch(elige_bosque)
  16.   {
  17.   case 1: tam_bosque = 6;break;
  18.   case 2: tam_bosque = 8;break;
  19.   case 3: tam_bosque = 10;break;
  20.   case 4: tam_bosque = 14;break;
  21.   case 5: tam_bosque = 18;break;
  22.   default:tam_bosque = 6;break;
  23.   }
  24.  
  25.   Iniciar_Bosque();
  26.   Bucle_Juego();
  27.  
  28. }
  29.  

y hay una donde si estaba en extremo larga que era la de Iniciar_Bosque
podias haber hecho algo como esto

Código
  1. void Iniciar_Bosque()
  2. {
  3. srand (time(NULL));
  4. int Xnum=0;
  5. int i, j;
  6.  
  7. //aqui nos creamos un arreglo dinamico que dependiendo la opcion
  8. //del usuario puede ser de 6,8,10,14
  9. //este tambien se llama arreglo bidimensional o puntero doble
  10. char **bosque=(char**)malloc(tam_bosque*sizeof(*char));//esto creas las filas
  11. for(i=0;i<tam_bosque;i++)//recorremos todas las filas
  12.   bosque[i]=(char*)malloc(tam_bosque*sizeof(char));//esto crea las columnas
  13.  
  14.  
  15. for(i = 0; i < tam_bosque;i++)
  16.  for(j = 0; j < tam_bosque;j++)
  17. bosque[i][j] = ' ';
  18.  
  19. bosque[0][0] = '1';
  20. bosque[tam_bosque-1][tam_bosque-1] = '2';
  21.  
  22.  
  23. while(Xnum < tam_bosque/2 ){
  24. i = (rand() % tam_bosque);
  25. j = (rand() % tam_bosque);
  26.  
  27. if(bosque[i][j] == ' ')
  28. {
  29. bosque[i][j] = 'X';
  30.        Xnum++;
  31. }
  32.  
  33. }
  34. }

« Última modificación: 13 Julio 2015, 00:50 am por crack81 » En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Listados de usuarios
« Respuesta #7 en: 13 Julio 2015, 01:03 am »

Hola! Gracias por la ayuda. Este año empecé programación y hay cosas que me las tienen limitadas. Yo ya había abierto un tema aquí cuando estaba haciendo la primer parte de los bosques y eso, y había aplicado la idea de arreglos dinámicos, pero el problema es que el profesor no nos permite algunas cosas, entre ellas me rezongó por eso y me hizo hacer los 5 tableros.
Tendré en cuenta lo de las estructuras, eso sí (que también me las enseñaron a hacer separadas así y, aunque me complican mucho y no se mucho el tema, por eso estoy en el lío en el que estoy jaja)

Tengo una parte si no te molesta ayudarme, que me está complicado mucho la vida porque no puedo probar otras partes a causa de eso.

Tengo una función para ingresar a los jugadores:

Código
  1. void alta(jugador jugadores[])//problema me sigue pidiendo jugadores en vez de volver al menu
  2. {
  3.    char confirma;
  4.    int nroJug;
  5.    system("cls");
  6.    printf("\nINGRESO DATOS DE JUGADORES");
  7.    printf("\n==========================\n");
  8.    nroJug = ingNroJugador();
  9.    if (jugadores[nroJug-1].nombre.largopalabra==0)
  10.    {
  11.        jugadores[nroJug-1].nombre = ingresoNombre();
  12.        jugadores[nroJug-1].cedula = ingresoCedula();
  13.        jugadores[nroJug-1].fechanacimiento = ingresoFechanacimiento();
  14.        jugadores[nroJug-1].alias = ingresoAlias();
  15.        getchar();
  16.        printf("Confirma Ingreso S/N");
  17.        scanf(" %c",&confirma);
  18.        if (confirma=='N' || confirma == 'n')
  19.        {
  20.            inicializo(jugadores,nroJug-1);
  21.        }
  22.    }
  23.    else
  24.    {
  25.        getchar();
  26.        printf("\nJugador YA existe");
  27.        printf("\nPresione cualquier tecla para continuar");
  28.        getchar();
  29.    }
  30.  
  31. }

que lo que debería hacer cuando termino de ingresar un jugador, es volver al menú. Por algun motivo no puedo, siempre cuando termino de ingresar un jugador, me pide que ingrese otro. Alguna idea?
En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Listados de usuarios
« Respuesta #8 en: 13 Julio 2015, 01:16 am »

Pues como jode tu profesor, yo entiendo que algunos problemas necesiten ser desarrollados de una forma para que se entienda algun tema en especifico, pero si tu profesor ya ve que dominas el tema de arreglos estaticos porque limitarte a ellos.

Los arreglos estaticos cualquieras los entiende mientras que arreglo dinamico es un poco mas dificil principalmente por el tema de liberar la memoria.

Respecto a tu tema te aconsejo volvera a publicar tu codigo aunque este largo para ver exactamente donde tocar el codigo.
En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Listados de usuarios
« Respuesta #9 en: 13 Julio 2015, 01:17 am »

Si es complicado de entender algunas cosas, como las cadenas nos hace ingresarlas de una manera muy larga y no nos enseñó %s, yo digo que eso tendrá el objetivo de no llenarnos más de información, pero la verdad no se. Porque me parece que todo lo que aprendí, lo aprendí a medias, aunque eso también debe ser porque yo soy media mala jajajaj

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define LARGON 15
  6. #define LARGOA 15
  7. #define LARGOC 7
  8. #define LARGOALI 10
  9. #define CANTJUG 100
  10.  
  11. typedef struct {
  12.    char palabra[LARGON];
  13.    int largopalabra;
  14. }cadena; //estructura tipo cadena para nombre jugador
  15.  
  16. typedef struct {
  17.    char palabra[LARGOA];
  18.    int largopalabra;
  19. }cadena2; //otra estructura tipo cadena(2) para apellido jugador
  20.  
  21. typedef struct {
  22.    char numero[LARGOC];
  23.    int largodigito;
  24. }digito; //tipo digito para CI jugador
  25.  
  26. typedef struct {
  27.    int dia;
  28.    int mes;
  29.    int año;
  30. }fecha; //defino estructura fecha para ser utilizada en la fecha de nacimiento
  31.  
  32. typedef struct {
  33.    char palabra[LARGOALI];
  34.    int largopalabra;
  35. }cadena3; //definoi estructura tipo cadena(3) para alias jugador
  36.  
  37.  
  38. typedef struct {
  39.    cadena nombre;
  40.    cadena2 apellido;
  41.    cadena3 alias;
  42.    digito cedula;
  43.    int edad;
  44.    fecha fechanacimiento;
  45. } jugador; // defino estructura jugador para ser utilizada en el arreglo que guarda los jugadores.
  46.  
  47. /*typedef struct{
  48.     fecha fecha_partida;
  49.     char alias1[10];
  50.     char alias2[10];
  51.     int round_jug1;
  52.     int round_jug2;
  53. }info_partida;*/
  54.  
  55. //Prototipos
  56. void menu();
  57. void reglas();
  58. void fin_juego();
  59. void Elegir_Bosque();
  60. void Iniciar_Bosque();
  61. void Actualizar_Juego();
  62. void Bucle_Juego();
  63. void mover_tirarflecha(int);
  64. void inicializo(jugador jugadores[], int pos);//inicializo jugadores
  65. void menu();//armo el menu
  66. int ingopcion();//ingreso la ocpion del menu
  67. int ingNroJugador();//ingreso nro del jugador
  68. void alta(jugador jugadores[]);//procedimiento de alta
  69. cadena ingresoNombre();// ingreso nombre del jugador
  70. cadena2 ingresoApellido();//ingreso apellido del jugador
  71. cadena3 ingresoAlias();//ingreso alias del jugador
  72. digito ingresoCedula();//ingreso cedula del jugador
  73. int calcularEdad();//calculo la Edad del jugador con la fecha de nacimiento
  74. fecha ingresoFechanacimiento();//ingreso fecha de nacimiento
  75. void baja(jugador jugadores[]);//procedimiento para dar de baja al jugador
  76. void modificacion(jugador jugadores[]);//procedimiento para consultar el jugador
  77. void muestroNombre(jugador jugadores[],int pos);//muestro el nombre del jugador
  78. void muestroApellido(jugador jugadores[],int pos);//muestro el apellido del jugador
  79. void muestroCedula(jugador jugadores[],int pos);//muestro la cedula del jugador
  80. void muestroEdad(jugador jugadores[],int pos);//muestro la edad del jugador
  81. void muestroFechanacimiento(jugador jugadores[],int pos);//muestro la fecha de nacimiento
  82. void muestroAlias(jugador jugadores[], int pos);//muestro el alias
  83. void Gestionar_jugadores();
  84. void Consultas();
  85. fecha fecha_del_dia();
  86.  
  87. //Variables globales
  88. char bosque6x6[6][6];
  89. char bosque8x8[8][8];
  90. char bosque10x10[10][10];
  91. char bosque14x14[14][14];
  92. char bosque18x18[18][18];
  93.  
  94. int opcion=0;
  95. int tam_bosque=0;
  96.  
  97. int main()
  98. {
  99.    while(opcion!=5)
  100.    {
  101.        fecha_del_dia();
  102.        system("cls");
  103.        menu();
  104.        scanf("%d",&opcion);
  105.        switch(opcion)
  106.        {
  107.            case 1: Elegir_Bosque();
  108.                    break;
  109.            case 2: reglas();
  110.                    break;
  111.            case 3: Gestionar_jugadores();
  112.                    break;
  113.            case 4: Consultas();
  114.                    break;
  115.            case 5: fin_juego();
  116.                    break;
  117.  
  118.        }
  119.     }
  120.   return 0;
  121. }
  122.  
  123. void menu()
  124. {
  125.   printf("     ______ARQUEROS EN EL BOSQUE_______\n");
  126.   printf("     ____________OOOOOO________________\n");
  127.   printf("     _________OOOOOOOOOOOOO____________\n");
  128.   printf("     _____OOOOOOOOOOOOOOOOOOOO_________\n");
  129.   printf("     ___OOOOOOOOOOOOOOOOOOOOOOOO_______\n");
  130.   printf("     ___OOOOOOOOOOOOOOOOOOOOOOOO_______\n");
  131.   printf("     _____OOOOOOOOOOOOOOOOOOOO_________\n");
  132.   printf("     ______OOOOOOOOOOOOOOOOOO__________\n");
  133.   printf("     _________OOOOOOOOOOOO_____________\n");
  134.   printf("     __<----____OOOOOOOO_______________\n");
  135.   printf("     _____________OOOO_________________\n");
  136.   printf("     _____________OOOO_______---->_____\n");
  137.   printf("     _____________OOOO_________________\n");
  138.   printf("     _____________OOOO_________________\n");
  139.   printf("\n");
  140.   printf("     MENU PRINCIPAL\n");
  141.   printf("     ><><><><><><><\n");
  142.   printf("     Ingrese una de las opciones: \n");
  143.   printf("     1. Jugar\n");
  144.   printf("     2.Ver reglas\n");
  145.   printf("     3.Gestionar jugadores\n");
  146.   printf("     4.Consultas\n");
  147.   printf("     5.Salir del juego\n");
  148.   printf("\n");
  149. }
  150.  
  151. fecha fecha_del_dia()
  152. {
  153.    fecha fechadia;
  154.    printf("\n              Ingrese Fecha del dia dd/mm/aaaa: ");
  155.    scanf("%d/%d/%d",&fechadia.dia,&fechadia.mes, &fechadia.año);
  156.    return fechadia;
  157. }
  158.  
  159. void reglas() //aca muestro las reglas. tiene que poder volver al menu anterior
  160. {
  161.   system("cls");
  162.   printf("El juego consiste en eliminar al arquero del extremo opuesto. \n");
  163.   printf("Cada turno puede elegir moverse una casilla o lanzar un flechazo. \n");
  164.   printf("Los flechazos se mueven en linea recta, maximo cinco lugares.\n");
  165.   printf("Ni los jugadores ni los flechazos pueden atravezar los arboles(X)");
  166.   printf(" Al recibir un flechazo el jugador pierde el round, las partidas se componen de 3 round y las gana el que gane 2 de ellos.\n");
  167.   printf("Jugador primero sera identificado como 1 y jugador segundo como 2.\n");
  168.   printf("\n\n");
  169.   char p;
  170.   printf (">>Presiona cualquier tecla y enter para volver al menu ");
  171.   scanf (" %c",&p);
  172. }
  173.  
  174. void fin_juego()
  175. {
  176.    system("cls");
  177.    printf("\n\n\n\t\t\t* GRACIAS POR JUGAR! *\n\n\n");
  178.    printf("\t\t\t  Sabrina Cabrera.\n \t\t\t  Programacion.\n \t\t\t  Tecnologo 2015\n\n");
  179. }
  180.  
  181. void Elegir_Bosque()
  182. {
  183.   system("cls");
  184.   int elige_bosque;
  185.   printf("     >        Ingresa una opcion:        <\n\n");
  186.   printf("     >        1- Bosque de 6 x 6         <\n");
  187.   printf("     >        2- Bosque de 8 x 8         <\n");
  188.   printf("     >        3- Bosque de 10 x 10       <\n");
  189.   printf("     >        4- Bosque de 14 x 14       <\n");
  190.   printf("     >        5- Bosque de 18 x 18       <\n");
  191.   scanf(" %d", &elige_bosque);
  192.  
  193.   system("cls");
  194.  
  195.   switch(elige_bosque)
  196.   {
  197.       case 1: tam_bosque = 6;
  198.               Iniciar_Bosque();
  199.               Bucle_Juego();
  200.               break;
  201.       case 2: tam_bosque = 8;
  202.               Iniciar_Bosque();
  203.               Bucle_Juego();
  204.               break;
  205.       case 3: tam_bosque = 10;
  206.               Iniciar_Bosque();
  207.               Bucle_Juego();
  208.               break;
  209.       case 4: tam_bosque = 14;
  210.               Iniciar_Bosque();
  211.               Bucle_Juego();
  212.               break;
  213.       case 5: tam_bosque = 18;
  214.               Iniciar_Bosque();
  215.               Bucle_Juego();
  216.               break;
  217.   }
  218.  
  219. }
  220. //valores iniciales para el bosque
  221. void Iniciar_Bosque()
  222. {
  223.    srand (time(NULL));
  224.  
  225.    int Xnum=0;
  226.    int i, j;
  227.  
  228.    if(tam_bosque == 6)
  229.    {
  230.        for(i = 0; i < tam_bosque;i++)
  231.            for(j = 0; j < tam_bosque;j++)
  232.                bosque6x6[i][j] = ' ';
  233.  
  234.        bosque6x6[0][0] = '1';
  235.        bosque6x6[5][5] = '2';
  236.  
  237.  
  238.        while(Xnum < tam_bosque/2 )
  239.  
  240.        {
  241.            i = (rand() % tam_bosque);
  242.            j = (rand() % tam_bosque);
  243.  
  244.            if(bosque6x6[i][j] == ' ')
  245.            {
  246.                bosque6x6[i][j] = 'X';
  247.                Xnum++;
  248.            }
  249.  
  250.        }
  251.    }
  252.  
  253.    else if(tam_bosque == 8)
  254.    {
  255.        for(i = 0; i < tam_bosque;i++)
  256.            for(j = 0; j < tam_bosque;j++)
  257.                bosque8x8[i][j] = ' ';
  258.  
  259.        bosque8x8[0][0] = '1';
  260.        bosque8x8[7][7] = '2';
  261.  
  262.        while(Xnum < tam_bosque/2 )
  263.        {
  264.            i = rand() % tam_bosque;
  265.            j = rand() % tam_bosque;
  266.  
  267.            if(bosque8x8[i][j] == ' ')
  268.            {
  269.                bosque8x8[i][j] = 'X';
  270.                Xnum++;
  271.            }
  272.  
  273.        }
  274.    }
  275.    else if(tam_bosque == 10)
  276.    {
  277.        for(i = 0; i < tam_bosque;i++)
  278.            for(j = 0; j < tam_bosque;j++)
  279.                bosque10x10[i][j] = ' ';
  280.  
  281.        bosque10x10[0][0] = '1';
  282.        bosque10x10[9][9] = '2';
  283.  
  284.        while(Xnum < tam_bosque/2 )
  285.        {
  286.            i = rand() % tam_bosque;
  287.            j = rand() % tam_bosque;
  288.  
  289.            if(bosque10x10[i][j] == ' ')
  290.            {
  291.                bosque10x10[i][j] = 'X';
  292.                Xnum++;
  293.            }
  294.  
  295.        }
  296.    }
  297.    else if(tam_bosque == 14)
  298.    {
  299.        for(i = 0; i < tam_bosque;i++)
  300.            for(j = 0; j < tam_bosque;j++)
  301.                bosque14x14[i][j] = ' ';
  302.  
  303.        bosque14x14[0][0] = '1';
  304.        bosque14x14[13][13] = '2';
  305.  
  306.        while(Xnum < tam_bosque/2 )
  307.        {
  308.            i = rand() % tam_bosque;
  309.            j = rand() % tam_bosque;
  310.  
  311.            if(bosque14x14[i][j] == ' ')
  312.            {
  313.                bosque14x14[i][j] = 'X';
  314.                Xnum++;
  315.            }
  316.  
  317.        }
  318.    }
  319.    else if(tam_bosque == 18)
  320.    {
  321.        for(i = 0; i < tam_bosque;i++)
  322.            for(j = 0; j < tam_bosque;j++)
  323.                bosque18x18[i][j] = ' ';
  324.  
  325.        bosque18x18[0][0] = '1';
  326.        bosque18x18[17][17] = '2';
  327.  
  328.        while(Xnum < tam_bosque/2 )
  329.        {
  330.            i = rand() % tam_bosque;
  331.            j = rand() % tam_bosque;
  332.  
  333.            if(bosque18x18[i][j] == ' ')
  334.            {
  335.                bosque18x18[i][j] = 'X';
  336.                Xnum++;
  337.            }
  338.  
  339.        }
  340.    }
  341.  
  342. }
  343.  
  344. //dibuja cuando sea necesario
  345. void Actualizar_Juego()
  346. {
  347.    system("cls");
  348.  
  349.    if(tam_bosque == 6)
  350.    {
  351.        int i,j;
  352.        printf("\n  ");
  353.  
  354.        for (j = 0; j < tam_bosque;j++) //filas alfabeticas
  355.            printf("  %c", 'a'+j);
  356.        printf("\n");
  357.  
  358.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  359.        {
  360.            printf(" %2d", i);
  361.  
  362.            for (j = 0;j < tam_bosque;j++)
  363.            {
  364.                printf("| %c", bosque6x6[i][j]);
  365.            }
  366.            printf("| \n");
  367.        }
  368.    }
  369.    else if( tam_bosque == 8)
  370.    {
  371.        int i,j;
  372.        printf("\n  ");
  373.  
  374.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  375.            printf("  %c", 'a'+j);
  376.        printf("\n");
  377.  
  378.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  379.        {
  380.            printf(" %2d", i);
  381.  
  382.            for (j = 0;j < tam_bosque;j++)
  383.            {
  384.                printf("| %c", bosque8x8[i][j]);
  385.            }
  386.            printf("| \n");
  387.        }
  388.    }
  389.    else if( tam_bosque == 10)
  390.    {
  391.        int i,j;
  392.        printf("\n  ");
  393.  
  394.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  395.            printf("  %c", 'a'+j);
  396.        printf("\n");
  397.  
  398.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  399.        {
  400.            printf(" %2d", i);
  401.  
  402.            for (j = 0;j < tam_bosque;j++)
  403.            {
  404.                printf("| %c", bosque10x10[i][j]);
  405.            }
  406.            printf("| \n");
  407.        }
  408.    }
  409.    else if( tam_bosque == 14)
  410.    {
  411.        int i,j;
  412.        printf("\n  ");
  413.  
  414.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  415.            printf("  %c", 'a'+j);
  416.        printf("\n");
  417.  
  418.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  419.        {
  420.            printf(" %2d", i);
  421.  
  422.            for (j = 0;j < tam_bosque;j++)
  423.            {
  424.                printf("| %c", bosque14x14[i][j]);
  425.            }
  426.            printf("| \n");
  427.        }
  428.    }
  429.    else if( tam_bosque == 18)
  430.    {
  431.        int i,j;
  432.        printf("\n  ");
  433.  
  434.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  435.            printf("  %c", 'a'+j);
  436.        printf("\n");
  437.  
  438.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  439.        {
  440.            printf(" %2d", i);
  441.  
  442.            for (j = 0;j < tam_bosque;j++)
  443.            {
  444.                printf("| %c", bosque18x18[i][j]);
  445.            }
  446.            printf("| \n");
  447.        }
  448.    }
  449.  
  450. }
  451.  
  452. //jugadas
  453. void Bucle_Juego()
  454. {
  455.    int ganador=0;
  456.    int turno=0;
  457.  
  458.    printf("Que jugador empieza?: ");
  459.    scanf(" %d", &turno);
  460.  
  461.    do
  462.    {
  463.        while(ganador == 0)//que se repita mientras no haya ningun ganador
  464.        {
  465.            Actualizar_Juego(); //Actualiza el juego
  466.            mover_tirarflecha(turno); //mueve o ataca
  467.  
  468.            //Falta comprobar si alguno ya ganó
  469.  
  470.            //Cambiando los turnos
  471.            if(turno == 1)
  472.            {
  473.                turno = 2;
  474.            }
  475.                else
  476.                    turno = 1;
  477.        }
  478.  
  479.        //cuando se termine el bucle comprueba quien ha ganado
  480.        if(ganador == 1)
  481.            {
  482.                printf("Ha Ganado el jugador 1");
  483.            }
  484.                else if(ganador == 2)
  485.                    printf("Ha Ganado el jugador 2");
  486.  
  487.        ganador++;
  488.    }
  489.     while (ganador < 3);
  490.  
  491.     //para que pregunte si quiere salir o seguir jugando
  492.     /*char respuesta;
  493.      int s=0,n=1;
  494.      printf("Quiere jugar de nuevo? (s/n): ");
  495.      scanf(" %c", &respuesta);
  496.  
  497.     if (respuesta==s)
  498.     {
  499.  
  500.     }
  501.         else if (respuesta==n)
  502.             fin_juego();*/
  503.  
  504. }
  505.  
  506.  
  507.  
  508. void mover_tirarflecha(int turno)
  509. {
  510.    char imagen_jugador; //dibuja 1' o '2' dependiendo del turno
  511.  
  512.    if(turno == 1)
  513.    {
  514.        imagen_jugador = '1';
  515.        printf("Es el turno del jugador 1\n");
  516.    }
  517.    else
  518.    {
  519.        imagen_jugador = '2';
  520.        printf("Es el turno del jugador 2\n");
  521.    }
  522.  
  523.   char accion;
  524.  
  525.    //moverse
  526.   int o_i,d_i; //coordenadas origen
  527.   char o_j,d_j;  //coordenadas destino
  528.  
  529.   printf("Moverte, tirar flecha o rendirse? (m, t, r)");
  530.   scanf(" %c", &accion);
  531.  
  532.   //para saber lo que ha ingresado
  533.   if(accion == 'm')
  534.   {
  535.       printf("\nIngrese Coordenadas origen (ej. 0-a) "); //origen
  536.       scanf("%d-%c", &o_i,&o_j);
  537.  
  538.       printf("\nIngrese Coordenadas destino (1 lugar) "); //destino
  539.       scanf("%d-%c", &d_i,&d_j);
  540.  
  541.  
  542.       //Dependiendo del tamaño del bosque
  543.       if( tam_bosque == 6)
  544.       {
  545.           //para que se mueva 1 solo lugar
  546.           /*if ((bosque6x6[d_i+1][d_j])&&(bosque6x6[d_i][d_j+1])&&(bosque6x6[d_i-1][d_j])&&(bosque6x6[d_i][d_j-1]))*/
  547.           {
  548.                bosque6x6[o_i][o_j - 97]= ' '; //queda vacio donde estaba
  549.                bosque6x6[d_i][d_j - 97]= imagen_jugador; //a donde lo mueve mientras esté el espacio vacio
  550.           }
  551.       }
  552.       else if( tam_bosque == 8)
  553.       {
  554.           bosque8x8[o_i][o_j - 97]= ' ';
  555.           bosque8x8[d_i][d_j - 97]= imagen_jugador;
  556.       }
  557.       else if( tam_bosque == 10)
  558.       {
  559.           bosque10x10[o_i][o_j - 97]= ' ';
  560.           bosque10x10[d_i][d_j - 97]= imagen_jugador;
  561.       }
  562.       else if( tam_bosque == 14)
  563.       {
  564.           bosque14x14[o_i][o_j - 97]= ' ';
  565.           bosque14x14[d_i][d_j - 97]= imagen_jugador;
  566.       }
  567.       else if( tam_bosque == 18)
  568.       {
  569.           bosque18x18[o_i][o_j - 97]= ' ';
  570.           bosque18x18[d_i][d_j - 97]= imagen_jugador;
  571.       }
  572.  
  573.   }
  574.  else if(accion == 't') //para disparar flecha. Se mueven arriba,abajo,izq,derecha
  575.   {
  576.       //para el bosque x6
  577.       if (tam_bosque==6)
  578.       {
  579.           int limite=0, arriba=0, abajo=0, izq=0, derecha=0;
  580.           int i=d_i;
  581.           int j=d_j;
  582.  
  583.           while((limite<5) && (arriba<6) && (bosque6x6[i][j]!='X'))//para arriba
  584.           {
  585.               if (bosque6x6[i][j]!='2')
  586.                  {
  587.                        arriba++;
  588.                        j++;
  589.                        printf("Fallaste!\n");
  590.                  }
  591.                  else printf("GAME OVER: Jugador 2");
  592.           }
  593.  
  594.  
  595.           while((limite<5) && (abajo<6) && (bosque6x6[i][j]!='X'))//para abajo
  596.  
  597.           {
  598.               if (bosque6x6[i][j]!='2')
  599.                  {
  600.                        abajo++;
  601.                        j--;
  602.                        printf("Fallaste!\n");
  603.                  }
  604.  
  605.                  else printf("GAME OVER: Jugador 2");
  606.  
  607.           }
  608.  
  609.           while((limite<5) && (izq<6) && (bosque6x6[i][j]!='X'))//para la izquierda
  610.           {
  611.               if (bosque6x6[i][j]!='2')
  612.                    {
  613.                        izq++;
  614.                        i--;
  615.                        printf("Fallaste!\n");
  616.                  }
  617.                  else printf("GAME OVER: Jugador 2");
  618.    printf ("\t>>Presiona cualquier tecla y enter para volver al menu principal");
  619.    getchar();
  620.  
  621.           }
  622.  
  623.           while((limite<5) && (derecha<6) && (bosque6x6[i][j]!='X'))//para la derecha
  624.           {
  625.               if (bosque6x6[i][j]!='2')
  626.                  {
  627.                        derecha++;
  628.                        i++;
  629.                        printf("Fallaste!\n");
  630.                  }
  631.  
  632.                  else printf("GAME OVER: Jugador 2");
  633.  
  634.           }
  635.  
  636.  
  637.       }
  638.   }
  639.    else if (accion = 'r')
  640.    {
  641.        printf("Te has rendido: Perdiste!");
  642.        system("cls");
  643.        printf("GAME OVER");
  644.        menu();
  645.    }
  646.  
  647. }
  648.  
  649. void Gestionar_jugadores()
  650. {
  651.    system("cls");
  652.    jugador jugadores[CANTJUG];
  653.                    //inicializo todo el arreglo
  654.    int i;
  655.    for (i=0; i<CANTJUG;i++)
  656.    {
  657.        inicializo(jugadores,i);
  658.    }
  659.  
  660.    system("cls");
  661.    printf("MENU\n");
  662.    printf("====\n");
  663.    printf("1-Alta de jugador\n");
  664.    printf("2-Baja de jugador\n");
  665.    printf("3-Modificacion jugador\n");
  666.    printf("4-Volver al menu anterior\n");
  667.    printf("\n\n");
  668.  
  669.    int op;
  670.    op = ingopcion();
  671.  
  672.    while (op!=4)
  673.    {
  674.        switch (op)
  675.        {
  676.            case 1:
  677.                    alta(jugadores);
  678.                    break;
  679.            case 2:
  680.                    baja(jugadores);
  681.                    break;
  682.            case 3:
  683.                    modificacion(jugadores);
  684.                    break;
  685.            case 4: menu();
  686.                    break;
  687.        }
  688.  
  689.    }
  690.  
  691.  
  692. }
  693.  
  694.  
  695. int ingopcion()
  696. {
  697.    int opcion;
  698.    do
  699.    {
  700.        printf("\nIngrese opcion (1-4)");
  701.        scanf("%d",&opcion);
  702.    }
  703.    while ((opcion < 1) || (opcion > 4));
  704.    return (opcion);
  705. }
  706.  
  707.  
  708. void inicializo(jugador jugadores[], int pos)
  709. {
  710.    //inicializo el nombre del jugador
  711.    int x;
  712.    for (x=0;x<LARGON;x++)
  713.    {
  714.        jugadores[pos].nombre.palabra[x] = ' ';
  715.    }
  716.    jugadores[pos].nombre.largopalabra = 0;
  717.    //inicializo la cedula
  718.    for (x=0;x<LARGOC;x++)
  719.    {
  720.        jugadores[pos].cedula.numero[x] = ' ';
  721.    }
  722.  
  723.    jugadores[pos].edad = 0;
  724.    jugadores[pos].fechanacimiento.dia = 0;
  725.    jugadores[pos].fechanacimiento.mes = 0;
  726.    jugadores[pos].fechanacimiento.año = 0;
  727.  
  728.    for(x=0;x<LARGOA;x++)
  729.    {
  730.        jugadores[pos].apellido.palabra[x] = ' ';
  731.    }
  732.    jugadores[pos].apellido.largopalabra = 0;
  733.  
  734.    for(x=0;x<LARGOALI;x++)
  735.    {
  736.        jugadores[pos].alias.palabra[x] = ' ';
  737.    }
  738.    jugadores[pos].alias.largopalabra = 0;
  739. }
  740.  
  741. int ingNroJugador()
  742. {
  743.    int nrojug;
  744.    do
  745.    {
  746.        printf("Ingrese Nro. de Jugador (1..%d)",CANTJUG);
  747.        scanf("%d",&nrojug);
  748.    }
  749.    while ((nrojug < 1) || (nrojug > CANTJUG));
  750.    return (nrojug);
  751. }
  752.  
  753. void alta(jugador jugadores[])//problema me sigue pidiendo jugadores en vez de volver al menu
  754. {
  755.    char confirma;
  756.    int nroJug;
  757.    system("cls");
  758.    printf("\nINGRESO DATOS DE JUGADORES");
  759.    printf("\n==========================\n");
  760.    nroJug = ingNroJugador();
  761.    if (jugadores[nroJug-1].nombre.largopalabra==0)
  762.    {
  763.        jugadores[nroJug-1].nombre = ingresoNombre();
  764.        jugadores[nroJug-1].apellido = ingresoApellido();
  765.        jugadores[nroJug-1].cedula = ingresoCedula();
  766.        jugadores[nroJug-1].fechanacimiento = ingresoFechanacimiento();
  767.        jugadores[nroJug-1].alias = ingresoAlias();
  768.        getchar();
  769.        printf("Confirma Ingreso S/N");
  770.        scanf(" %c",&confirma);
  771.        if (confirma=='N' || confirma == 'n')
  772.        {
  773.            inicializo(jugadores,nroJug-1);
  774.            menu();
  775.        }
  776.    }
  777.    else
  778.    {
  779.        getchar();
  780.        printf("\nJugador YA existe");
  781.        printf("\nPresione cualquier tecla para continuar");
  782.        getchar();
  783.    }
  784.  
  785. }
  786.  
  787. cadena ingresoNombre()
  788. {
  789.    getchar();
  790.    cadena nom;
  791.    int i;
  792.    i = 0;
  793.    printf("\nIngrese nombre del jugador: ");
  794.    while (((nom.palabra[i]=getchar()) != 10) && i <= LARGON)
  795.    {
  796.            i++;
  797.    }
  798.    nom.largopalabra = i;
  799.    return nom;
  800. }
  801.  
  802. cadena2 ingresoApellido()
  803. {
  804.    getchar();
  805.    cadena2 ape;
  806.    int i;
  807.    i = 0;
  808.    printf("\nIngrese apellido del jugador: ");
  809.    while (((ape.palabra[i]=getchar()) != 10) && i <= LARGOA)
  810.    {
  811.            i++;
  812.    }
  813.    ape.largopalabra = i;
  814.    return ape;
  815. }
  816.  
  817. digito ingresoCedula()
  818. {
  819.    int i=0;
  820.    digito ced;
  821.    printf("\nIngrese Cedula del jugador: ");
  822.    while (((ced.numero[i]=getchar())!= 10) && i<LARGOC)
  823.    {
  824.        i++;
  825.    }
  826.    ced.largodigito = i;
  827.  
  828. return ced;
  829.  
  830. }
  831.  
  832. fecha ingresoFechanacimiento()
  833. {
  834.    fecha fechanac;
  835.    printf("\nIngrese Fecha de Nacimiento dd/mm/aaaa: ");
  836.    scanf("%d/%d/%d",&fechanac.dia,&fechanac.mes, &fechanac.año);
  837.    return fechanac;
  838. }
  839.  
  840. int calcularEdad()
  841. {
  842.    fecha f = ingresoFechanacimiento();
  843.    int edad = 2015 - f.año;
  844.    return edad;
  845. }
  846.  
  847. cadena3 ingresoAlias()
  848. {
  849.    getchar();
  850.    cadena3 ali;
  851.    int i;
  852.    i = 0;
  853.    printf("\nIngrese Alias del jugador: ");
  854.    while (((ali.palabra[i]=getchar()) != 10) && i <= LARGOALI)
  855.    {
  856.            i++;
  857.    }
  858.    ali.largopalabra = i;
  859.    return ali;
  860. }
  861.  
  862.  
  863. void baja(jugador jugadores[])
  864. {
  865.    char confirma;
  866.    int nroJug;
  867.    system("cls");
  868.    printf("\nELIMINAR DATOS DE JUGADORES");
  869.    printf("\n===========================\n");
  870.    nroJug = ingNroJugador();
  871.    if (jugadores[nroJug-1].nombre.largopalabra!=0)
  872.    {
  873.        getchar();
  874.        printf("\nDatos del jugador nro. %d ",nroJug);
  875.        muestroNombre(jugadores, nroJug-1);
  876.        muestroApellido(jugadores, nroJug-1);
  877.        muestroCedula(jugadores, nroJug|-1);
  878.        muestroEdad(jugadores, nroJug-1);
  879.        muestroFechanacimiento(jugadores,nroJug-1);
  880.        muestroAlias(jugadores,nroJug-1);
  881.        printf("\nDesea eliminar dichos datos (S/N) ");
  882.        scanf("%c",&confirma);
  883.        if ((confirma == 'S') || (confirma == 's'))
  884.        {
  885.            inicializo(jugadores,nroJug-1);
  886.        }
  887.        printf("\nDatos Eliminados");
  888.    }
  889.    else
  890.    {
  891.        printf("\njugador NO existe");
  892.  
  893.    }
  894.    getchar();
  895.    printf("\nPresione cualquier tecla para continuar");
  896.    getchar();
  897.  
  898. }
  899.  
  900. void modificacion(jugador jugadores[])
  901. {
  902.    int nroJug;
  903.    system("cls");
  904.    printf("\nMODIFICAR DATOS DE JUGADORES");
  905.    printf("\n==========================\n");
  906.    nroJug = ingNroJugador();
  907.    if (jugadores[nroJug-1].nombre.palabra[1]!=' ')
  908.    {
  909.        getchar();
  910.        printf("\nDatos del jugador nro. %d ",nroJug);
  911.        muestroNombre(jugadores, nroJug-1);
  912.        muestroApellido(jugadores, nroJug-1);
  913.        muestroCedula(jugadores, nroJug-1);
  914.        muestroFechanacimiento(jugadores,nroJug-1);
  915.        muestroEdad(jugadores, nroJug-1);
  916.    }
  917.    else
  918.    {
  919.        getchar();
  920.        printf("\njugador NO existe");
  921.  
  922.    }
  923.    printf("\nPresione cualquier tecla para continuar");
  924.    getchar();
  925.  
  926.  
  927. }
  928.  
  929. void muestroNombre(jugador jugadores[],int pos)
  930. {
  931.    int i;
  932.    printf("\nNombre: ");
  933.    for (i=0;i<jugadores[pos].nombre.largopalabra;i++)
  934.    {
  935.        printf("%c",jugadores[pos].nombre.palabra[i]);
  936.    }
  937. }
  938.  
  939. void muestroApellido(jugador jugadores[],int pos)
  940. {
  941.    int i;
  942.    printf("\nApellido: ");
  943.    for (i=0;i<jugadores[pos].apellido.largopalabra;i++)
  944.    {
  945.        printf("%c",jugadores[pos].apellido.palabra[i]);
  946.    }
  947. }
  948.  
  949. void muestroCedula(jugador jugadores[], int pos)
  950. {
  951.    int i;
  952.    printf("\nCedula: ");
  953.    for (i=0;i<jugadores[pos].cedula.largodigito;i++)
  954.    {
  955.        printf("%c",jugadores[pos].cedula.numero[i]);
  956.    }
  957. }
  958.  
  959.  
  960. void muestroFechanacimiento(jugador jugadores[],int pos)
  961. {
  962.    printf ("\nFecha de Nacimiento: %d/%d/%d",jugadores[pos].fechanacimiento.dia,jugadores[pos].fechanacimiento.mes,jugadores[pos].fechanacimiento.año);
  963.  
  964. }
  965.  
  966. void muestroEdad(jugador jugadores[], int pos)
  967. {
  968.    printf("%d",jugadores[pos].edad);
  969. }
  970.  
  971. void muestroAlias(jugador jugadores[], int pos)
  972. {
  973.    int i;
  974.    printf("\nAlias: ");
  975.    for (i=0;i<jugadores[pos].alias.largopalabra;i++)
  976.    {
  977.        printf("%c",jugadores[pos].alias.palabra[i]);
  978.    }
  979. }
  980.  
  981. void Consultas(jugador jugadores[], int pos)
  982. {
  983.    int i;
  984.  
  985.    system("cls");
  986.    printf("MENU\n");
  987.    printf("====\n");
  988.    printf("1-Listado de jugadores\n");
  989.    printf("2-Listado de todas las partidas\n");
  990.    printf("3-Listado de partidas por jugador\n");
  991.    printf("4-Listado de partidas por fecha\n");
  992.    printf("5-Vuelve al menu anterior\n");
  993.    printf("\n\n");
  994.    char p;
  995.    printf (">>Presiona cualquier tecla y enter para volver al menu ");
  996.    scanf (" %c",&p);
  997.  
  998.    int op;
  999.    op = ingopcion();
  1000.  
  1001.    while (op!=5)
  1002.    {for(i=1;i<CANTJUG;i++){
  1003.                    {printf("\nCedula: %s\n", jugadores[i].cedula);}
  1004.        switch (op)
  1005.        {
  1006.            case 1://Listado de jugadores
  1007.                    printf("\nListado jugadores.\n");
  1008.                    for(i=0;i<CANTJUG;i++){
  1009.                    printf("\nCedula: %s\n", jugadores[i].cedula);
  1010.                    printf("Nombre %s\n", jugadores[i].nombre);
  1011.                    printf("Apellido %s\n", jugadores[i].apellido);
  1012.                    printf("Alias %s\n", jugadores[i].alias);}
  1013.                break;
  1014.            case 2:
  1015.                    /*listado_partidas;*/
  1016.                    break;
  1017.            case 3:
  1018.                    /*listado_partidas_xjugador;*/
  1019.                    break;
  1020.            case 4:
  1021.                    /*listado_partidas_xfecha;*/
  1022.                    break;
  1023.            case 5: menu();
  1024.                    break;
  1025.        }
  1026.  
  1027.    }
  1028. }
  1029.  
  1030. }
  1031.  
« Última modificación: 13 Julio 2015, 01:19 am por dragonlady » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Integrar usuarios SMF con mi sistema de usuarios (y no al reves)
PHP
Alex_bro 3 3,942 Último mensaje 18 Julio 2008, 05:55 am
por nicolasc
Facebook revela sus procedimientos para monitorizar usuarios y no-usuarios
Noticias
wolfbcn 0 2,118 Último mensaje 18 Noviembre 2011, 21:50 pm
por wolfbcn
¿Cual es la clave de registro donde están listados los dispositivos ATA?
Windows
Eleкtro 5 3,547 Último mensaje 1 Abril 2014, 16:03 pm
por dato000
Ayuda bajar listados de un ul automaticamente (HTML & CSS)
Desarrollo Web
SrTrp 0 1,946 Último mensaje 2 Octubre 2017, 03:55 am
por SrTrp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines