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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 [2] 3 4
11  Informática / Electrónica / Ayudaaa!!! Ejercicios Circuitos! en: 9 Mayo 2014, 14:17 pm
Buenas!
Necesito construir un circuito combinacional que acepte como entrada un numero de 3 bits (binario) y me genere un binario de salida igual al cuadrado del numero de entrada.
 Estoy desesperando ya he estado horas intentando y no lo logro construir!

Saludos y muchas gracias!!!
12  Informática / Electrónica / Re: Ayuda!!! XNOR de 4 entradas con puertas NOR en: 9 Mayo 2014, 01:25 am
Muchas gracias adrianmendezRap, que programa utilizas para construir los circuitos?

porque yo utilizo el TK GATE pero a veces en W7 se me cuelga
13  Informática / Electrónica / Re: Ayuda!!! XNOR de 4 entradas con puertas NOR en: 9 Mayo 2014, 01:14 am
uso el TKGATE para construir los circuitos pero no se como pegar la impresion de pantalla aca, o el archivo, perdon pero soy nuevo en esto
14  Informática / Electrónica / Ayuda!!! XNOR de 4 entradas con puertas NOR en: 9 Mayo 2014, 00:59 am
Buenas!!!

Necesito hacer un circuito XNOR de 4 entradas y una salida pero tiene que ser solo con puertas NOR. Logre hacer el mismo con dos entradas pero con 4 se me complica,

Alguien que me ayude!!! por favor!
15  Programación / Bases de Datos / Ayuda con MER urgentee!!! en: 13 Septiembre 2013, 14:20 pm
Buenas,

Me han pedido en mi clase de BASE DE DATOS, una tarea que realize un MER del siguiente problema y la verdad estoy un poco perdido, agradeceria mucho si alguien me puede dar una mano.


LETRA DEL PROBLEMA:

Se desea modelar la realidad correspondiente a una empresa que pretende tener control sobre las
compras que realiza y a qué proveedor lo hace.
La empresa tiene un conjunto de sucursales distribuidas en todo el Uruguay.
De cada sucursal se conoce la ubicación (dirección, nombre de la ciudad y nombre del
departamento dentro del Uruguay), un código que la identifica dentro de la empresa, y un
conjunto de teléfonos.
Cada sucursal tiene varios departamentos (técnico, de ventas, etc.). De cada departamento se
conoce el nombre, una descripción de su cometido y la cantidad de personas que trabajan en él.
El nombre identifica al departamento dentro de una sucursal pero no dentro de la empresa.
Cada departamento va registrando pedidos de artículos de acuerdo a sus necesidades. Luego, y a
partir de un conjunto de pedidos se arma una orden de compra.
De cada pedido se conoce un identificador único del pedido, el artículo que se pide, la cantidad
que se pide, la fecha en la que se realiza el pedido, la fecha en la que se espera contar con el
material y qué departamento realizó dicho pedido.
De cada artículo se conoce un código que lo identifica, su nombre y una descripción. De las
órdenes de compra se registra su identificador, una descripción breve de en qué consiste la
compra, la fecha en la que se arma, la fecha tope para la recepción de ofertas por parte de los
proveedores y los pedidos que la componen. Hay pedidos que nunca participan de una orden de
compra. La fecha en que se arma no debe ser anterior a las fechas de realización de los pedidos.
Las órdenes de compras puede ser de dos tipos, grandes o chicas. Las compras chicas pueden
ser urgentes o normales.
La empresa tiene además un registro de proveedores. De cada proveedor se conoce su RUT que
lo identifica, el nombre, la dirección, el teléfono, los rubros a los que se dedica además del
detalle de que artículos provee. El precio de venta de un artículo depende del proveedor.
A su vez, interesa registrar los proveedores que están relacionados comercialmente entre sí.
Para cada pedido de una orden de compra, interesa registrar que proveedores realizan una oferta
para satisfacer ese pedido (que es única), por qué precio unitario y la fecha en que presentaron la
oferta.
Los proveedores que mejor satisfacen el pedido de la orden de la compra resultan adjudicados
para proveer el mismo. Interesa llevar el registro de las adjudicaciones (o resoluciones de
compra) que se hacen. De cada adjudicación se conoce un identificador, la fecha en la que se
tomo la resolución y la orden de compra que resuelve, qué es única. Además, interesa registrar
para cada adjudicación, a cuáles proveedores se les adjudicó qué pedido (siempre de la misma
orden de compra) indicando a qué precio y qué cantidad. La fecha de adjudicación no debe ser
anterior a la fecha en la que se arma la orden de compra.
Se debe realizar un MER completo que modele la realidad antes descripta.
16  Programación / Programación C/C++ / Re: Ayuda! Problema de un menu!!! en: 4 Julio 2013, 20:09 pm
Bueno eh podido hacer que me almacene las partidas pero lo que no puedo es que me indique el ganador de cada partida alguien me puede ayudar con esto?


Muchas gracias

Nota : en la linea 200 me tira un error cuando cito a la funcion 4 en linea, algeuin sabe porque es?



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

Saludos

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.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. /*PROCEDIMIENTOS Y FUNCIONES*/
  16.  
  17.  
  18. struct jugador
  19. {
  20.  char nom_jug[40];
  21.  char ced_jug[8];
  22. };
  23.  
  24. struct partida
  25. {
  26.  struct jugador jugador1;
  27.  struct jugador jugador2;
  28. };
  29.  
  30. char nom_jug[40];
  31. char ced_jug[8];
  32.  
  33.  
  34. void inicializar_tablero(char tablero[][DIM],int);
  35. int juegan_O_(char tabla[][DIM],int,int);
  36. int juegan_X_(char tablero[][DIM],int,int);
  37. int cuatro_en_linea(char tablero[][DIM],int);
  38. int limpiar(char nom_jug[]);
  39.  
  40. int main()
  41. {
  42. struct partida partidas[500];
  43.  
  44.    char tablero[DIM][DIM];
  45.    int x,opcion,victoria=1,nombre1,nombre2,contador=1,correcta=1,aux=1,sumador = 0;
  46.    int inicia1 = 0;
  47. int inicia2 = 0, jugar=1, part,aux2;
  48.    do
  49. {
  50. system("cls");
  51.    printf("\n\n\n     JUEGO CUATRO EN LINEA\n\n\n\n\n");
  52.    printf("  1) Ingresar datos del primer jugador\n\n");
  53.    printf("  2) Ingresar datos del segundo jugador\n\n");
  54.    printf("  3) Jugar\n\n");
  55.    printf("  4) Listar todos los juegos realizados\n\n");
  56.    printf("  5) Salir\n\n\n");
  57.    if (contador%2==0)
  58.     {
  59.     printf("  Error: Antes de jugar debe ingresar los datos de los dos jugadores. \n\n\n");
  60.     printf("  REINGRESE SU OPCION: ");
  61. contador--;
  62.     }
  63.     if (correcta%2==0)
  64.     {
  65.     printf("  Opcion incorrecta \n\n\n");
  66.     printf("  REINGRESE SU OPCION: ");
  67.     correcta--;
  68.     }
  69.     if (aux%2==0)
  70.     {
  71.     printf("  No se han realizado juegos. \n\n\n");
  72.     aux--;
  73.     }
  74.  
  75.    scanf("%d",&opcion);
  76.    system("cls");
  77.    switch (opcion)
  78.    {
  79.    case 1:  /*OPCION 1 DEL MENU*/
  80.    {
  81.     limpiar(nom_jug);
  82.     limpiar(ced_jug);
  83.     while(getchar() != '\n');
  84.     printf("\n Ingrese su Nombre: ");
  85.     do
  86.     {
  87.     scanf("%39[^\n]",jugador[inicia1].nom_jug);
  88.     if ((jugador[inicia1].nom_jug[0]=='\0') || (jugador[inicia1].nom_jug[0]==' '))
  89.     {
  90.     printf(" ERRR\n");
  91.     printf(" Ingrese nuevamente Nombre: ");
  92.     }
  93. else
  94. {
  95.  
  96. for (nombre1=0;nombre1<40;nombre1++)
  97.     {
  98.     nom_jug[nombre1];
  99.     }
  100.     system("cls");
  101. }while(getchar() != '\n');
  102.        }while((jugador[inicia1].nom_jug[0]=='\0') || (jugador[inicia1].nom_jug[0]==' '));
  103.     printf("\n Ingrese su cedula: ");
  104.     do
  105.     {
  106.     scanf("%8[^\n]",jugador[inicia1].ced_jug);    
  107.     if ((jugador[inicia1].ced_jug[0]=='\0') || (jugador[inicia1].ced_jug[0]==' '))
  108.     {
  109.     printf(" ERRR\n");
  110.     printf(" Ingrese nuevamente su cedula: ");
  111.     }
  112. else
  113. {
  114.  
  115. for (nombre1=0;nombre1<8;nombre1++)
  116.     {
  117.     ced_jug[nombre1];
  118.     }
  119.        system("cls");
  120.     printf("\n");
  121. }while(getchar() != '\n');
  122.        }while((jugador[inicia1].ced_jug[0]=='\0') || (jugador[inicia1].ced_jug[0]==' '));
  123.        printf("\n    DATOS INGRESADOS\n");
  124.        printf("\n\n   Nombre ingresado: %s",jugador[inicia1].nom_jug);
  125.     printf("\n\n   Cedula ingresada: %s",jugador[inicia1].ced_jug);
  126.     jugar++;
  127.     break;
  128.     }
  129.    case 2:  /*OPCION 2 DEL MENU*/
  130.    {
  131.     limpiar(nom_jug);
  132.     limpiar(ced_jug);
  133.     while(getchar() != '\n');
  134.     printf("\n Ingrese su Nombre: ");
  135.     do
  136.     {
  137.     scanf("%39[^\n]",jugador[inicia2].nom_jug);
  138.     if ((jugador[inicia2].nom_jug[0]=='\0') || (jugador[inicia2].nom_jug[0]==' '))
  139.     {
  140.     printf(" ERROR\n");
  141.     printf(" Ingrese nuevamente Nombre: ");
  142.     }
  143. else
  144. {
  145.  
  146. for (nombre2=0;nombre2<40;nombre2++)
  147.     {
  148.     nom_jug[nombre2];
  149.     }
  150.     system("cls");
  151. }while(getchar() != '\n');
  152.        }while((jugador[inicia2].nom_jug[0]=='\0') || (jugador[inicia2].nom_jug[0]==' '));
  153.     printf("\n Ingrese su cedula: ");
  154.     do
  155.     {
  156.     scanf("%8[^\n]",jugador[inicia2].ced_jug);    
  157.     if ((jugador[inicia2].ced_jug[0]=='\0') || (jugador[inicia2].ced_jug[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((jugador[inicia2].ced_jug[0]=='\0') || (jugador[inicia2].ced_jug[0]==' '));
  173.        printf("\n    DATOS INGRESADOS\n");
  174.        printf("\n\n   Nombre ingresado: %s",jugador[inicia2].nom_jug);
  175.     printf("\n\n   Cedula ingresada: %s",jugador[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.     jugar++;
  178.     break;
  179.     }
  180.    case 3: /*OPCION 3 DEL MENU*/
  181.    {
  182.     if (jugar<3)
  183.     {
  184.     contador++;
  185.  
  186.     }
  187.     else  
  188.     {
  189.        cuatro_en_linea(tablero,opcion);
  190.        sumador++;
  191.  
  192.        }
  193.        break;
  194.    }
  195.    case 4: /*OPCION 4 DEL MENU*/
  196.    {
  197.     if (sumador<1)
  198.     {
  199.     aux++;
  200.     }
  201.     else
  202.  
  203.     {
  204.             part=1;
  205.             aux2=0;  
  206.             for(aux2=0;aux2<sumador;aux2++){
  207.             printf("Partida %d\n",part);
  208.             part++;
  209.             printf("\n");
  210.             printf("Jugador 1: %s\n",jugador[aux2].nom_jug);
  211.             printf("Cedula:    %s\n",jugador[aux2].ced_jug);
  212.             printf("Jugador 2: %s\n",jugador[aux2].nom_jug);
  213.             printf("Cedula:    %s\n",jugador[aux2].ced_jug);
  214.              printf("\n");
  215.  
  216.  
  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. }
18  Programación / Programación C/C++ / Re: Ayuda! Problema de un menu!!! en: 3 Julio 2013, 01:06 am
Bueno eh estado todo el dia con este codigo y no logro hacer que me almacene todos los jugadores en la opcion cuatro! Por favor si alguien me puede ayudar con este codigo se los agradezco.


Saludos!
19  Programación / Programación C/C++ / Re: Ayuda! Problema de un menu!!! en: 2 Julio 2013, 18:02 pm
eferion. muchas gracias por tus consejos, estoy intentando mejorar el codigo pero se me esta haciendo realmente muy dificil, igualmente seguire luchando con el, ni bien tenga algo lo publico.

Muchas gracias de verdad!
20  Programación / Programación C/C++ / Re: Ayuda!!! Struct para un menu! en: 2 Julio 2013, 14:47 pm
Como que esta duplicado?
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines