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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Bingo estructuras ayuda
« en: 4 Septiembre 2017, 20:54 pm »

Estamos haciendo un bingo con estructuras en C pero nos da un error en la linea 66 "expected primary expression before , token" help plz.

Código
  1. /*Manejo de estructuras*/
  2. #include<stdio.h>
  3. #include<iostream.h>
  4. #include<string.h>
  5. #include<windows.h>
  6. #include <stdlib.h>
  7. #include <time.h>
  8. #include <conio.h>
  9.  
  10. //struct
  11. typedef struct carton{
  12.  int a[5][5];
  13.  };
  14. typedef struct cartonM{
  15.  int b[15][5];
  16.  };
  17.  
  18. void gotoxy(int fila,int col);
  19. void generar_c(carton *cart);
  20. void generar_cartonM(cartonM *cartM);
  21. void imprimir(carton *cart, int fil, int col);
  22. void imprimirM(cartonM *cartM, int fil, int col);
  23. void marcar_carton(int num,carton *cart,cartonM *cartM);
  24. int asignar_columna(int fila,int columna,carton *cart, int limite);
  25. int asignar_columnaM(int fila,int columna,cartonM *cartM, int limite);
  26. int cantar(int limite,cartonM *cartM);
  27. bool sin_repetir_pizarra(int num,cartonM *cartM);
  28.  
  29. int main(){
  30.    srand (time(NULL));
  31.    carton jugador,maquina;
  32.    cartonM maestra,limite;
  33.    char opcion='0';
  34.  
  35.    while(opcion!='3'){
  36.        system("cls");
  37.        printf("[1] MOSTRAR CARTON \n");
  38.        printf("[2] CANTAR NUMEROS \n");
  39.        printf("[3] Salir\n");
  40.        printf("Ingrese opcion:\n");
  41.        opcion=getch();
  42.        switch(opcion){
  43. case '1':
  44.                 system("cls");
  45.                 //jugador
  46.                 generar_c(&jugador);
  47.                 imprimir(&jugador,2,2);
  48.                 //maquina
  49.                 generar_c(&maquina);
  50.                 imprimir(&maquina,2,20);
  51.                 //Maestra
  52.                 generar_cartonM(&maestra);
  53.                 imprimirM(&maestra,2,50);
  54.                 system("pause");                    
  55.                 break;
  56. case '2':
  57.                system("cls");
  58.                 //jugador
  59.                 imprimir(&jugador,2,2);
  60.                 //maquina
  61.                 imprimir(&maquina,2,20);
  62.                 //Maestra
  63.                 imprimirM(&maestra,2,50);
  64.                 //cantar
  65.                 cantar(&limite,&cartonM);
  66.                 cantar(&limite,&cartonM);
  67.                 system("pause");                    
  68.                 break;    
  69.     case '3':
  70.                exit(0);
  71.                break;
  72.  
  73. default:
  74.                system("cls");
  75.                printf("Opcion invalida\n");
  76.                system("pause");
  77.                break;
  78.        }//fin de switch
  79.  
  80.    }    
  81.    system("pause");
  82.    return 0;
  83. }
  84.  
  85.  
  86. //generar los cartones
  87. int asignar_columna(int fila,int columna,carton *cart, int limite){
  88.  
  89.    int num=0;
  90. num=limite+(rand()%15);
  91. for(int k=0; k< fila; k++)      //Numeros que no se repitan
  92.                {
  93.           if(num==cart->a[k][columna])
  94.           {
  95.             num = limite+(rand()%15);
  96.             k=-1;                          
  97.           }
  98. }  
  99.  
  100.     return num;
  101. }    
  102. int asignar_columnaM(int fila,int columna,cartonM *cartM, int limite){
  103.  
  104.    int num=0;
  105. num=limite+(rand()%15);
  106. for(int k=0; k< fila; k++)      //Numeros que no se repitan
  107.                {
  108.           if(num==cartM->b[k][columna])
  109.           {
  110.             num = limite+(rand()%15);
  111.             k=-1;                          
  112.           }
  113. }  
  114.  
  115.     return num;
  116. }    
  117.  
  118. void generar_c(carton *cart){//Jugador y Maquina
  119.  
  120.    int num=0;
  121.    for(int j=0, limite=1;j<5;j+=1,limite+=15){//columna
  122.            for(int i=0;i<5;i+=1){//fila
  123.                num=asignar_columna(i,j,cart,limite); //Numeros que no se repitan
  124. cart->a[i][j]=num;
  125.         }
  126.    }
  127. }
  128. void generar_cartonM(cartonM *cartM){//Maestra
  129.    int num=0;
  130.    for(int j=0, limite=1;j<5;j+=1,limite+=15){//columna  
  131.            for(int i=0;i<15;i+=1){//fila
  132.                num=asignar_columnaM(i,j,cartM,limite);
  133. cartM->b[i][j]=0;  
  134.         }
  135.    }
  136. }
  137.  int cantar(int limite,cartonM *cartM){
  138.    int num=0;
  139.    int i,dupl;
  140.    for(int i=0;i<75;i+=1){
  141.       do{  
  142.      num = limite+(rand()%75);
  143.          }while(sin_repetir_pizarra(num,cartM));
  144.  
  145.      if(num<=15){
  146.        printf("B %i\n",num);
  147.     }
  148.     else
  149.         if(num>15 && num<=30){
  150.         printf("I %i\n",num);
  151.         }
  152.         else
  153.             if(num>30 && num<=45){
  154.             printf("N %i\n",num);
  155.             }
  156.             else
  157.                 if(num>45 && num<=60){
  158.                 printf("G %i\n",num);
  159.                 }
  160.                 else{
  161.                 printf("0 %i\n",num);
  162.                 }
  163.         return 0;
  164.     }
  165. }
  166. bool sin_repetir_pizarra(int num,cartonM *cartM){
  167.    for(int i=0; i<15; i++){        
  168.        if((num>=1) && (num<=15)){
  169.            if(num == cartM->b[i][0]){//SI EL NUMERO ESTA DEVUELVE VERDADERO
  170.                return true;
  171.            }
  172.        }      
  173.  
  174.        if((num>=16) && (num<=30)){
  175.            if(num == cartM->b[i][1]){//SI EL NUMERO ESTA DEVUELVE VERDADERO
  176.                return true;
  177.            }  
  178.        }
  179.  
  180.        if((num>=31) && (num<=45)){
  181.            if(num == cartM->b[i][2]){//SI EL NUMERO ESTA DEVUELVE VERDADERO
  182.                return true;
  183.            }    
  184.        }
  185.  
  186.        if((num>=46) && (num<=60)){
  187.            if(num == cartM->b[i][3]){//SI EL NUMERO ESTA DEVUELVE VERDADERO
  188.                return true;
  189.            }  
  190.        }
  191.  
  192.        if((num>=61) && (num<=75)){
  193.            if(num == cartM->b[i][4]){//SI EL NUMERO ESTA DEVUELVE VERDADERO
  194.                return true;
  195.            }    
  196.        }
  197.    }
  198.    return false;      
  199. }
  200. void marcar_carton(int num,carton *cart,cartonM *cartM){
  201. for(int i=0;i<5,i<15;i+=1){//filas
  202.        for(int j=0;j<5;j+=1){//columnas
  203.  
  204.    if(cart->a[i][j]==num){
  205.      cart->a[i][j]=0;
  206.    }
  207.    if(cart->a[i][j]==num){
  208.      cart->a[i][j]=0;
  209.    }
  210.    if(cartM->b[i][j]==0){
  211.        if (num<=15){
  212.            cartM->b[num-1][0]=num;
  213.        }
  214.    }
  215.    if(cartM->b[i][j]==0){
  216.        if (num>15 && num<=30){
  217.            cartM->b[num-16][1]=num;
  218.        }  
  219.     }
  220.    if(cartM->b[i][j]==0){
  221.        if (num>30 && num<=45){
  222.            cartM->b[num-31][2]=num;
  223.        }
  224.    }
  225.    if(cartM->b[i][j]==0){
  226.        if (num>45 && num<=60){
  227.            cartM->b[num-46][3]=num;
  228.        }
  229.    }
  230.    if(cartM->b[i][j]==0){
  231.        if (num>60 && num<=75){    
  232.            cartM->b[num-61][4]=num;
  233.            }
  234.     }  
  235.    }
  236. }
  237. }
  238. //imprimir
  239. void imprimir(carton *cart, int fil, int col){
  240.    int c=col;
  241.    gotoxy(fil-2,col);printf("B");
  242.    gotoxy(fil-2,col+4);printf("I");
  243.    gotoxy(fil-2,col+7);printf("N");
  244.    gotoxy(fil-2,col+10);printf("G");
  245.    gotoxy(fil-2,col+13);printf("O");
  246.  
  247.    for(int i=0;i<5;i+=1){//filas
  248.        for(int j=0;j<5;j+=1){//columnas
  249.            gotoxy(fil,col);printf("%i",cart->a[i][j]);
  250.            col+=3;
  251.        }
  252.        col=c;
  253.        fil+=3;
  254.    }
  255. }
  256. void imprimirM(cartonM *cartM, int fil, int col){//Maestra
  257.    int c=col;
  258.    gotoxy(fil-2,col);printf("B");
  259.    gotoxy(fil-2,col+4);printf("I");
  260.    gotoxy(fil-2,col+7);printf("N");
  261.    gotoxy(fil-2,col+10);printf("G");
  262.    gotoxy(fil-2,col+13);printf("O");
  263.  
  264.    for(int i=0;i<15;i+=1){//filas
  265.        for(int j=0;j<5;j+=1){//columnas
  266.            gotoxy(fil,col);printf("%i",cartM->b[i][j]);
  267.            col+=3;
  268.        }
  269.        col=c;
  270.        fil+=3;
  271.    }
  272. }
  273. void gotoxy(int fila,int col){
  274. HANDLE hConsoleOutput;
  275. COORD d;
  276. hConsoleOutput = GetStdHandle (STD_OUTPUT_HANDLE);
  277. d.X=col; d.Y=fila;
  278. SetConsoleCursorPosition (hConsoleOutput, d);
  279. }
  280.  


« Última modificación: 5 Septiembre 2017, 01:09 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Bingo estructuras ayuda
« Respuesta #1 en: 5 Septiembre 2017, 01:13 am »

estás mezclando c y c++ en un desastre (como ese iostream.h ...)

linea 66
Código
  1. cantar(&limite,&cartonM);

cartonM es un tipo no una variable... es como que pases
Código
  1. int a=10:
  2. sumar(&a, &int);


estás haciendo un puntero... a un tipo... y eso no funciona


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con estructuras
Programación C/C++
chechopineda 8 4,817 Último mensaje 16 Agosto 2010, 04:19 am
por chechopineda
Ayuda con estructuras « 1 2 »
Programación C/C++
eltoffer 15 7,394 Último mensaje 5 Febrero 2011, 23:53 pm
por Garfield07
Ayuda con estructuras
Programación C/C++
elle_hack 4 2,791 Último mensaje 12 Junio 2012, 07:15 am
por elle_hack
Estructuras dentro de Estructuras (Visual Basic 2013)
.NET (C#, VB.NET, ASP)
Tazmania40 0 1,670 Último mensaje 3 Marzo 2017, 21:44 pm
por Tazmania40
Ayuda programa de BINGO en C
Programación C/C++
MILAGRITOS 2 5,580 Último mensaje 26 Julio 2017, 19:36 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines