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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 [3] 4
21  Programación / Programación C/C++ / Ayuda!!! Struct para un menu! en: 2 Julio 2013, 14:21 pm
Buenas, solo pretendo que me ayuden con el punto cuatro del menu ya que no me almacena los menu sino que solo me imprime los ultimos, es decir me borra los anteriores. Recurro a ustedes ya que mi profesor solamente dio 5 clases en todo el semestre y nos mato (al menos a mi) con este obligatorio. mi proposito es aprender a  superar esta dificultad con la que estoy trancado. les dejo el codigo un poco mas resumido.

Muchas gracias.


Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #define DIM 16 /*Constante utilizada para definir la maxima dimension del tablero*/
  4. //#define tam_string 40 /*Constante para la cantidad de digitos de los Nombres*/
  5. //#define ced_string 8
  6.  
  7. struct partidas1{
  8.        char nom_jug[40];
  9. char ced_jug[8];
  10.    }partidas1[500];
  11. struct partidas2{
  12. char nom_jug[40];
  13. char ced_jug[8];
  14.    }partidas2[500];
  15.    int partida, aux2;
  16.    struct partidas
  17. {
  18.  char nom_jug[40];
  19.  char ced_jug[8];
  20. };
  21.  
  22. struct partidas partidas[10];
  23.  
  24. char nom_jug[40];
  25. char ced_jug[8];
  26.  
  27.  
  28. /*PROCEDIMIENTOS Y FUNCIONES*/
  29.  
  30. void inicializar_tablero(char tablero[][DIM],int);
  31. int juegan_O_(char tabla[][DIM],int,int);
  32. int juegan_X_(char tablero[][DIM],int,int);
  33. int cuatro_en_linea(char tablero[][DIM],int);
  34. int limpiar(char nom_jug[]);
  35.  
  36.  
  37. int inicia1 = 0;
  38. int inicia2 = 0, jugar=1;
  39. int main()
  40. {
  41.    char tablero[DIM][DIM];
  42.    int x,opcion,victoria=1,nombre1,nombre2,contador=1,correcta=1,aux=1,sumador = 0;
  43.    do
  44. {
  45. system("cls");
  46.    printf("\n\n\n     JUEGO CUATRO EN LINEA\n\n\n\n\n");
  47.    printf("  1) Ingresar datos del primer jugador\n\n");
  48.    printf("  2) Ingresar datos del segundo jugador\n\n");
  49.    printf("  3) Jugar\n\n");
  50.    printf("  4) Listar todos los juegos realizados\n\n");
  51.    printf("  5) Salir\n\n\n");
  52.    if (contador%2==0)
  53.     {
  54.     printf("  Error: Antes de jugar debe ingresar los datos de los dos jugadores. \n\n\n");
  55.     printf("  REINGRESE SU OPCION: ");
  56. contador--;
  57.     }
  58.     if (correcta%2==0)
  59.     {
  60.     printf("  Opcion incorrecta \n\n\n");
  61.     printf("  REINGRESE SU OPCION: ");
  62.     correcta--;
  63.     }
  64.     if (aux%2==0)
  65.     {
  66.     printf("  No se han realizado juegos. \n\n\n");
  67.     aux--;
  68.     }
  69.  
  70.    scanf("%d",&opcion);
  71.    system("cls");
  72.    switch (opcion)
  73.    {
  74.    case 1:  /*OPCION 1 DEL MENU.*/
  75.    {
  76.     limpiar(nom_jug);
  77.     limpiar(ced_jug);
  78.     while(getchar() != '\n');
  79.     printf("\n Ingrese su Nombre: ");
  80.     do
  81.     {
  82.     scanf("%39[^\n]",partidas1[inicia1].nom_jug);
  83.     if (partidas1[inicia1].nom_jug[0]=='\0')
  84.     {
  85.     printf(" ERROR\n");
  86.     printf(" Ingrese nuevamente Nombre: ");
  87.     }
  88. else
  89. {
  90.  
  91. for (nombre1=0;nombre1<40;nombre1++)
  92.     {
  93.     nom_jug[nombre1];
  94.     }
  95. }while(getchar() != '\n');
  96. system("cls");
  97.        }while(partidas1[inicia1].nom_jug[0]=='\0');
  98.     printf("\n Ingrese su cedula: ");
  99.     do
  100.     {
  101.     scanf("%8[^\n]",partidas1[inicia1].ced_jug);    
  102.     if (partidas1[inicia1].ced_jug[0]=='\0')
  103.     {
  104.     printf(" ERROR\n");
  105.     printf(" Ingrese nuevamente su cedula: ");
  106.     }
  107. else
  108. {
  109.  
  110. for (nombre1=0;nombre1<8;nombre1++)
  111.     {
  112.     ced_jug[nombre1];
  113.     }
  114.        system("cls");
  115.     printf("\n");
  116. }while(getchar() != '\n');
  117.        }while(partidas1[inicia1].ced_jug[0]=='\0');
  118.        printf("\n    DATOS INGRESADOS\n");
  119.        printf("\n\n   Nombre ingresado: %s",partidas1[inicia1].nom_jug);
  120.     printf("\n\n   Cedula ingresada: %s",partidas1[inicia1].ced_jug);
  121.     printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n presione ENTER para volver al menu");
  122.     partidas1[inicia1+1]=partidas1[inicia1];
  123.     jugar++;
  124.     break;
  125.     }
  126.    case 2:  /*OPCION 2 DEL MENU*/
  127.    {
  128. limpiar(nom_jug);
  129.     limpiar(ced_jug);
  130.     while(getchar() != '\n');
  131.     printf("\n Ingrese su Nombre: ");
  132.     do
  133.     {
  134.     scanf("%39[^\n]",partidas2[inicia2].nom_jug);
  135.     if (partidas2[inicia2].nom_jug[0]=='\0')
  136.     {
  137.     printf(" ERROR\n");
  138.     printf(" Ingrese nuevamente Nombre: ");
  139.     }
  140. else
  141. {                        
  142.  
  143. for (nombre2=0;nombre2<40;nombre2++)
  144.     {
  145.     nom_jug[nombre2];
  146.     }
  147. }while(getchar() != '\n');
  148. system("cls");
  149.        }while(partidas2[inicia2].nom_jug[0]=='\0');
  150.     printf("\n Ingrese su cedula: ");
  151.     do
  152.     {
  153.     scanf("%8[^\n]",partidas2[inicia2].ced_jug);  
  154. do
  155.  
  156.     if (partidas2[inicia2].ced_jug[0]=='\0')
  157.     {
  158.     printf(" ERROR\n");
  159.     printf(" Ingrese nuevamente su cedula: ");
  160.     }
  161. else
  162. {
  163.  
  164. for (nombre2=0;nombre2<8;nombre2++)
  165.     {
  166.     ced_jug[nombre2];
  167.     }
  168.     system("cls");
  169.     printf("\n");
  170. }while(getchar() != '\n');
  171.        }while(partidas2[inicia2].ced_jug[0]=='\0');
  172.  
  173.        printf("\n    DATOS INGRESADOS\n");
  174.        printf("\n\n   Nombre ingresado: %s",partidas2[inicia2].nom_jug);
  175.     printf("\n\n   Cedula ingresada: %s",partidas2[inicia2].ced_jug);
  176.     printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n presione ENTER para volver al menu");
  177.     partidas2[inicia2+1]=partidas2[inicia2];
  178.     jugar++;
  179.     break;
  180.    }
  181.    case 3: /*OPCION 3 DEL MENU*/
  182.    {
  183.     if (jugar<3)
  184.     {
  185.     contador++;
  186.  
  187.     }
  188.     else  
  189.     {
  190.        cuatro_en_linea(tablero,opcion);
  191.  
  192.  
  193.        sumador++;
  194.        }
  195.        break;
  196.    }
  197.    case 4: /*OPCION 4 DEL MENU*/
  198.    {
  199.     if (sumador<1)
  200.     {
  201.     aux++;
  202.     }
  203.     else
  204.  
  205.     {
  206.             partida=1;
  207.             aux2=0;  
  208.             for(partida;partida<sumador+1;partida++){
  209.             printf("Partida %d\n",partida);
  210.             printf("\n");
  211.             printf("Jugador 1: %s\n",partidas1[aux2].nom_jug);
  212.             printf("Cedula:    %s\n",partidas1[aux2].ced_jug);
  213.             printf("Jugador 2: %s\n",partidas2[aux2].nom_jug);
  214.             printf("Cedula:    %s\n",partidas2[aux2].ced_jug);
  215.             aux2++;
  216.             printf("\n");
  217. }
  218.     }
  219.     system("PAUSE");
  220.     break;
  221.    }
  222.    case 5: /*OPCION 5 DEL MENU*/
  223.    {
  224.     return printf("\n\n  SALIENDO\n\n");
  225.     break;
  226.    default:
  227.     correcta++;
  228.     break;
  229.    }
  230.    }while (getchar()!='\n');
  231.    }while (victoria==1);
  232. }
