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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Cómo usar IF con un métodos de una clase?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo usar IF con un métodos de una clase?  (Leído 2,613 veces)
Lord.Chester

Desconectado Desconectado

Mensajes: 2


Ver Perfil
¿Cómo usar IF con un métodos de una clase?
« en: 17 Enero 2016, 22:44 pm »

Buenas!

Me dirijo ustedes para realizar una duda muy concreta.

Código:
 cout<<"Introduce el numero del satelite [0,4]:";
 cin>>nsat;
 cout<<"\n";
    
       if(Sat[nsat].EstaIdentificado())
  {
       cout<<"ADVERTENCIA EL SATELITE YA ESTA IDENTIFICADO";
  }
        else
        {
        cout<<"Satelite Numero "<<nsat<<endl;
   cout<<"Introduce Login: "; cin>>pLogin; cout<<endl;
        cout<<"Introduce Password Admin: "; cin>>pMaster; cout<<endl;
        cout<<"Introduce Nombre Satelite: "; cin>>pNombre; cout<<endl;
        cout<<"Introduce Fabricante: "; cin>>pFabrica; cout<<endl;
        cout<<"Introduce Numero de Serie: "; cin>>pNSerie; cout<<endl;

        Sat[nsat].Identificar(pLogin,  pMaster,  pNombre, pFabrica,  pNSerie);
}

Mi duda reside aqui :
Código:
if(Sat[nsat].EstaIdentificado())



El método esta identificado es un bool que tiene que devolver true en un momento concreto. Pero para preguntar si ha devuelto true... ¿Estaría bien escrito o deberia poner algo como:
Código:
if(Sat[nsat].EstaIdentificado()==true)
?

Porque pare que no esta bien esa linea porque el programa me deja identificar infinitas veces un satélite (Este codigo debe permitir identificar un  "Satelite"(Sat[], es decir darle nombre...ect pero solo 1 VEZ) cuando eso no debería ser así.

Un saludo





« Última modificación: 17 Enero 2016, 22:49 pm por Lord.Chester » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: ¿Cómo usar IF con un métodos de una clase?
« Respuesta #1 en: 17 Enero 2016, 23:00 pm »

Pon el código donde se cambia el valor de si el satélite está identificado.


En línea

Lord.Chester

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: ¿Cómo usar IF con un métodos de una clase?
« Respuesta #2 en: 17 Enero 2016, 23:14 pm »

El codigo de la clase satélite:
Código:
class Satelite
{
    Identificacion Iden;
    Cadena Nombre;
    Cadena Fabricante;
    int NSerie;
    int Estado;
    float Tomas[NMESES][NDIAS];
public:
    Satelite();

    bool EstaIdentificado(){return Estado>=0;};
    bool EstaActivado(){return Estado==1;};
    bool Identificar(Cadena pLogin, Cadena pMaster, Cadena pNombre,
                     Cadena pFabrica, int pNSerie);
    bool Activar(Cadena pLogin, Cadena pPasswd);
    bool Desactivar(Cadena pLogin, Cadena pPasswd);
    void MostrarEstado();
    float GetToma(int pMes, int pDia);
    void SetToma(int pMes, int pDia, float pTemp);
    void Rellenar(int Porcen=90);
    Satelite operator+(Satelite pSat);
};



El codigo en concreto:
Código:
 bool EstaIdentificado(){return Estado>=0;};
    bool EstaActivado(){return Estado==1;};

Esta parte del código la realizo mi tutor y ya estaba implementada y he de suponer que estaba bien, lo estados a los que hace referencia son -1=(No identificado ni activado), 0=(Identificado), 1=(Activado).

De todos modos sabes si es correcto:

Código:
if(Sat[nsat].EstaIdentificado()==true)

ó

Código:
if(Sat[nsat].EstaIdentificado())

Un saludo
« Última modificación: 17 Enero 2016, 23:16 pm por Lord.Chester » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: ¿Cómo usar IF con un métodos de una clase?
« Respuesta #3 en: 18 Enero 2016, 10:07 am »

Por ahora todo está bien. Muestra Identificar.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines