• Miércoles 6 de Noviembre de 2024, 05:35

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.


Temas - pacorubio77

Páginas: 1 2 [3] 4
51
C/C++ / proglema con metodo de sacar la diferencia de años
« en: Miércoles 22 de Octubre de 2008, 19:20 »
Hola,no se lo errores que me da en este caso,la cuestion del método es que quiero sacar la diferencia en años,ahora mismo solo quiero que me saque en segundos y a partir de ahi la convertiré en años,pero en int getDiferenciaAnyos  tengo unos fallos que no se de donde vienen,me dan errores de compilacion que no se el porqué, para ver si viendo el código me podeis ayudar, para ver el código los tengo que pasar los dos ficheros Fecha.cc ,Fecha.h  ,gracias de antemano


//Fecha.cc
Código: Text
  1.   
  2. #include<iostream>
  3. #include<ostream>
  4. #include<string>
  5. #include<cstring>
  6. #include<string.h>
  7. #include "Fecha.h"
  8. #include<ctime>
  9. #include<sstream>
  10.  
  11. //#include"Punto.h"
  12. using namespace std;
  13.  
  14. /*
  15. Fecha::Fecha(){
  16.     dia=1;
  17.     mes=2;
  18.     anyo=2000;
  19. }
  20. */
  21. Fecha::~Fecha(){
  22.     dia=-1;
  23.     mes=-1;
  24.     anyo=-1;
  25.  
  26. }
  27.  
  28. Fecha::Fecha(){
  29.  
  30. //fecha y hora del sistema
  31.  time_t ahora=time(0);
  32.  
  33. tm* localtm=localtime(&ahora);
  34. dia=localtm->tm_mday;
  35. mes=localtm->tm_mon+1;
  36. anyo=localtm->tm_year+1900;
  37. /*
  38. //convertir a struct tm para fecha y hora local
  39. tm* localtm=localtime(&ahora);
  40. cout<<localtm->tm_mday <<"/"
  41.     <<localtm->tm_mon+1<<"/"
  42.     <<localtm->tm_year+1900<<endl;
  43. */
  44. }
  45. Fecha::Fecha(const Fecha &f){
  46.     dia=f.dia;
  47.     mes=f.mes;
  48.     anyo=f.anyo;
  49.  
  50. }
  51.  
  52. Fecha::Fecha(int d,int m,int a){
  53.  
  54.     //bool diac,mesc,anyoc;
  55.     if(!setDia(d)){
  56.         dia=-1;
  57.     }
  58.     else{
  59.         dia=d;
  60.  
  61.     }
  62.  
  63.     if(!setMes(m)){
  64.         mes=-1;
  65.     }
  66.     else{
  67.         mes=m;
  68.  
  69.     }
  70.  
  71.     if(!setAnyo(a)){
  72.         anyo=-1;
  73.     }
  74.     else{
  75.         anyo=a;
  76.  
  77.     }
  78.     /*
  79.     dia=d;
  80.     mes=m;
  81.     anyo=a;
  82.    
  83.    
  84.     dia=setDia(d);
  85.     mes=setMes(m);
  86.     anyo=setAnyo(a);
  87.     */
  88. }
  89.  
  90. bool Fecha::setDia(int d){
  91.     bool correcto=false;
  92.         if  ((d>=1)&&(d<=31)){
  93.             correcto=true;
  94.             dia=d;
  95.         }
  96.         else {
  97.             dia=-1;
  98.         }
  99.  
  100. return correcto;
  101. }
  102.  
  103. bool Fecha::setMes(int m){
  104.     bool correcto=false;
  105.         if  ((m>=1)&&(m<=12)){
  106.             correcto=true;
  107.             mes=m;
  108.         }
  109.         else{
  110.             mes=-1;
  111.         }
  112. return correcto;
  113. }
  114.  
  115. bool Fecha::setAnyo(int a){
  116.     bool correcto=false;
  117.         if  (a>0){
  118.             correcto=true;
  119.             anyo=a;
  120.         }
  121.         else{
  122.             anyo=-1;
  123.         }
  124.  
  125. return correcto;
  126. }
  127.  
  128. int Fecha::getDia()const{
  129.  
  130.     return dia;
  131. }
  132.  
  133. int Fecha::getMes()const{
  134.  
  135.     return mes;
  136. }
  137. int Fecha::getAnyo()const{
  138.  
  139.     return anyo;
  140. }
  141.  
  142. void Fecha::Imprimir(ostream &os)const{
  143.  
  144. //bool diacorrecto,mescorrecto,anyocorrecto;
  145.  //os<<dia<<"/"<<mes<<"/"<<anyo;
  146. //cout<<endl;
  147. //ahora vamos a validar
  148.     /*
  149.     diacorrecto=f2.setDia(dia);
  150.     mescorrecto=f2.setMes(mes);
  151.     anyocorrecto=f2.setAnyo(anyo);
  152.    
  153.     if((diacorrecto==false)||(mescorrecto==false)||(anyocorrecto==false)){
  154.         os<<"fecha no valida"<<endl;
  155.     }
  156.     else{
  157.         os<<dia<<"/"<<mes<<"/"<<anyo;
  158.     }
  159.     */
  160.  
  161.     if( (dia==-1)||(mes==-1)||(anyo==-1) ){
  162.         os<<"fecha no valida"<<endl;
  163.     }
  164.     else{
  165.         os<<dia<<"/"<<mes<<"/"<<anyo;
  166.     }
  167.  
  168. }
  169.  
  170. string Fecha::toString()const {
  171.     /*
  172.     //opcion 1
  173.     string fecha="";
  174.     int resto;
  175.        
  176.     fecha=dia/10 +'0';
  177.     //cout<<fecha<<endl;
  178.     fecha+=dia%10 +'0';
  179.     //cout<<fecha<<endl;
  180.  
  181.    
  182.     fecha+=mes/10+'0';
  183.     fecha+=mes%10 + '0';
  184.    
  185.     //convertimos el año a string
  186.     fecha+=anyo/1000 +'0';
  187.     resto=anyo%1000;
  188.     fecha+=resto/100+'0';
  189.     resto=resto%100;
  190.     fecha+=resto/10+'0';
  191.     fecha+=resto%10+'0';
  192.     */
  193.     //opcion 2
  194.     stringstream sfecha;
  195.  
  196.     sfecha << dia << '/' << mes << '/' << anyo << endl;
  197.  
  198.     // el método str() del objeto stringstream devuelve un string
  199.     // con los datos que contiene el flujo de datos.
  200.     //cout << sfecha.str() << endl;
  201.    
  202. return sfecha.str();
  203.  
  204.  
  205. }
  206. int Fecha::getDiferenciaAnyos(const Fecha &f)const{
  207.  
  208.     int diferencia;
  209.  
  210.      time_t ahora=time(0);
  211.  
  212.     tm* tm1=localtime(&ahora);
  213.     tm* tm2=new tm(*tm1);
  214.  
  215.     tm1->tm_mday=dia;
  216.     tm1->tm_mon=mes-1;
  217.     tm1->tm_year=anyo-1900;
  218.    
  219.     time_t t1=mktime(tm1);
  220.     //time_t t2=mktime(tm2);
  221.  
  222.     diferencia=difftime(time_t t1,time_t t2);
  223.  
  224. return diferencia;  
  225. }
  226. //---------------------------------------------------------------------------------------------------------------------
  227. //Fecha.h
  228.  
  229. #include<iostream>
  230. #include<ostream>
  231. #include<string>
  232. #include<cstring>
  233. #include<string.h>
  234. #include<ctime>
  235. #include<sstream>
  236. using namespace std;
  237.  
  238.  
  239.  
  240. class Fecha{
  241.  
  242.     private:
  243.         int dia,mes,anyo;  
  244.  
  245.     public:
  246.        
  247.         Fecha();
  248.         Fecha(int d,int m,int a);
  249.         Fecha(const Fecha &f);
  250.         ~Fecha();
  251.         bool setDia(int d);
  252.         bool setMes(int m);
  253.         bool setAnyo(int a);
  254.         int getDia()const;
  255.         int getMes()const;
  256.         int getAnyo()const;
  257.         bool isBisiesto()const;
  258.         void Imprimir(ostream &os)const;
  259.         string toString()const;
  260.         int getDiferenciaAnyos(const Fecha &f)const;
  261.        
  262. };
  263.  
  264.  
  265.  

52
C/C++ / como asociar un mes con un numero?
« en: Lunes 20 de Octubre de 2008, 19:04 »
Hola a todos,quisiera que me dierais una idea de asociar un mes con su respectivo numero,es decir septiembre con el 9,

yo lo he echo de una forma,pero queda muy burrada,quisiera una forma un poco más "profesional",me refiero mas simplificada, yo he echo de esta forma..(lo pongo esquemático)

int ConMes(string m){

    int dev;
    if(m=="enero"){
        dev=1;
    }
    else{
        if(m=="febrero"){
              dev=2;
       }
     //y asi sucesivamente con todos.....
   }

}

pero si alguien me da una idea como simplificar todo esto?

Espero respuestas,Gracias.

53
C/C++ / problema con fechas,consejos por favor
« en: Lunes 20 de Octubre de 2008, 13:49 »
Hola,mirar yo quiero que de una fecha asi 1.1.2008 me saque 01/01/2008 pero yo en mi función hago lo siguiente:

FECHA conv1(char yytext[], int yyleng)
{
   FECHA f;
        int i, resultado=0;
   string cadena,dia1,mes1,anyo1;
   cadena=yytext;
   
        for (i=0; i< yyleng; ++i){
               
      while(yytext!='.'){
         dia1+=yytext;
      i++;
      }
      i++;
      f.dia=atoi(dia1.c_str());
      cout.fill('0');cout.width(2);
      
      //ahora vamos con los meses
      while(yytext!='.'){
         mes1+=yytext;
      i++;
      }
      i++;
      f.mes=atoi(mes1.c_str());
      cout.fill('0');cout.width(2);
      
      while(i<yyleng){
         anyo1+=yytext;
      i++;
      }
      f.anyo=atoi(anyo1.c_str());
      
   }
        return f;
}

yytext,es porque la fecha se la meto como cadena y yyleng es la longitud de la cadena.

el dia si me sale bien,pero el mes no me sale si mete el 4 me sale el 4, y me tiene que salir el 04,me decir otra forma si de esta forma no sale?

54
C/C++ / duda utilizando la libreria STL
« en: Viernes 17 de Octubre de 2008, 12:49 »
Hola, a todos,estoy empezando a entender la libreria STL,y tengo una duda,cuando (en el codigo que os presento) ,cuando hago ve.clear,que hace realmente este metodo?, deja el vector asi { }?, porque cuando voy a imprimir para probar si hay algo..no se mete ni el bucle for...

Solo es esa duda,aqui presento el código:

Código: Text
  1. #include<vector>
  2. #include<string>
  3. #include<iostream>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. int main(){
  9.  
  10. vector<int>ve;
  11. //voy introduciendo en el vector
  12.     for(int i=0;i<6;i++){
  13.  
  14.         ve.push_back(i);
  15.     }
  16. vector<int>::iterator iter;
  17.  
  18.     //muestro el primer elemento.
  19.     cout<<*ve.begin()<<endl;
  20.     //iter=ve.begin();
  21.    
  22.     //saco por pantalla
  23.     for(iter=ve.begin();iter!=ve.end();iter++){
  24.         cout<<*iter<<" ";
  25.     }
  26.  
  27. //ahora vamos a copiar el vector ve en el vector vn
  28.  
  29. vector<int>vn;
  30.     //copio en el vector vn
  31.     for(iter=ve.begin();iter!=ve.end();iter++){
  32.         vn.push_back(*iter);
  33.     }
  34.  
  35.  
  36. ve.clear(); //yo pienso que limpio el espacio
  37.  
  38. //¿aunque este vacio no se tiene que meter?
  39. for(iter=ve.begin();iter!=ve.end();iter++){
  40.         cout<<*iter<<"z ";
  41.     }
  42. //muestra el vector vn
  43. for(iter=vn.begin();iter!=vn.end();iter++){
  44.         cout<<*iter<<" ";
  45.     }
  46.  
  47. }
  48.  

55
C/C++ / que se hace para utlizar stringstream?ver codigo
« en: Martes 14 de Octubre de 2008, 18:42 »
Hola,a todos,soy nuevo en la programacion a objetos y cuando implemento el siguiente método,si os fijais hay dos formas de hacer lo mismo,a mi me interesa la que pongo opcion 2,pero siempre me da fallo,es necesario incluir alguna libreria? pongo #include<sstream>...entre ellas y me sigue dando error,en concreto este error:

tw@tw-desktop:~/Desktop/poo$ make
g++ -g -Wall -c ./lib/Fecha.cc -I ./include
./lib/Fecha.cc: In member function ‘std::string Fecha::toString() const’:
./lib/Fecha.cc:193: error: el agregado ‘std::stringstream sfecha’ tiene un tipo incompleto y no se puede definir
make: *** [Fecha.o] Error 1

este es mi metodo

string Fecha::toString()const {

   //opcion 1
   string fecha="";
   int resto;
      
   fecha=dia/10 +'0';
   //cout<<fecha<<endl;
   fecha+=dia%10 +'0';
   //cout<<fecha<<endl;

   
   fecha+=mes/10+'0';
   fecha+=mes%10 + '0';
   
   //convertimos el año a string
   fecha+=anyo/1000 +'0';
   resto=anyo%1000;
   fecha+=resto/100+'0';
   resto=resto%100;
   fecha+=resto/10+'0';
   fecha+=resto%10+'0';
   
   /*opcion 2
   stringstream sfecha;



   sfecha << dia << '/' << mes << '/' << anyo << endl;



   // el método str() del objeto stringstream devuelve un string

   // con los datos que contiene el flujo de datos.

   cout << sfecha.str() << endl;
   */

return fecha;
//return sfecha //cuando utilizo la segunda opcion.

Espero ayuda,gracias.

56
C/C++ / me podeis decir con esta notacion?
« en: Lunes 13 de Octubre de 2008, 21:03 »
Hola,mirar es una duda muy tonta,pero no se como se traduce:

el ejemplo es el siguiente:

si me salen en el codigo p1 +=p2 esto es igual a p1=p1+p2..verdad?
pero si me sale p1=+p2? esto a que es igual? es que tengo esa duda para hacer la sobrecarga de eso en c++

espero me ayuden.gracias.

57
C/C++ / estoy haciendo lo correcto,
« en: Domingo 5 de Octubre de 2008, 12:19 »
Hola,como soy novato en objetos,mirar en una clase fecha,yo tengo un metodo imprimir, en el que tengo que validar si el dia está entre 1 y 31 el mes entre 1 y 12 y que el año sea mayor que 0,tengo que hacerlo dentro del metodo?

si el codigo tengo dichos metodos:


Fecha::~Fecha(){
   dia=-1;
   mes=-1;
   anyo=-1;

}

Fecha::Fecha(){

//fecha y hora del sistema
 time_t ahora=time(0);

tm* localtm=localtime(&ahora);
dia=localtm->tm_mday;
mes=localtm->tm_mon+1;
anyo=localtm->tm_year+1900;
/*
//convertir a struct tm para fecha y hora local
tm* localtm=localtime(&ahora);
cout<<localtm->tm_mday <<"/"
    <<localtm->tm_mon+1<<"/"
    <<localtm->tm_year+1900<<endl;
*/
}
Fecha::Fecha(const Fecha &f){
   dia=f.dia;
   mes=f.mes;
   anyo=f.anyo;

}

Fecha::Fecha(int d,int m,int a){

   dia=d;
   mes=m;
   anyo=a;

}

bool Fecha::setDia(int d){
   bool correcto=false;
      if  ((d>=1)&&(d<=31)){
         correcto=true;
         dia=d;
      }
      else {
         dia=-1;
      }

return correcto;
}

bool Fecha::setMes(int m){
   bool correcto=false;
      if  ((m>=1)&&(m<=12)){
         correcto=true;
         mes=m;
      }
      else{
         mes=-1;
      }
return correcto;
}

bool Fecha::setAnyo(int a){
   bool correcto=false;
      if  (a>0){
         correcto=true;
         anyo=a;
      }
      else{
         anyo=-1;
      }

return correcto;
}

lo que quiero preguntar si para validar,,,lo tengo que hacer dentro del metodo?

un saludo,espero respuesta.

void Fecha::Imprimir(ostream &os)const{
Fecha f2;
bool diacorrecto,mescorrecto,anyocorrecto;
 os<<dia<<"/"<<mes<<"/"<<anyo;
cout<<endl;
//ahora vamos a validar
   diacorrecto=f2.setDia(dia);
   mescorrecto=f2.setMes(mes);
   anyocorrecto=f2.setAnyo(anyo);
   if((diacorrecto==false)||(mescorrecto==false)||(anyocorrecto==false)){
      cout<<"fecha no valida"<<endl;
   }

}

58
UML / me podeis decir como se traduce esto de UML a c++?
« en: Viernes 3 de Octubre de 2008, 11:24 »
Hola,tengo una duda,estoy implementando una clase en c++ a partir de UML,pero hay una sentencia en UML que no se como ponerla en C++,
os la explico,
por ejemplo si tengo:

<<const>>getMes(): int  esto se traduciria en c++ como int getMes() const:
pero la siguiente es mi duda:
<<const>>Imprimir(os:ostream&):void   como se pasaría a c++ ,es que no se lo que es ostream&,? porque si fuera int,se que es un entero,pero que es ostream? un string ? un char?

Me podeis ayudar?
Un saludo,Gracias.

59
C/C++ / podeis decirme donde se encuentra el fallo en la clase Fecha
« en: Jueves 2 de Octubre de 2008, 16:17 »
Hola estoy definiendo la clase fecha y cuando un metodo lo pongo String me da error...la clase es la siguiente:

#include<iostream>
#include<string>


//using namespace std;



class Fecha{

   private:
      int dia,mes,anyo;   

   public:
      
      Fecha();
      Fecha(int d,int m,int a);
      Fecha(const Fecha &f);
      ~Fecha();
      bool setDia(int d);
      bool setMes(int m);
      bool setAnyo(int a);
      int getDia()const;
      int getMes()const;
      int getAnyo()const;
      bool isBisiesto()const;
      string toString()const; //en esta linea me da error
      
};

"el error que me pone dice:
./include/Fecha.h:27: error: ‘string’ no nombra a un tipo
make: *** [Fecha.o] Error 1


Otra de mis dudas es que el constructor por defecto tiene que crear un objeto con la fecha actual,se haría de la siguiente manera?:


Fecha::Fecha(){

//fecha y hora del sistema
 time_t ahora=time(0);

//convertir a struct tm para fecha y hora local
tm* localtm=localtime(&now);
cout<<localtm->tm_mday <<"/"
    <<localtm->tm_mon+1<<"/"
    <<localtm->tm_year+1900<<endl;

}

es que tambien me da errores y no se el motivo, (claro para todo esto antes pongo #include<ctime>)

Esas son mis dos dudas.

Un saludo,espero respuesta.



Podeis ayudarme?

60
C/C++ / Hola, podeis mirar y decirme el error de compilacion
« en: Martes 30 de Septiembre de 2008, 18:13 »
Hola  a todos,estoy empezando a trabajar con objetos y soy nuevo en este mundo de los objetos, por eso estoy implementando un pequeño programita y tengo un error de compilacion ,pero no se el porque¡¡

este es el programita y el error que me da dice:


/*
Punto.cpp:33: error: el prototipo para ‘Punto::Punto(double, double)’ no coincide con ningún otro en la clase ‘Punto’
Punto.cpp:6: error: los candidatos son: Punto::Punto(const Punto&)
Punto.cpp:6: error:                 Punto::Punto()

*/

#include<iostream>
#include<math.h>
//#include"Punto.h"
using namespace std;

class Punto{

   private:
      double x,y;
   public:
      void SetX(double vx);
      void SetY(double vy);
      Punto Translacionar(double d);
      double Distancia(Punto p2);
      double GetX();
      double GetY();
};

/*
class Punto{

   public:
      Punto(double vx,double vy);
};
*/
/*
Punto::Punto(){
   x=0;
   y=0;
}
*/

Punto::Punto(double vx,double vy){

   SetX(vx);
   SetY(vy);

}

void Punto::SetX(double vx){

   if(vx<0) x=0;
   else x=vx;
}
/*
Punto::Punto(double vx,double vy){

   SetX(vx);
   SetY(vy);

}
*/
/*
Punto Punto::Translaccionar(double d){

Punto paux;
   paux.SetX(d+x);
   paux.SetY(d+y);

return paux;

}
*/

double Punto::Distancia (Punto p2){

   return sqrt(pow(x-p2.x,2) + pow(y-p2.y,2));

}

double Punto::GetX(){

 return x;
}
double Punto::GetY(){

return y;
}

int main(){

Punto p1,p2;

p1.SetX(-3);
p2.SetX(+6);

cout<<p1.Distancia(p2);
cout<<endl;
cout<<p2.Distancia(p1);
cout<<endl;

//p1=p2.Translacionar(81);

cout<<p1.GetX()<<"-"<<p1.GetY();
cout<<endl;
cout<<p2.GetX()<<"-"<<p2.GetY();
cout<<endl;
}



Muchas gracias,os agradecería vuestra ayuda,gracias.

61
C/C++ / necesito que me ayudeis a definir
« en: Viernes 19 de Septiembre de 2008, 18:40 »
Hola yo he definido un paciente

struct Tpaciente{
//con sus respectivos campos
};

el nodo paciente definido como:
typedef struct tNODO{
     Tpaciente paciente:
     tNODO *sig;
}*pNODO,*LISTA;

si yo me defino un nodo de una pila ,lo haría de la siguiente forma:
typedef struct tNODOPILA{
     Tpaciente paciente:
     tNODOPILA *sig;
}*pNODOPILA,*PILA;

pero mi pregunta es que como me defino una lista dentro de un nodo de una pila?
asi lo entiendo con la siguiente afirmacion "el nodo de la pila contendrá una lista con los nodos de los pacientes".

Me podeís explicar como lo defino? es que os lo digo realmente me cuesa mucho entenderlo.
Gracias de antemano.

62
C/C++ / pregunta sobre concepto de ajedrez
« en: Miércoles 17 de Septiembre de 2008, 12:39 »
Estoy haciendo una práctica sobre ajedrez y no tengo muy claro el movimiento del rey...el enroque ya lo tengo contemplado..pero me pone que el rey puede moverse a una casilla adyacente,es decir que solo se mueve una casilla..verdad? 8 posibles movimientos..verdad?,,,cuando yo me muevo a la casilla adyacente tiene que estar libre? si está ocupado por una pieza contraria ,se la come? es que ese movimiento no lo tengo muy claro...me hace falta tener el concepto claro para despues programar...

Os agradeceria ayuda..
Un saludo.Gracias.

63
C/C++ / entendeis esto?
« en: Martes 16 de Septiembre de 2008, 16:27 »
Yo tengo que hacer lo que una práctica me pide,yo estoy haciendo una practica que gestione unos pacientes de un Hospital, yo para implementar una pila lo hago de la siguiente manera:

struct Tpaciente{
        char nombre[20];
        int habitacion;
        ...etc

};

typedef struct tNODO{
        Tpaciente paciente;
        tNODO *sig;
}*pNODO,*LISTA;

eso lo hago para implementar una lista enlazada...

Mi duda es que me pone:

DESHACER ALTA : cada vez que se d´e de alta a un paciente por NSIP o por n´umero de habitaci´on debe almacenarse
el nodo o nodos de los pacientes en una pila (en lugar de borrarlos), de forma que se pueda recuperar al elegir
la opci´on DESHACER ALTA, que volver´a a colocar el nodo del paciente en la posici´on que le corresponda de la
lista general.
La pila debe implementarse como se ha explicado en las clases de teor´ia, utilizando una lista simplemente
enlazada. Si se elige la opci´on ALTA POR NSIP, el nodo de la pila contendr´a una lista (del mismo tipo que la
lista general) unicamente con el nodo del paciente dado de alta. Sin embargo, si se elige la opci´on ALTA POR
N.HABITACION, se debe construir una lista con los nodos de los pacientes dados de alta, sin borrar nodos ni
construir nuevos nodos, simplemente desenlazando los nodos de la lista general y enlaz´andolos en la nueva lista,
y almacenar dicha lista en la pila, de forma que al deshacer el alta por n´umero de habitaci´on se colocar´an en
la lista general todos los nodos de los pacientes dados de alta a la vez. En la pila, no es necesario distinguir
un tipo de alta de otro, si es un alta por NSIP la lista tendr´a solo un elemento, mientras que si es un alta por
3
n´umero de habitaci´on podr´a tener un elemento o m´as.

COMO SE IMPLEMENTA PARA QUE UNA PILA CONTENGA UNA LISTA?

yo normalmente la pila la implemeto de la siguiente manera:

typedef struct tNODOPILA{
     Tpaciente paciente:
     tNODOPILA *sig;
}*pNODOPILA,*PILA;

64
C/C++ / comprobar que me queda una pieza en un tablero de ajedrez
« en: Martes 16 de Septiembre de 2008, 11:12 »
Hola,en un programa que es un tablero de ajedrez,tengo que sacar la DETECCION DE TABLAS,es decir que en los dos jugadores quede una pieza y esa pieza sea el rey,pero la cuestion que tengo es..que tengo que contar los movimientos de cada uno y teniendo en cuenta el número de piezas ,resto los movimientos al número de piezas y cuando me quede una pieza veo si es rey?

Me podeis dar ideas?

65
C/C++ / consulta sobre conversion de números
« en: Domingo 7 de Septiembre de 2008, 13:24 »
Hola,mi duda es la siguiente:
No se como pasar una cadena de caracteres a numero,pero no a entero sino a float,es decir:

la cadena es: 3.5 y quiero que el numero float sea 3.5, se que para numero enteros es :num=atoi(cadenacaracteres),pero como se hace en este caso?

66
C/C++ / como leer una linea en un fichero de texto
« en: Martes 2 de Septiembre de 2008, 17:16 »
Hola,no es concretamente una línea,la cuestion es que tengo que leer de un fichero de texto y escribir en un fichero binario,eso lo tengo claro,pero mi linea en el fichero de texto es:

45689756:julian martinez:Fernandez:33

la cuestion es que si leo con getline(fic,linea),estoy leyendo toda la linea,y está claro que los : no los tengo que almacenar,como hago para leer quitando los :?

esa es mi cuestion,porque luego guardarlo en un fichero binario,lo tengo claro.

Me podeis ayudar?

67
C/C++ / Problema En Lectura De Ficheros
« en: Sábado 7 de Junio de 2008, 13:53 »
Antes que nada,tengo el siguiente registro;
typedef struct Talumno{
    char dni[10];
    string nombre;
    string apellidos;
    string cantidad;
};

Hola,tengo una duda,tengo un fichero texto.txt de la siguiente forma

4707744389 Julian Maritnez 200

y yo quiero leer esto ,y asignar a cada campo de mi alumno,y no se como hacerlo?


pues yo hago mi main

int main(){
Talumno alumno;
   
    fstream fic;

    fic.open("bancos.txt",ios::in);
    if(!fic){
       cout<<"error de apertura del fichero"<<endl;
    }
    else{
          //yo creo que tengo que leerlo asi
          fic.read((char *),&alumno,sizeof(Talumno));
        //pero cuando compruebo si leo algo o si yo quiero que ese alumno que he leido escribirlo en otro fichero no me sale bien


    }


}

Mi pregunta es como yo puedo leerlo bien,es decir leer el alumno correctamente, y otra pregunta,como escribir ese alumno en otro fichero.por ejemplo texto2.txt??

Os agradecería mucho vuestra ayuda.Gracias

68
C/C++ / Cual Es El Criterio Que Sigue Para Ordenar?
« en: Lunes 5 de Mayo de 2008, 23:48 »
Hola,quiero que me digais que criterio sigue para ordenar,y si lo conseguís averiguar ,cual es la idea?

aqui pongo la cadena de caracteres ordenado:

1212
1213121
32321233
78661AHJ
AFA654J
QW4321

esa ya es la ordenación,o como tiene que salir. que criterio usa?
Y si lo conseguir averiguar...cual es la idea?

69
C/C++ / Duda Con String's,como Parámetro¡
« en: Domingo 13 de Abril de 2008, 20:21 »
Hola,lo que quiero saber es si se puede utlizar un string como un bloque para pasarlo como parámetro.Me explico con un ejemplo:

yo tengo la siguiente cadena:

string cadena: HOLA/ADIOS    y quiero sacar esa cadena y meterla en "nuevacadena",para utilizar nuevacadena y usarla como parámetro de entrada de una función.

Yo solo sé una manera de almacenar,

void FuncionExtraer(){
    int i=0;
        while (cadena !='/')
                nuevacadena=cadena;
       i++;
      }

void Funcion2(nuevacadena){   AQUI COMO PUEDO METER NUEVACADENA?

}


int main(){
   FuncionExtraer();
   Funcion2(nuevacadena)

}


ENtendeis mi pregunta?,,lo que quiero meter a Funcion2 nuevacadena,y no se como hacerlo,podeís ayudarme????

70
C/C++ / Como Identificar Una Posicion Con Una Coordenada?
« en: Martes 19 de Febrero de 2008, 00:05 »
Hola,no se como identificar la posicion de una matriz con una coordenada?,me explico:

Tengo la siguiente matriz de 3*3:

 3|_8|9_|2__|
 2|__|__|___|
 1|__|_3|___|
     a   b   c

Como asocio yo que el 8 está en la coordenada "a3",con la posicion[0][0]?,como asocio yo las coordenadas con la posición de matriz?


Un saludo,espero que me ayudeis...gracias

71
C/C++ / ¿como Pasar De Int A Char?
« en: Lunes 18 de Febrero de 2008, 23:49 »
Hola me gustaria saber si yo meto un número,como convertirlo a char,es decir

int n;
cout<<"introduce un número"<<endl;
cin>>n;

¿Como paso ese número a char?

Un saludo,espero respuesta,gracias

72
C/C++ / Inicializar Un Tablero,necesito Ideas
« en: Lunes 18 de Febrero de 2008, 18:48 »
Hola a todos,mirar tengo que inicializar el siguiente tablero,la primera forma que se me ha ocurrido es la fila 0 y la fila 6,meterla a pelo,y hacer un for para meter la fila 1 y la fila 7,se os ocurre otra regla,lo digo por no meter a pelo todo,

Con meter a pelo me refiero a
T[0][0]='t'
T[0][1]='c'
T[0][2]='a'
.......

El tablero seria el siguiente

t c a d r a c  t
p p p p p p p p
- - -   - -  - - -
- - -   - -  - - -
- - -   - - - - -
- - -   - - - - -
P P  P P P  P P P
T C A D R A C T

Para más aclaracion el tablero es una matriz de 8 * 8,

73
ADA / ¿para Qué Sirven Estos Operadores?
« en: Domingo 17 de Febrero de 2008, 19:10 »
Hola a todos,soy un principiante de Ada,y me gustaria saber ,cual es el objetivo de dichos operadores "and then" y "or else", para entenderlos mejor además de decirme para que sirven,me podían poner un ejemplo pequeño de su uso para entenderlos mejor.

Un saludo,espero respuesta.Gracias y perdón por las molestias

74
Flash / ActionScript / Para Subir Mi Pagina En Flash A Internet
« en: Miércoles 6 de Febrero de 2008, 17:09 »
Hola, a todos,me gustaria publicar mi pagina flash en internet,pero no tengo ni idea como..mi pagina está formado por varios swf,pero no tengo ni idea de como hacerlo,era por si alguien me podía indicar como hacerlo.os lo agradecería.

Un saludo y espero respuesta.

75
Flash / ActionScript / Codigo De Boton AtrÁs
« en: Viernes 1 de Febrero de 2008, 17:24 »
Hola,buenas,necesitaría si alguien me puede ayudar.

Yo tengo un menu un un swf,por ejemplo index.swf, en el que tengo un boton
y llamo a otro swf.ejemplo equipo.swf,pues en ese swf,tengo un boton ATRAS, COMO LO REDIRECCIONES A MI FOTOGRAMA,DONDE SALE EL MENU?

ME PODEIS AYUDAR? ES QUE NO TENGO NI IDEA.

uN SALUDO,ESPERO RESPUESTA

Páginas: 1 2 [3] 4