Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Klasa TCzas operator << nie działa z metodą ustaw

Ostatnio zmodyfikowano 2012-12-16 20:23
Autor Wiadomość
alek44
Temat założony przez niniejszego użytkownika
Klasa TCzas operator << nie działa z metodą ustaw
» 2012-12-16 19:31:43
Witam mam problem z programem jeżeli sobie na rzecz obiektu wywołam metodę ustaw to działa a jeżeli chce wczytać obiekt " godzina"  np 25 :00 to powinno mi zamienić  na 01:00 tak jak wcześniej.

o to kod:

C/C++
#include<iostream>
#include<fstream>
using namespace std;

class TCzas
{
private:
    int g;
    int m;
    int * Tab;
    int r;
public:
    TCzas( int, int, int );
    friend ostream & operator <<( ostream &, TCzas & C );
    friend istream & operator >>( istream &, TCzas & C );
    void ustaw( int, int );
    TCzas operator +( const TCzas & C ) const;
    TCzas operator +( const int & ) const;
};
TCzas::TCzas( int godz = 0, int min = 0, int r = 0 )
{
    ustaw( g, m );
   
   
    Tab = new int[ r ];
   
}
void TCzas::ustaw( int dg, int dm )
{
    g = dg % 24; // godziny modulo
    int rob; // zmienna robocza
    rob = dm / 60; // robocza = ile minut
    m = dm % 60; // minuty które zostały
   
   
    if( m < 0 )
    {
        m = 60 + m;
        rob = rob - 1;
    }
    //--------
    g =( dg + rob ) % 24;
    if( g < 0 )
    {
        g = g + 24;
       
    }
   
}

ostream & operator <<( ostream & wyj, TCzas & c )
{
    if( c.g < 10 )
         wyj << 0;
   
    wyj << c.g << ":";
   
    if( c.m < 10 )
         wyj << 0;
   
    wyj << c.m;
    return wyj;
}
istream & operator >>( istream & wczy, TCzas & c )
{
    wczy >> c.g;
    wczy >> c.m;
    return wczy;
}
TCzas TCzas::operator +( const TCzas & c ) const
{
   
    return TCzas( g + c.g, m + c.m );
   
   
}

TCzas TCzas::operator +( const int & min ) const
{
   
    return TCzas( g, m + min );
   
}

int main()
{
    TCzas godzina;
   
    cin >> godzina;
    //  godzina.ustaw(25,0);
    cout << godzina;
   
    system( "pause" );
    return 0;
}
P-71217
DejaVu
» 2012-12-16 19:39:18
Po wczytaniu wartości wywołaj metodę ustaw wewnątrz przeciążonych operatorów. Obecnie nie działa bo po prostu wczytujesz liczbę i nie poddajesz jej żadnej obróbce.
P-71219
alek44
Temat założony przez niniejszego użytkownika
» 2012-12-16 20:23:28
no tak .. Dzięki wielkie za pomoc :)
P-71232
« 1 »
  Strona 1 z 1