22  Programación / Programación C/C++ / Re: Ayuda! Problema de un menu!!! en: 2 Julio 2013, 13:23 pm
Buenas, solo pretendo que me ayuden con el punto cuatro del menu ya que no me almacena los menu sino que solo me imprime los ultimos, es decir me borra los anteriores. Recurro a ustedes ya que mi profesor solamente dio 5 clases en todo el semestre y nos mato (al menos a mi) con este obligatorio. mi proposito es aprender a  superar esta dificultad con la que estoy trancado. les dejo el codigo un poco mas resumido.

Muchas gracias.

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #define DIM 16 /*Constante utilizada para definir la maxima dimension del tablero*/
  4. //#define tam_string 40 /*Constante para la cantidad de digitos de los Nombres*/
  5. //#define ced_string 8
  6.  
  7. struct partidas1{
  8.        char nom_jug[40];
  9. char ced_jug[8];
  10.    }partidas1[500];
  11. struct partidas2{
  12. char nom_jug[40];
  13. char ced_jug[8];
  14.    }partidas2[500];
  15.    int partida, aux2;
  16.    struct partidas
  17. {
  18.  char nom_jug[40];
  19.  char ced_jug[8];
  20. };
  21.  
  22. struct partidas partidas[10];
  23.  
  24. char nom_jug[40];
  25. char ced_jug[8];
  26.  
  27.  
  28. /*PROCEDIMIENTOS Y FUNCIONES*/
  29.  
  30. void inicializar_tablero(char tablero[][DIM],int);
  31. int juegan_O_(char tabla[][DIM],int,int);
  32. int juegan_X_(char tablero[][DIM],int,int);
  33. int cuatro_en_linea(char tablero[][DIM],int);
  34. int limpiar(char nom_jug[]);
  35.  
  36.  
  37. int inicia1 = 0;
  38. int inicia2 = 0, jugar=1;
  39. int main()
  40. {
  41.    char tablero[DIM][DIM];
  42.    int x,opcion,victoria=1,nombre1,nombre2,contador=1,correcta=1,aux=1,sumador = 0;
  43.    do
  44. {
  45. system("cls");
  46.    printf("\n\n\n     JUEGO CUATRO EN LINEA\n\n\n\n\n");
  47.    printf("  1) Ingresar datos del primer jugador\n\n");
  48.    printf("  2) Ingresar datos del segundo jugador\n\n");
  49.    printf("  3) Jugar\n\n");
  50.    printf("  4) Listar todos los juegos realizados\n\n");
  51.    printf("  5) Salir\n\n\n");
  52.    if (contador%2==0)
  53.     {
  54.     printf("  Error: Antes de jugar debe ingresar los datos de los dos jugadores. \n\n\n");
  55.     printf("  REINGRESE SU OPCION: ");
  56. contador--;
  57.     }
  58.     if (correcta%2==0)
  59.     {
  60.     printf("  Opcion incorrecta \n\n\n");
  61.     printf("  REINGRESE SU OPCION: ");
  62.     correcta--;
  63.     }
  64.     if (aux%2==0)
  65.     {
  66.     printf("  No se han realizado juegos. \n\n\n");
  67.     aux--;
  68.     }
  69.  
  70.    scanf("%d",&opcion);
  71.    system("cls");
  72.    switch (opcion)
  73.    {
  74.    case 1:  /*OPCION 1 DEL MENU*/
  75.    {
  76.     limpiar(nom_jug);
  77.     limpiar(ced_jug);
  78.     while(getchar() != '\n');
  79.     printf("\n Ingrese su Nombre: ");
  80.     do
  81.     {
  82.     scanf("%39[^\n]",partidas1[inicia1].nom_jug);
  83.     if (partidas1[inicia1].nom_jug[0]=='\0')
  84.     {
  85.     printf(" ERROR\n");
  86.     printf(" Ingrese nuevamente Nombre: ");
  87.     }
  88. else
  89. {
  90.  
  91. for (nombre1=0;nombre1<40;nombre1++)
  92.     {
  93.     nom_jug[nombre1];
  94.     }
  95. }while(getchar() != '\n');
  96. system("cls");
  97.        }while(partidas1[inicia1].nom_jug[0]=='\0');
  98.     printf("\n Ingrese su cedula: ");
  99.     do
  100.     {
  101.     scanf("%8[^\n]",partidas1[inicia1].ced_jug);    
  102.     if (partidas1[inicia1].ced_jug[0]=='\0')
  103.     {
  104.     printf(" ERROR\n");
  105.     printf(" Ingrese nuevamente su cedula: ");
  106.     }
  107. else
  108. {
  109.  
  110. for (nombre1=0;nombre1<8;nombre1++)
  111.     {
  112.     ced_jug[nombre1];
  113.     }
  114.        system("cls");
  115.     printf("\n");
  116. }while(getchar() != '\n');
  117.        }while(partidas1[inicia1].ced_jug[0]=='\0');
  118.        printf("\n    DATOS INGRESADOS\n");
  119.        printf("\n\n   Nombre ingresado: %s",partidas1[inicia1].nom_jug);
  120.     printf("\n\n   Cedula ingresada: %s",partidas1[inicia1].ced_jug);
  121.     printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n presione ENTER para volver al menu");
  122.     partidas1[inicia1+1]=partidas1[inicia1];
  123.     jugar++;
  124.     break;
  125.     }
  126.    case 2:  /*OPCION 2 DEL MENU*/
  127.    {
  128. limpiar(nom_jug);
  129.     limpiar(ced_jug);
  130.     while(getchar() != '\n');
  131.     printf("\n Ingrese su Nombre: ");
  132.     do
  133.     {
  134.     scanf("%39[^\n]",partidas2[inicia2].nom_jug);
  135.     if (partidas2[inicia2].nom_jug[0]=='\0')
  136.     {
  137.     printf(" ERROR\n");
  138.     printf(" Ingrese nuevamente Nombre: ");
  139.     }
  140. else
  141. {                        
  142.  
  143. for (nombre2=0;nombre2<40;nombre2++)
  144.     {
  145.     nom_jug[nombre2];
  146.     }
  147. }while(getchar() != '\n');
  148. system("cls");
  149.        }while(partidas2[inicia2].nom_jug[0]=='\0');
  150.     printf("\n Ingrese su cedula: ");
  151.     do
  152.     {
  153.     scanf("%8[^\n]",partidas2[inicia2].ced_jug);  
  154. do
  155.  
  156.     if (partidas2[inicia2].ced_jug[0]=='\0')
  157.     {
  158.     printf(" ERROR\n");
  159.     printf(" Ingrese nuevamente su cedula: ");
  160.     }
  161. else
  162. {
  163.  
  164. for (nombre2=0;nombre2<8;nombre2++)
  165.     {
  166.     ced_jug[nombre2];
  167.     }
  168.     system("cls");
  169.     printf("\n");
  170. }while(getchar() != '\n');
  171.        }while(partidas2[inicia2].ced_jug[0]=='\0');
  172.  
  173.        printf("\n    DATOS INGRESADOS\n");
  174.        printf("\n\n   Nombre ingresado: %s",partidas2[inicia2].nom_jug);
  175.     printf("\n\n   Cedula ingresada: %s",partidas2[inicia2].ced_jug);
  176.     printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n presione ENTER para volver al menu");
  177.     partidas2[inicia2+1]=partidas2[inicia2];
  178.     jugar++;
  179.     break;
  180.    }
  181.    case 3: /*OPCION 3 DEL MENU*/
  182.    {
  183.     if (jugar<3)
  184.     {
  185.     contador++;
  186.  
  187.     }
  188.     else  
  189.     {
  190.        cuatro_en_linea(tablero,opcion);
  191.  
  192.  
  193.        sumador++;
  194.        }
  195.        break;
  196.    }
  197.    case 4: /*OPCION 4 DEL MENU*/
  198.    {
  199.     if (sumador<1)
  200.     {
  201.     aux++;
  202.     }
  203.     else
  204.  
  205.     {
  206.             partida=1;
  207.             aux2=0;  
  208.             for(partida;partida<sumador+1;partida++){
  209.             printf("Partida %d\n",partida);
  210.             printf("\n");
  211.             printf("Jugador 1: %s\n",partidas1[aux2].nom_jug);
  212.             printf("Cedula:    %s\n",partidas1[aux2].ced_jug);
  213.             printf("Jugador 2: %s\n",partidas2[aux2].nom_jug);
  214.             printf("Cedula:    %s\n",partidas2[aux2].ced_jug);
  215.             aux2++;
  216.             printf("\n");
  217. }
  218.     }
  219.     system("PAUSE");
  220.     break;
  221.    }
  222.    case 5: /*OPCION 5 DEL MENU*/
  223.    {
  224.     return printf("\n\n  SALIENDO\n\n");
  225.     break;
  226.    default:
  227.     correcta++;
  228.     break;
  229.    }
  230.    }while (getchar()!='\n');
  231.    }while (victoria==1);
  232. }
23  Programación / Programación C/C++ / Ayuda! Problema de un menu!!! en: 1 Julio 2013, 22:28 pm
Buenas como va,

Mi problema es el siguiente. en el juego conecta 4 me piden que haga un menu donde una de las opciones es que registre todos los juegos realizados (Nombre y cedula de cada jugador). El problema es que a medida que voy eligiendo un jugador nuevo me borra el anterior. Me pueden ayudar con esto?  Les dejo el codigo

Código
  1.  
  2.    //* JUEGO CONECTA 4*//
  3.  
  4.  
  5.  
  6. /*Librerias utilizadas*/
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #define DIM 16 /*Constante utilizada para definir la maxima dimension del tablero*/
  10.  
  11.  
  12. struct partidas1{
  13.        char nom_jug[40];
  14. char ced_jug[8];
  15.    }partidas1[500];
  16. struct partidas2{
  17. char nom_jug[40];
  18. char ced_jug[8];
  19.    }partidas2[500];
  20.    struct ganadores{
  21.        char jganador;
  22.    }ganadores[1000];
  23.    int partida, aux2,aux3;
  24.  
  25. char nom_jug[40];
  26. char ced_jug[8];
  27.  
  28.  
  29. /*PROCEDIMIENTOS Y FUNCIONES*/
  30.  
  31. void inicializar_tablero(char tablero[][DIM],int);
  32. int juegan_O_(char tabla[][DIM],int,int);
  33. int juegan_X_(char tablero[][DIM],int,int);
  34. int cuatro_en_linea(char tablero[][DIM],int);
  35. int limpiar(char nom_jug[]);
  36.  
  37.  
  38. int inicia1 = 0;
  39. int inicia2 = 0, jugar=1;
  40. int main()
  41. {
  42.    char tablero[DIM][DIM];
  43.    int x,opcion,victoria=1,nombre1,nombre2,contador=1,correcta=1,aux=1,sumador = 0;
  44.    do
  45. {
  46. system("cls");
  47.    printf("\n\n\n     JUEGO CUATRO EN LINEA\n\n\n\n\n");
  48.    printf("  1) Ingresar datos del primer jugador\n\n");
  49.    printf("  2) Ingresar datos del segundo jugador\n\n");
  50.    printf("  3) Jugar\n\n");
  51.    printf("  4) Listar todos los juegos realizados\n\n");
  52.    printf("  5) Salir\n\n\n");
  53.    if (contador%2==0)
  54.     {
  55.     printf("  Error: Antes de jugar debe ingresar los datos de los dos jugadores. \n\n\n");
  56.     printf("  REINGRESE SU OPCION: ");
  57. contador--;
  58.     }
  59.     if (correcta%2==0)
  60.     {
  61.     printf("  Opcion incorrecta \n\n\n");
  62.     printf("  REINGRESE SU OPCION: ");
  63.     correcta--;
  64.     }
  65.     if (aux%2==0)
  66.     {
  67.     printf("  No se han realizado juegos. \n\n\n");
  68.     aux--;
  69.     }
  70.  
  71.    scanf("%d",&opcion);
  72.    system("cls");
  73.    switch (opcion)
  74.    {
  75.    case 1:  /*OPCION 1 DEL MENU*/
  76.    {
  77.     limpiar(nom_jug);
  78.     limpiar(ced_jug);
  79.     while(getchar() != '\n');
  80.     printf("\n Ingrese su Nombre: ");
  81.     do
  82.     {
  83.     scanf("%39[^\n]",partidas1[inicia1].nom_jug);
  84.     if (partidas1[inicia1].nom_jug[0]=='\0')
  85.     {
  86.     printf(" ERROR\n");
  87.     printf(" Ingrese nuevamente Nombre: ");
  88.     }
  89. else
  90. {
  91.  
  92. for (nombre1=0;nombre1<40;nombre1++)
  93.     {
  94.     nom_jug[nombre1];
  95.     }
  96. }while(getchar() != '\n');
  97. system("cls");
  98.        }while(partidas1[inicia1].nom_jug[0]=='\0');
  99.     printf("\n Ingrese su cedula: ");
  100.     do
  101.     {
  102.     scanf("%8[^\n]",partidas1[inicia1].ced_jug);    
  103.     if (partidas1[inicia1].ced_jug[0]=='\0')
  104.     {
  105.     printf(" ERROR\n");
  106.     printf(" Ingrese nuevamente su cedula: ");
  107.     }
  108. else
  109. {
  110.  
  111. for (nombre1=0;nombre1<8;nombre1++)
  112.     {
  113.     ced_jug[nombre1];
  114.     }
  115.        system("cls");
  116.     printf("\n");
  117. }while(getchar() != '\n');
  118.        }while(partidas1[inicia1].ced_jug[0]=='\0');
  119.        printf("\n    DATOS INGRESADOS\n");
  120.        printf("\n\n   Nombre ingresado: %s",partidas1[inicia1].nom_jug);
  121.     printf("\n\n   Cedula ingresada: %s",partidas1[inicia1].ced_jug);
  122.     printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n presione ENTER para volver al menu");
  123.     partidas1[inicia1+1]=partidas1[inicia1];
  124.     jugar++;
  125.     break;
  126.     }
  127.    case 2:  /*OPCION 2 DEL MENU*/
  128.    {
  129. limpiar(nom_jug);
  130.     limpiar(ced_jug);
  131.     while(getchar() != '\n');
  132.     printf("\n Ingrese su Nombre: ");
  133.     do
  134.     {
  135.     scanf("%39[^\n]",partidas2[inicia2].nom_jug);
  136.     if (partidas2[inicia2].nom_jug[0]=='\0')
  137.     {
  138.     printf(" ERROR\n");
  139.     printf(" Ingrese nuevamente Nombre: ");
  140.     }
  141. else
  142. {                        
  143.  
  144. for (nombre2=0;nombre2<40;nombre2++)
  145.     {
  146.     nom_jug[nombre2];
  147.     }
  148. }while(getchar() != '\n');
  149. system("cls");
  150.        }while(partidas2[inicia2].nom_jug[0]=='\0');
  151.     printf("\n Ingrese su cedula: ");
  152.     do
  153.     {
  154.     scanf("%8[^\n]",partidas2[inicia2].ced_jug);  
  155. do
  156.  
  157.     if (partidas2[inicia2].ced_jug[0]=='\0')
  158.     {
  159.     printf(" ERROR\n");
  160.     printf(" Ingrese nuevamente su cedula: ");
  161.     }
  162. else
  163. {
  164.  
  165. for (nombre2=0;nombre2<8;nombre2++)
  166.     {
  167.     ced_jug[nombre2];
  168.     }
  169.     system("cls");
  170.     printf("\n");
  171. }while(getchar() != '\n');
  172.        }while(partidas2[inicia2].ced_jug[0]=='\0');
  173.  
  174.        printf("\n    DATOS INGRESADOS\n");
  175.        printf("\n\n   Nombre ingresado: %s",partidas2[inicia2].nom_jug);
  176.     printf("\n\n   Cedula ingresada: %s",partidas2[inicia2].ced_jug);
  177.     printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n presione ENTER para volver al menu");
  178.     partidas2[inicia2+1]=partidas2[inicia2];
  179.     jugar++;
  180.     break;
  181.    }
  182.    case 3: /*OPCION 3 DEL MENU*/
  183.    {
  184.     if (jugar<3)
  185.     {
  186.     contador++;
  187.  
  188.     }
  189.     else  
  190.     {
  191.        cuatro_en_linea(tablero,opcion);
  192.  
  193.  
  194.        sumador++;
  195.        }
  196.        break;
  197.    }
  198.    case 4: /*OPCION 4 DEL MENU*/
  199.    {
  200.     if (sumador<1)
  201.     {
  202.     aux++;
  203.     }
  204.     else
  205.  
  206.     {
  207.             partida=1;
  208.             aux2=0;
  209. aux3=0;  
  210.             for(partida;partida<sumador+1;partida++){
  211.             printf("Partida %d\n",partida);
  212.             printf("\n");
  213.             printf("Jugador 1: %s\n",partidas1[inicia1].nom_jug);
  214.             printf("Cedula:    %s\n",partidas1[inicia1].ced_jug);
  215.             printf("Jugador 2: %s\n",partidas2[inicia2].nom_jug);
  216.             printf("Cedula:    %s\n",partidas2[inicia2].ced_jug);
  217.             aux2++;
  218.             printf("\n");
  219. }
  220.     }
  221.     system("PAUSE");
  222.     break;
  223.    }
  224.    case 5: /*OPCION 5 DEL MENU*/
  225.    {
  226.     return printf("\n\n  SALIENDO\n\n");
  227.     break;
  228.    default:
  229.     correcta++;
  230.     break;
  231.    }
  232.    }while (getchar()!='\n');
  233.    }while (victoria==1);
  234. }
  235. int cuatro_en_linea(char tablero[DIM][DIM],int x)
  236. {
  237.  
  238.    /*Defino distintas variables que voy a utilizar a lo largo del programa*/
  239.    int n=0,i,j,resto=1,k=0,jugador,partida,victoria=0;
  240.    char d;
  241.    printf("\n\nIngresa la dimension del tablero de juego(4-15): ");
  242.    /*Analizamos si la dimension del tablero ingresada es valida*/
  243.    do
  244.    {
  245.        scanf (" %d",&x);
  246.        system("cls");
  247.        if (x<4 || x>15)
  248.        {
  249.            printf("\nOpcion no valida. Ingresa la dimension (4-15): ");
  250.        }   while (getchar()!='\n');
  251.    } while (x<4 || x>15);
  252.    system("cls");
  253.    /*Elegimos judagor*/
  254.    printf("\n ELIJA JUGADOR\n\n\n");
  255.    printf("\n\n  1) JUGADOR 1 (X)\n");
  256.    printf("\n\n  2) JUGADOR 2 (O)\n");
  257.    do
  258.    {
  259.    scanf("%d",&jugador);
  260.    if ((jugador!=1) && (jugador!=2))
  261.    {
  262.        printf("\n Error: Los jugadores posibles son 1 y 2 ");
  263.    }
  264.    }while ((getchar()!='\n') || ((jugador!=1) && (jugador!=2)));
  265.    do
  266.    {
  267.        system("cls");
  268.        printf("\n\n\n\n");
  269.        inicializar_tablero(tablero,x);
  270.        while ((resto<=(x*x)) && (victoria!=1))
  271.        {
  272.            if (jugador==1)
  273.            {
  274.                jugador++;
  275.               juegan_X_(tablero,x,n);
  276.               /* Evaluo si el jugador 1 (X) gana*/
  277.  
  278.               for (i=1;i<=x;i++)
  279.           {
  280.     for (j=1;j<=x;j++)
  281. {
  282.                        /*Verifico si hay cuatro en linea horizontal para Jugador 1*/
  283. if ((tablero[i][j]=='X') && ((tablero[i][j+1])=='X') && ((tablero[i][j+2])=='X') && ((tablero[i][j+3])=='X'))
  284. {
  285. victoria = 1;
  286. }        
  287. /*Verifico si hay cuatro en linea vertical para Jugador 1*/
  288. else if ((tablero[i][j]=='X') && ((tablero[i+1][j])=='X') && ((tablero[i+2][j])=='X') && ((tablero[i+3][j])=='X'))
  289. {
  290. victoria = 1;
  291. }
  292. /*Verifico si hay cuatro en linea en diagonal ascendiente para Jugador 1*/
  293. else if ((tablero[i][j]=='X') && ((tablero[i+1][j-1])=='X') && ((tablero[i+2][j-2])=='X') && ((tablero[i+3][j-3])=='X'))
  294. {
  295. victoria = 1;
  296. }
  297. /*Verifico si hay cuatro en linea en diagonal descendiente para Jugador 1*/
  298. else if ((tablero[i][j]=='X') && ((tablero[i+1][j+1])=='X') && ((tablero[i+2][j+2])=='X') && ((tablero[i+3][j+3])=='X'))
  299. {
  300. victoria = 1;
  301. }
  302. }
  303.   }
  304.               if (victoria == 1)
  305.               {
  306.               printf("\n\n FELICITACIONES %s",partidas1[inicia1].nom_jug);
  307.               printf("!!!\n\n  Has ganado la partida.\n\n\n\n\n\n");
  308.               if(partidas1[inicia1].nom_jug[40]==partidas1[inicia1+1].nom_jug[40]){
  309.                        partidas1[inicia1+2]=partidas1[inicia1+1];
  310.                        inicia1++;
  311.                    }
  312.               }
  313.               else
  314.               {
  315.               resto++;
  316.               }
  317.            }
  318.            else if (jugador == 2)
  319.            {
  320.                jugador--;
  321. juegan_O_(tablero,x,n);
  322. /* Evaluo si el jugador 2 (O) gana*/
  323.  
  324. for (i=1;i<=x;i++)
  325.           {
  326.     for (j=1;j<=x;j++)
  327. {
  328.                        /*Verifico si hay cuatro en linea horizontal para Jugador 1*/
  329. if ((tablero[i][j]=='O') && ((tablero[i][j+1])=='O') && ((tablero[i][j+2])=='O') && ((tablero[i][j+3])=='O'))
  330. {
  331. victoria = 1;
  332. }
  333. /*Verifico si hay cuatro en linea vertical para Jugador 1*/
  334. else if ((tablero[i][j]=='O') && ((tablero[i+1][j])=='O') && ((tablero[i+2][j])=='O') && ((tablero[i+3][j])=='O'))
  335. {
  336. victoria = 1;
  337. }
  338. /*Verifico si hay cuatro en linea en diagonal ascendiente para Jugador 2*/
  339. else if ((tablero[i][j]=='O') && ((tablero[i+1][j-1])=='O') && ((tablero[i+2][j-2])=='O') && ((tablero[i+3][j-3])=='O'))
  340. {
  341. victoria = 1;
  342. }
  343. /*Verifico si hay cuatro en linea en diagonal descendiente para Jugador 2*/
  344. else if ((tablero[i][j]=='O') && ((tablero[i+1][j+1])=='O') && ((tablero[i+2][j+2])=='O') && ((tablero[i+3][j+3])=='O'))
  345. {
  346. victoria = 1;
  347. }
  348. }
  349.   }
  350.               if (victoria == 1)
  351.               {
  352.               printf("\n\n FELICITACIONES %s",partidas2[inicia2].nom_jug);
  353.               printf("!!!\n\n  Has ganado la partida.\n\n\n\n\n\n");
  354.               if(partidas2[inicia2].nom_jug[40]==partidas2[inicia2+1].nom_jug[40]){
  355.                        partidas2[inicia2+2]=partidas2[inicia2+1];
  356.                        inicia2++;
  357.                    }
  358.               }
  359.               else
  360.               {  
  361.                resto++;
  362.               }
  363.            }
  364.  
  365.            /*Si el tablero se lleno de fichas y no hay cuatro en linea
  366.             el partido termina en empate*/
  367.  
  368.            if (resto > (x*x) && (victoria!=1))
  369.         {
  370.         printf("\n\n EMPATE\n\n");
  371.            }
  372.        }
  373.    }while ((resto<=(x*x)) && (victoria!=1));
  374.    system("PAUSE");
  375.    resto = 1;
  376.    victoria = 0;
  377.    system("cls");
  378.    inicializar_tablero(tablero,x);
  379.    system("cls");
  380. }
  381. /* Procedimiento para imprimir el tablero inicial*/
  382.  
  383. void inicializar_tablero(char tablero[DIM][DIM],int x)
  384. {
  385. int i,j;
  386. int contador = 1;
  387. for (i=1; i<=x; i++)
  388. {
  389. for (j=1;j<=x; j++)
  390. {
  391.            printf("  ");
  392. printf(" %c",tablero[i][j]='.');
  393. }
  394. printf("\n\n");
  395.  
  396. }
  397. for (i=1;i<=x;i++)
  398. {
  399.        printf("   %d",contador);
  400.        contador++;
  401.    }
  402.    printf("\n");
  403. }
  404. /*Funcion para hacer jugada para el jugador 1*/
  405.  
  406. int juegan_X_(char tablero[DIM][DIM],int x,int n)
  407. {
  408. int i,j,k,contador=1;
  409. do
  410.    {
  411.        printf("\n\n Juega %s: \n",partidas1[inicia1].nom_jug);
  412.                    scanf ("%d",&n);
  413.        if (n<1 || n>x)
  414.        {
  415.            printf("Error: las columnas posibles son de 1 a %d",x);
  416.            while (getchar()!='\n');
  417.        }  
  418. else if (tablero[1][n]!='.')
  419. {
  420. printf("\nError: la columna ya esta llena.\n ");
  421.     }
  422.    }while((n<1 || n>x) || (tablero[1][n]!='.'));
  423. for (k=x;k>=1;k--)
  424.    {
  425.            if (tablero[k][n]!='.')
  426.            {
  427.                continue;
  428.            }
  429.            else
  430.            {
  431.                tablero[k][n]='X';
  432.                break;
  433.            }
  434.    }
  435.       system("cls");  
  436.   printf("\n Ultima jugada X: Columna %d\n",n);      
  437.    printf("\n\n");
  438.    for (i=1;i<=x;i++)
  439.    {
  440.        for (j=1;j<=x;j++)
  441.        {
  442.            printf("  ");
  443.            printf (" %c",tablero[i][j]);
  444.  
  445.        }
  446.        printf("\n\n");
  447.    }
  448.    for (i=1;i<=x;i++)
  449. {
  450.        printf("   %d",contador);
  451.        contador++;
  452.    }
  453.    printf("\n");
  454. }
  455. /*Funcion para hacer jugada para el jugador 2*/
  456.  
  457. int juegan_O_(char tablero[DIM][DIM],int x,int n)
  458. {
  459. int i,j,k,contador=1;
  460. do
  461.    {
  462.        printf("\n\n Juega %s: ",partidas2[inicia2].nom_jug);
  463.                    scanf ("%d",&n);
  464.        if (n<1 || n>x)
  465.        {
  466.            printf("Error: las columnas posibles son de 1 a %d",x);
  467.            while (getchar()!='\n');
  468.        }  
  469. else if (tablero[1][n]!='.')
  470. {
  471. printf("\nError: la columna ya esta llena.\n ");
  472.     }
  473.    }while((n<1 || n>x) || (tablero[1][n]!='.'));
  474. for (k=x;k>=1;k--)
  475.    {
  476.            if (tablero[k][n]!='.')
  477.            {
  478.                continue;
  479.            }
  480.            else
  481.            {
  482.                tablero[k][n]='O';
  483.                break;
  484.            }
  485.    }
  486.    system("cls");    
  487. printf("\n Ultima jugada O: Columna %d\n",n);    
  488.    printf("\n\n");
  489.    for (i=1;i<=x;i++)
  490.    {
  491.        for (j=1;j<=x;j++)
  492.        {
  493.            printf("  ");
  494.            printf (" %c",tablero[i][j]);
  495.  
  496.        }
  497.        printf("\n\n");
  498.    }
  499.    for (i=1;i<=x;i++)
  500. {
  501.        printf("   %d",contador);
  502.        contador++;
  503.    }
  504.    printf("\n");
  505. }
  506. int limpiar(char nom_jug[40])
  507. {
  508.  
  509. int t;
  510. for (t=0; t<40; t++)
  511.    {
  512.     nom_jug[t]='\0';
  513.    }
  514. }
  515.  
24  Programación / Programación C/C++ / Re: Ayuda!!! Problema con cadena de caracteres en: 26 Junio 2013, 18:48 pm
Muchas gracias por su pronta ayuda, ahora tengo lo siguiente, en el codigo que detallo a continuacion me deja ingresar el nombre pero no la cedula, alguien sabe porque es?

Saludos

Código
  1. #include <stdio.h>
  2. #define tam_string 20
  3. #define ced_string 22
  4. main()
  5. {
  6. char arre[tam_string];
  7. char arreglo[ced_string];
  8. int t=0,j=0;
  9.  
  10.  
  11. for (t=0; t<=tam_string; t++)
  12.     {
  13.     arre[t]=' ';
  14.     }
  15.        printf("Ingrese Nombre: ");
  16.     scanf("%19[^\n]", arre);
  17.     printf("Nombre ingresado: ");
  18.     for (t=0;t<tam_string;t++)
  19.     {
  20.     printf("%c",arre[t]);
  21.     }
  22.  
  23.  
  24.     printf("\n");
  25.  
  26.  
  27.  
  28.     for (j=0; j<=ced_string; j++)
  29.     {
  30.     arreglo[j]=' ';
  31.     }
  32.     printf("Ingrese su cedula: ");
  33.     scanf("%21[^\n]", arreglo);
  34.     printf("Cedula ingresada: ");
  35.     for (j=0;j<ced_string;j++)
  36.     {
  37.     printf("%c",arreglo[j]);
  38.     }
  39. }
25  Programación / Programación C/C++ / Ayuda!!! Problema con cadena de caracteres en: 26 Junio 2013, 16:30 pm
Buenas que tal!!!
Les cuento realize un codigo para poder ingresar algunos datos pero cuando ingreso algo que tenga dos palabras separadas por un espacio solo me toma la primera, es decir no me toma el espacio como caracter. Necesito si me pueden ayudar a corregir el codigo, y asi poder imprimir dos palabras por un espacio.

Desde ya muchas gracias!


Código
  1. #include <stdio.h>
  2. #define tam_string 20
  3.  
  4. main()
  5. {
  6. char arre[tam_string];
  7. int t;
  8.  
  9. for (t=0; t<=tam_string; t++)
  10.    {
  11.     arre[t]=32;
  12.    }
  13.  
  14. printf("ingrese: ");
  15. scanf("%s",arre);
  16.  
  17.    for(t=0; t<tam_string; t++)
  18.        {
  19.         printf("%c",arre[t]);
  20.        }
  21.  
  22. }
26  Programación / Programación C/C++ / Re: Juego 4 en linea. Ayuda!!! en: 12 Junio 2013, 15:05 pm
Gracias leosansan, ahora, te pregunto, hay alguna manera de hacerlo sin tener que utilizar la funcion getchar? ya que no la dimos en clase y no se si la puedo utilizar.
algo como transformar el caracter de entrada en numero y asi que me marque el error?

Saludos
27  Programación / Programación C/C++ / Re: Juego 4 en linea. Ayuda!!! en: 11 Junio 2013, 19:57 pm
Me podrian decir porque entra en bucle cuando elijo un caracter? Que es lo que tengo que modificar?

Muchas gracias
28  Programación / Programación C/C++ / Re: Juego 4 en linea. Ayuda!!! en: 11 Junio 2013, 17:23 pm
Buenas! finalmente luego de unas cuantas horas podido hacer el juego. Lo posteo abajo para que me puedan corregir algunas cosas las cuales yo no me doy cuenta debido a que soy bastante nuevo en esto.

leosansan muchas gracias, me ha sido de gran ayuda tus consejos.


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define DIM 16
  4. int inicializar_tablero(char tablero[][DIM],int);
  5. int juegan_O_(char tabla[][DIM],int,int);
  6. int juegan_X_(char tablero[][DIM],int,int);
  7. int main()
  8. {
  9.    int n=0,i,j,x,resto=1,k=0,jugador,partida,victoria=0;
  10.    char d;
  11.    printf("\n\n\n     JUEGO CONECTA CUATRO\n\n\n\n\n\n\n");
  12.    printf("       Nueva partida (S/N): ");
  13.    do
  14.    {
  15.        scanf("%c",&d);
  16.        system("cls");
  17.        if (d=='n' || d=='N')
  18.        {
  19.            return 1;
  20.        }
  21.        if (d!='s' && d!='S')
  22.            printf("\nOpcion incorrecta. Elija: s / n  ");
  23.    }while (d!='s' && d!='S');
  24.    volver:
  25.     printf("\n\nIngresa la dimension del tablero de juego(4-15): ");
  26.    do
  27.    {
  28.        scanf (" %d",&x);
  29.        system("cls");
  30.        if (x<4 || x>15)
  31.            printf("\nOpcion no valida. Ingresa la dimension (4-15): ");
  32.    } while (x<4 || x>15);
  33.    system("cls");
  34.    char tablero[DIM][DIM];
  35.    printf("\n ELIJA JUGADOR\n\n\n");
  36.    printf("\n\n  1) JUGADOR 1 (X)\n");
  37.    printf("\n\n  2) JUGADOR 2 (O)\n");
  38.    elegir:
  39.    scanf("%d",&jugador);
  40.    system("cls");
  41.    if ((jugador!=1) && (jugador!=2))
  42.    {
  43.        printf("\nError: Los jugadores posibles son 1 y 2 ");
  44.        goto elegir;
  45.    }
  46.    do
  47.    {
  48.        inicializar_tablero(tablero,x);
  49.        while ((resto<=(x*x)) && (victoria!=1))
  50.        {
  51.            if (jugador==1)
  52.            {
  53.                jugador++;
  54.               juegan_X_(tablero,x,n);
  55.               for (i=1;i<=x;i++)
  56.           {
  57.     for (j=1;j<=x;j++)
  58. {
  59. if ((tablero[i][j]=='X') && ((tablero[i][j+1])=='X') && ((tablero[i][j+2])=='X') && ((tablero[i][j+3])=='X'))
  60. {
  61. victoria = 1;
  62. }
  63. else if ((tablero[i][j]=='X') && ((tablero[i+1][j])=='X') && ((tablero[i+2][j])=='X') && ((tablero[i+3][j])=='X'))
  64. {
  65. victoria = 1;
  66. }
  67. else if ((tablero[i][j]=='X') && ((tablero[i+1][j-1])=='X') && ((tablero[i+2][j-2])=='X') && ((tablero[i+3][j-3])=='X'))
  68. {
  69. victoria = 1;
  70. }
  71. else if ((tablero[i][j]=='X') && ((tablero[i+1][j+1])=='X') && ((tablero[i+2][j+2])=='X') && ((tablero[i+3][j+3])=='X'))
  72. {
  73. victoria = 1;
  74. }
  75. }
  76.   }
  77.               if (victoria == 1)
  78.               {
  79.               printf("\nJUGADOR 1 GANA!!!\n");
  80.               }
  81.               else
  82.               {
  83.               resto++;
  84.               }
  85.            }
  86.            else if (jugador == 2)
  87.            {
  88.                jugador--;
  89. juegan_O_(tablero,x,n);
  90. for (i=1;i<=x;i++)
  91.           {
  92.     for (j=1;j<=x;j++)
  93. {
  94. if ((tablero[i][j]=='O') && ((tablero[i][j+1])=='O') && ((tablero[i][j+2])=='O') && ((tablero[i][j+3])=='O'))
  95. {
  96. victoria = 1;
  97. }
  98. else if ((tablero[i][j]=='O') && ((tablero[i+1][j])=='O') && ((tablero[i+2][j])=='O') && ((tablero[i+3][j])=='O'))
  99. {
  100. victoria = 1;
  101. }
  102. else if ((tablero[i][j]=='O') && ((tablero[i+1][j-1])=='O') && ((tablero[i+2][j-2])=='O') && ((tablero[i+3][j-3])=='O'))
  103. {
  104. victoria = 1;
  105. }
  106. else if ((tablero[i][j]=='O') && ((tablero[i+1][j+1])=='O') && ((tablero[i+2][j+2])=='O') && ((tablero[i+3][j+3])=='O'))
  107. {
  108. victoria = 1;
  109. }
  110. }
  111.   }
  112.               if (victoria == 1)
  113.               {
  114.               printf("\nJUGADOR 2 GANA!!!\n");
  115.               }
  116.               else
  117.               {  
  118.                resto++;
  119.               }
  120.            }
  121.        if (resto > (x*x) && (victoria!=1))
  122.         {
  123.         printf("\n\nEMPATE\n\n");
  124.            }
  125.        }
  126.    }while ((resto<=(x*x)) && (victoria!=1));
  127.    resto = 1;
  128.    victoria = 0;
  129.    printf("\nPara jugar nuevamente presione 1: ");
  130.    scanf("%d",&partida);
  131.    system("cls");
  132.    if (partida == 1)
  133.    {
  134.     goto volver;
  135.    }
  136.    system("PAUSE");
  137. }
  138. int inicializar_tablero(char tablero[DIM][DIM],int x)
  139. {
  140. int i,j;
  141. for (i=1; i<=x; i++)
  142. {
  143. for (j=1;j<=x; j++)
  144. {
  145. printf("%c ",tablero[i][j]='.');
  146. }
  147. printf("\n");
  148. }
  149.  
  150. }
  151. int juegan_X_(char tablero[DIM][DIM],int x,int n)
  152. {
  153. int i,j,k;
  154. do
  155.    {
  156.        printf("\nJuega JUGADOR 1: ");
  157.                    scanf ("%d",&n);
  158.        if (n<1 || n>x)
  159.        {
  160.            printf("Error: las columnas posibles son de 1 a %d",x);
  161.        }  
  162. else if (tablero[1][n]!='.')
  163. {
  164. printf("\nError: la columna ya esta llena.\n ");
  165.     }
  166.    }while((n<1 || n>x) || (tablero[1][n]!='.'));
  167. for (k=x;k>=1;k--)
  168.    {
  169.            if (tablero[k][n]!='.')
  170.                continue;
  171.            else
  172.            {
  173.                tablero[k][n]='X';
  174.                break;
  175.            }
  176.    }
  177.       system("cls");  
  178.   printf("\nUltima jugada X: Columna %d\n",n);      
  179.    printf("\n");
  180.    for (i=1;i<=x;i++)
  181.    {
  182.        for (j=1;j<=x;j++)
  183.        {
  184.            printf ("%c ",tablero[i][j]);
  185.  
  186.        }
  187.        printf("\n");
  188.    }
  189. }
  190. int juegan_O_(char tablero[DIM][DIM],int x,int n)
  191. {
  192. int i,j,k;
  193. do
  194.    {
  195.        printf("\nJuega JUGADOR 2: ");
  196.                    scanf ("%d",&n);
  197.        if (n<1 || n>x)
  198.        {
  199.            printf("Error: las columnas posibles son de 1 a %d",x);
  200.        }  
  201. else if (tablero[1][n]!='.')
  202. {
  203. printf("\nError: la columna ya esta llena.\n ");
  204.     }
  205.    }while((n<1 || n>x) || (tablero[1][n]!='.'));
  206. for (k=x;k>=1;k--)
  207.    {
  208.            if (tablero[k][n]!='.')
  209.                continue;
  210.            else
  211.            {
  212.                tablero[k][n]='O';
  213.                break;
  214.            }
  215.    }
  216.       system("cls");    
  217.   printf("\nUltima jugada O: Columna %d\n",n);    
  218.    printf("\n");
  219.    for (i=1;i<=x;i++)
  220.    {
  221.        for (j=1;j<=x;j++)
  222.        {
  223.            printf ("%c ",tablero[i][j]);
  224.  
  225.        }
  226.        printf("\n");
  227.    }
  228. }
  229.  
29  Programación / Programación C/C++ / Re: Juego 4 en linea. Ayuda!!! en: 6 Junio 2013, 21:26 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.  
  6.    char d;
  7.    bool termino = false;
  8.    int n=0,i=0,j=0,dim1=0,dim2=0,resto=1,contador=1;
  9.    printf("\n\n\n     JUEGO CUATRO EN LINEA\n\n\n\n\n\n\n");
  10.    printf("       Nueva partida (S/N)  ");
  11.    scanf("%c",&d);
  12.    printf("\n");
  13.    printf("       JUGADOR 1  \n");
  14.    printf("       JUGADOR 2    ");
  15.    switch (d)
  16.    {
  17.        case 'N':case 'n':
  18.        termino = true;
  19.        break;
  20.         default: printf("\n\nError");
  21.        break;
  22.        case 'S': case's':
  23.    printf("\n\n\n\nIngresa la dimension del tablero de juego:\n\n");
  24.    scanf (" \n%d",&dim2);
  25.    dim1 = dim2;
  26.    char matriz[dim1][dim2];
  27.    do
  28.    {
  29.        for (i=1;i<=dim1;i++)
  30.        {
  31.            for (j=1;j<=dim2;j++)
  32.            {
  33.                if ((matriz[i][j]!='X') && (matriz[i][j]!='O'))
  34.                {
  35.                    printf("%c ",'.');
  36.                }
  37.                else
  38.                {
  39.                    printf ("%c ",'X');
  40.                }
  41.            }
  42.            printf("\n");
  43.        }
  44.        while (resto<=(dim2*dim2))
  45.        {
  46.         if ((resto%2)==0)
  47.        {
  48.         printf("\nJuega JUGADOR 1: ");
  49.         scanf (" %d",&n);
  50.            matriz[dim1][n]='O';
  51.            printf ("%c\n",matriz[dim1][n]);
  52.            for (i=1;i<=dim1;i++)
  53.            {
  54.            for (j=1;j<=dim2;j++)
  55.            {
  56.                  if ((matriz[i][j]=='X') || (matriz[i][j]=='O'))
  57.                {
  58.                   matriz[dim1-1][n]='O';   /* corregir */
  59.                }
  60.                if ((matriz[i][j]!='X') && (matriz[i][j]!='O'))
  61.                {
  62.                    printf("%c ",'.');
  63.                }
  64.                else
  65.                {
  66.                    if ((matriz[i][j]!='X') && (matriz[i][j]!='.'))
  67.                    {
  68. printf ("%c ",'O');
  69.                    }
  70. else
  71. {
  72.         printf ("%c ",'X');
  73.                    }
  74.                }
  75.            }
  76.            printf("\n");
  77.        }
  78.    }
  79.        else
  80.        {
  81.         printf("\nJuega JUGADOR 2: ");
  82.            scanf (" %d",&n);
  83.            matriz[dim1][n]='X';
  84.            printf ("%c\n",matriz[dim1][n]);
  85.            for (i=1;i<=dim1;i++)
  86.        {
  87.            for (j=1;j<=dim2;j++)
  88.            {
  89.                 if ((matriz[i][j]=='X') || (matriz[i][j]=='O'))
  90.                {
  91.                   matriz[dim1-1][n]='X';   /* corregir */
  92.                }
  93.                if ((matriz[i][j]!='X') && (matriz[i][j]!='O'))
  94.                {
  95.                    printf("%c ",'.');
  96.                }
  97.                else
  98.                {
  99.                if ((matriz[i][j]!='X') && (matriz[i][j]!='.'))
  100.                {
  101. printf ("%c ",'O');
  102.                }
  103. else
  104. {
  105.     printf ("%c ",'X');
  106.                    }
  107.                }
  108.  
  109.            }
  110.            printf("\n");
  111.        }
  112.        }
  113.        resto++;
  114.        }
  115.        printf("EMPATE\n\n");
  116.        system("PAUSE");
  117.     }while (1);
  118.    return 0;
  119.    break;
  120.  
  121.    }
  122.    while (!termino);
  123. }
  124.  
  125.  
30  Programación / Programación C/C++ / Re: Juego 4 en linea. Ayuda!!! en: 6 Junio 2013, 21:20 pm
leosansan como estas?

Eh estado tratando de solucionar los problemas que me marcaste, mas precisamente que me imprima hacia arriba las jugadas pero no lo eh lo grado me podrias decir en que estoy fallando?

Cuelgo el codigo a continuacion

Muchas gracias

Código
  1. leosansan como estas?
  2.  
  3. Eh estado tratando de solucionar los problemas que me marcaste, mas precisamente que me imprima hacia arriba las jugadas pero no lo eh lo grado me podrias decir en que estoy fallando?
  4.  
  5. Cuelgo el codigo a continuacion
  6.  
  7. Muchas gracias
Páginas: 1 2 [3] 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines