|
|
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
« 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 baraja() { for (int i = 0; i < 13; i++) { for (int u = 0; u < 4 ; u++) { Carta[i][u].asignar(i,u); } } }
que antes me dava otro error xD.
2
« 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
« 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
« en: Lunes 14 de Septiembre de 2009, 12:34 »
un fallo de segmentacion que no llego a comprender!! pruebas.cpp #include "pruebas.h" int main() { baraja Baraja = new baraja(); return 0; }
pruebas.h #if !defined (_PRUEBAS_H_) #define _PRUEBAS_H #include <iostream> using namespace std; ////////////////// C A R T A /////////////////////////////////////////////// class carta { //Variables y tipos propios public: enum valores{as,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,sota,reina,rey}; enum palos{picas,corazones,treboles,rombos}; valores valor; palos palo; bool ex; //Mostrar en Consola void mostrar() { cout << endl << valores(valor)<<endl<<palos(palo)<<endl; } //Constructor carta(){ex = false;} carta(valores Valor,palos Palo) { valor = Valor; palo = Palo; ex = false; } // Metodo Asignación void asignar(int a, int b) { switch (a) { case 0:valor = as;cout << endl<<"Asignado AS ";break; case 1:valor = dos;cout << endl<<"Asignado DOS ";break; case 2:valor = tres;cout << endl<<"Asignado TRES ";break; case 3:valor = cuatro;cout << endl<<"Asignado CUATRO ";break; case 4:valor = cinco;cout << endl<<"Asignado CINCO ";break; case 5:valor = seis;cout << endl<<"Asignado SEIS ";break; case 6:valor = siete;cout << endl<<"Asignado SIETE ";break; case 7:valor = ocho;cout << endl<<"Asignado OCHO ";break; case 8:valor = nueve;cout << endl<<"Asignado NUEVE ";break; case 9:valor = diez;cout << endl<<"Asignado DIEZ ";break; case 10:valor = sota;cout << endl<<"Asignado SOTA ";break; case 11:valor = reina;cout << endl<<"Asignado REINA ";break; case 12:valor = rey;cout << endl<<"Asignado REI ";break; default:cout << endl << "ERROR al asignar valor"<<endl;break; } switch (b) { case 0:palo = picas;cout <<"de PICAS"<<endl;break; case 1:palo = corazones;cout <<"de CORAZONES"<<endl;break; case 2:palo = treboles;cout <<"de TREBOLES"<<endl;break; case 3:palo = rombos;cout <<"de ROMBOS"<<endl;break; default:cout << endl << "ERROR AL ASIGNAR PALO"<<endl;break; } } }; //////////////////////////// FIN DE C A R T A /////////////////////////////// class baraja { public: carta Carta[12][3]; baraja() { for (int i = 0; i < 13; i++) { Carta[i][0].asignar(i,0); } for (int i = 0; i < 13; i++) { Carta[i][1].asignar(i,1); } for (int i = 0; i < 13; i++) { Carta[i][2].asignar(i,2); } for (int i = 0; i < 13; i++) { Carta[i][3].asignar(i,3); } } }; #endif
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
« 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: #include <iostream> #include <string> using namespace std; class carta; int main() { carta micarta1; micarta1 = new carta(carta::as, carta::rombos); micarta1.mostrar(); return 0; } ////////////////// C A R T A /////////////////////////////////////////////// class carta { //Variables y tipos propios public: enum valores{as,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,sota,reina,rei}; enum palos{picas,corazones,treboles,rombos}; valores valor; palos palo; bool ex; //Mostrar en Consola void mostrar() { cout << endl << valores(valor)<<endl<<palos(palo)<<endl; } //Constructor carta(valores Valor,palos Palo) { valor = Valor; palo = Palo; ex = false; } };
Y este es el error: pruebas.cc: In function ‘int main()’: pruebas.cc:10: error: el agregado ‘carta micarta1’ tiene un tipo incompleto y no se puede definir pruebas.cc:11: error: se utilizó el tipo incompleto ‘carta’ en un especificador de nombre anidado pruebas.cc:11: error: se utilizó el tipo incompleto ‘carta’ en un especificador de nombre anidado pruebas.cc:11: error: invalid use of incomplete type ‘struct carta’ pruebas.cc:6: error: forward declaration of ‘struct carta’
normalmente investigo yo el porque, pero que carajo significa anidado??? xD. Gracias por la ayuda ante todo.
6
« en: Viernes 11 de Septiembre de 2009, 14:49 »
PERFECTO!! Muchas GRACIAS!
7
« en: Jueves 10 de Septiembre de 2009, 20:48 »
Hola, ya suponia que esto generaria un error: #include <iostream> #include <string> using namespace std; class carta { private: char simbolo; enum valores{as,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,jota,cu,ka}; enum palos{picas,corazones,treboles,rombos}; valores valor; palos palo; public: carta(char Simbolo,valores Valor,palos Palo) { simbolo = Simbolo; valor = Valor; palo = Palo; } }; int main() { carta Carta('a',dos,treboles); return 0; }
este error: lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin pruebas.cc:11: error: ‘valores’ no nombra a un tipo pruebas.cc:12: error: ‘palos’ no nombra a un tipo pruebas.cc: In constructor ‘carta::carta(char, carta::valores, carta::palos)’: pruebas.cc:20: error: ‘valor’ no se declaró en este ámbito pruebas.cc:21: error: ‘palo’ no se declaró en este ámbito pruebas.cc: In function ‘int main()’: pruebas.cc:27: error: ‘dos’ no se declaró en este ámbito pruebas.cc:27: error: ‘picas’ no se declaró en este ámbito lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin pruebas.cc:11: error: ‘valores’ no nombra a un tipo pruebas.cc:12: error: ‘palos’ no nombra a un tipo pruebas.cc: In constructor ‘carta::carta(char, carta::valores, carta::palos)’: pruebas.cc:20: error: ‘valor’ no se declaró en este ámbito pruebas.cc:21: error: ‘palo’ no se declaró en este ámbito lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin lnx@lnx-laptop:~/c++$ c++ pruebas.cc -o a.bin pruebas.cc: In function ‘int main()’: pruebas.cc:25: error: ‘dos’ no se declaró en este ámbito pruebas.cc:25: error: ‘treboles’ no se declaró en este ámbito
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]
|
|
|