• Miércoles 1 de Abril de 2026, 09:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - samu_dnet

Páginas: [1]
1
C/C++ / Re: Fallo de Segmentación???
« en: Lunes 14 de Septiembre de 2009, 16:36 »
MUUUUUCHAS GRACIAS!!
Ya lo he corregido y se ejecuta sin errores!!! Gracias por aclararme lo de los arrays!!
incluso ya puedo poner
Código: C++
  1.    baraja()
  2.      {
  3.        for (int i = 0; i < 13; i++)
  4.      {
  5.        for (int u = 0; u < 4 ; u++)
  6.          {
  7.            Carta[i][u].asignar(i,u);
  8.          }
  9.      }
  10.      }
  11.  
que antes me dava otro error xD.

2
C/C++ / Re: Fallo de Segmentación???
« en: Lunes 14 de Septiembre de 2009, 15:57 »
entonces un array por ejemplo myarray[4] va de 0 a 3 ???
por que yo tengo puesto carta[12] y si se para en 11 no me va vien, deberia poner carta[13] (de la as al rey), Muchas gracias por las respuestas la verdad ahora mismo estoy un poco desconcertado xD.

3
C/C++ / Re: Fallo de Segmentación???
« en: Lunes 14 de Septiembre de 2009, 15:15 »
gracias por la respuesta, si esto ya lo sabia, pero el problema es que si en el bucle for le pongo a " i < 12 " óno se ejecuta la instrucción y el objeto carta
  • no se asigna acaba en 11 por eso puse 13, es que parece imposible xD

4
C/C++ / Fallo de Segmentación???
« en: Lunes 14 de Septiembre de 2009, 12:34 »
un fallo de segmentacion que no llego a comprender!!
pruebas.cpp
Código: C++
  1. #include "pruebas.h"
  2.  
  3. int main()
  4.  {
  5.    baraja Baraja = new baraja();
  6.    return 0;
  7.  }
  8.  
  9.  
pruebas.h
Código: C++
  1.  
  2. #if !defined (_PRUEBAS_H_)
  3. #define _PRUEBAS_H
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. //////////////////  C A R T A ///////////////////////////////////////////////
  8. class carta
  9. {
  10.   //Variables y tipos propios
  11. public:
  12.   enum valores{as,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,sota,reina,rey};
  13.   enum palos{picas,corazones,treboles,rombos};
  14.   valores valor;
  15.   palos palo;
  16.   bool ex;
  17.  
  18.   //Mostrar en Consola
  19.   void mostrar()
  20.   {
  21.     cout << endl << valores(valor)<<endl<<palos(palo)<<endl;
  22.   }
  23.  
  24.   //Constructor
  25.   carta(){ex = false;}
  26.   carta(valores Valor,palos Palo)
  27.   {
  28.     valor = Valor;
  29.     palo = Palo;
  30.     ex = false;
  31.   }
  32.   // Metodo Asignación
  33.   void asignar(int a, int b)
  34.   {
  35.     switch (a)
  36.       {
  37.       case 0:valor = as;cout << endl<<"Asignado AS ";break;
  38.       case 1:valor = dos;cout << endl<<"Asignado DOS ";break;
  39.       case 2:valor = tres;cout << endl<<"Asignado TRES ";break;
  40.       case 3:valor = cuatro;cout << endl<<"Asignado CUATRO ";break;
  41.       case 4:valor = cinco;cout << endl<<"Asignado CINCO ";break;
  42.       case 5:valor = seis;cout << endl<<"Asignado SEIS ";break;
  43.       case 6:valor = siete;cout << endl<<"Asignado SIETE ";break;
  44.       case 7:valor = ocho;cout << endl<<"Asignado OCHO ";break;
  45.       case 8:valor = nueve;cout << endl<<"Asignado NUEVE ";break;
  46.       case 9:valor = diez;cout << endl<<"Asignado DIEZ ";break;
  47.       case 10:valor = sota;cout << endl<<"Asignado SOTA ";break;
  48.       case 11:valor = reina;cout << endl<<"Asignado REINA ";break;
  49.       case 12:valor = rey;cout << endl<<"Asignado REI ";break;
  50.       default:cout << endl << "ERROR al asignar valor"<<endl;break;
  51.       }
  52.     switch (b)
  53.       {
  54.       case 0:palo = picas;cout <<"de PICAS"<<endl;break;
  55.       case 1:palo = corazones;cout <<"de CORAZONES"<<endl;break;
  56.       case 2:palo = treboles;cout <<"de TREBOLES"<<endl;break;
  57.       case 3:palo = rombos;cout <<"de ROMBOS"<<endl;break;
  58.       default:cout << endl << "ERROR AL ASIGNAR PALO"<<endl;break;
  59.       }
  60.   }
  61.  
  62.    
  63. };
  64.  
  65. //////////////////////////// FIN DE C A R T A  ///////////////////////////////
  66.  
  67.  
  68. class baraja
  69. {
  70.  public:
  71.    carta Carta[12][3];
  72.    baraja()
  73.      {
  74.        for (int i = 0; i < 13; i++)
  75.      {
  76.        Carta[i][0].asignar(i,0);
  77.      }
  78.        for (int i = 0; i < 13; i++)
  79.      {
  80.        Carta[i][1].asignar(i,1);
  81.      }
  82.        for (int i = 0; i < 13; i++)
  83.      {
  84.        Carta[i][2].asignar(i,2);
  85.      }
  86.        for (int i = 0; i < 13; i++)
  87.      {
  88.        Carta[i][3].asignar(i,3);
  89.      }
  90.      }
  91. };
  92.    
  93. #endif
  94.  
  95.  
  96.  
Al Ejecutar el binario se ve que asigna toda la baraja, pero acaba el programa con fallo de segmentacion, que raro no??
gracias por la ayuda a todos!!

5
C/C++ / Re: c++ enum en un constructor
« en: Sábado 12 de Septiembre de 2009, 01:43 »
T_T acabo de hacer unos cambios, y me lanza error, al parecer no me funciona, aunque lo he hecho todo mucho mas sencillo:
Código: C++
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class carta;
  7.  
  8.   int main()
  9.   {
  10.     carta micarta1;
  11.     micarta1 = new carta(carta::as, carta::rombos);
  12.     micarta1.mostrar();
  13.     return 0;
  14.   }
  15. //////////////////  C A R T A ///////////////////////////////////////////////
  16. class carta
  17. {
  18.   //Variables y tipos propios
  19. public:
  20.   enum valores{as,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,sota,reina,rei};
  21.   enum palos{picas,corazones,treboles,rombos};
  22.   valores valor;
  23.   palos palo;
  24.   bool ex;
  25.  
  26.   //Mostrar en Consola
  27.   void mostrar()
  28.   {
  29.     cout << endl << valores(valor)<<endl<<palos(palo)<<endl;
  30.   }
  31.  
  32.   //Constructor
  33.   carta(valores Valor,palos Palo)
  34.   {
  35.     valor = Valor;
  36.     palo = Palo;
  37.     ex = false;
  38.   }
  39.  
  40. };
  41.  

Y este es el error:
Código: Text
  1. pruebas.cc: In function ‘int main()’:
  2. pruebas.cc:10: error: el agregado ‘carta micarta1’ tiene un tipo incompleto y no se puede definir
  3. pruebas.cc:11: error: se utilizó el tipo incompleto ‘carta’ en un especificador de nombre anidado
  4. pruebas.cc:11: error: se utilizó el tipo incompleto ‘carta’ en un especificador de nombre anidado
  5. pruebas.cc:11: error: invalid use of incomplete type ‘struct carta’
  6. pruebas.cc:6: error: forward declaration of ‘struct carta’
  7.  
  8.  

normalmente investigo yo el porque, pero que carajo significa anidado??? xD.

Gracias por la ayuda ante todo.

6
C/C++ / Re: c++ enum en un constructor
« en: Viernes 11 de Septiembre de 2009, 14:49 »
PERFECTO!! Muchas GRACIAS!

7
C/C++ / c++ enum en un constructor
« en: Jueves 10 de Septiembre de 2009, 20:48 »
Hola, ya suponia que esto generaria un error:
Código: C++
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class carta
  7. {
  8. private:
  9.  
  10.   char simbolo;
  11.   enum valores{as,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,jota,cu,ka};
  12.   enum palos{picas,corazones,treboles,rombos};
  13.   valores valor;
  14.   palos palo;
  15. public:
  16.     carta(char Simbolo,valores Valor,palos Palo)
  17.   {
  18.     simbolo = Simbolo;
  19.     valor = Valor;
  20.     palo = Palo;
  21.   }
  22. };
  23.   int main()
  24.   {
  25.     carta Carta('a',dos,treboles);
  26.     return 0;
  27.   }
  28.  
este error:
Código: Text
  1. lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin
  2. pruebas.cc:11: error: ‘valores’ no nombra a un tipo
  3. pruebas.cc:12: error: ‘palos’ no nombra a un tipo
  4. pruebas.cc: In constructor ‘carta::carta(char, carta::valores, carta::palos)’:
  5. pruebas.cc:20: error: ‘valor’ no se declaró en este ámbito
  6. pruebas.cc:21: error: ‘palo’ no se declaró en este ámbito
  7. pruebas.cc: In function ‘int main()’:
  8. pruebas.cc:27: error: ‘dos’ no se declaró en este ámbito
  9. pruebas.cc:27: error: ‘picas’ no se declaró en este ámbito
  10. lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin
  11. pruebas.cc:11: error: ‘valores’ no nombra a un tipo
  12. pruebas.cc:12: error: ‘palos’ no nombra a un tipo
  13. pruebas.cc: In constructor ‘carta::carta(char, carta::valores, carta::palos)’:
  14. pruebas.cc:20: error: ‘valor’ no se declaró en este ámbito
  15. pruebas.cc:21: error: ‘palo’ no se declaró en este ámbito
  16. lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin
  17. lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin
  18. pruebas.cc: In function ‘int main()’:
  19. pruebas.cc:25: error: ‘dos’ no se declaró en este ámbito
  20. pruebas.cc:25: error: ‘treboles’ no se declaró en este ámbito
  21.  
  22.  

ya supongo que los enum estan dentro de la clase y no existen en main, vamos que es imposible hacerlo asi, pero,
Como podria hacerlo??? algo parecido??

Páginas: [1]