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

Czas - sprawdzanie, wczytywanie, operacje

Ostatnio zmodyfikowano 2012-04-30 22:28
Autor Wiadomość
hincu
» 2012-04-26 15:16:27
@up jakbys nie widzial to on dzialal na stringach wiec raczej wszystko jest nie tak :)
P-55403
Admixior
» 2012-04-26 15:18:32
//a rzeczywiście
pisałem wyżej że jak chce zamieniać na string to musi użyć to_string;
godziny = czas.wHour;   kopiuje tylko ostatni bajt liczby jako znak
godziny = to_string((long long int)czas.wHour);  zamienia na tekst

//edit: i przed to_string() musi zmienić tak jak pisałem 2 posty wyżej bo inaczej może być 14:50:80 :)
P-55404
Temes
Temat założony przez niniejszego użytkownika
» 2012-04-30 12:32:47
A ja nadal nie widzę błędu... Nie działa, eh.. Napisałem kod w innym programie, aby się nie pogubić. Lecz nie działa i tak... Przypominam że komputer musi pobrać czas z komputera i potem doliczyć, że czas misji trwa 30 sekund, czyli jak jest 12:00:00 to koniec misji jest o 12:00:30 - poprawcie mi jakoś ten kod, bo ja próbuję, próbuję i nie działa...
C/C++
int main() {
    short Godziny;
    short Minuty;
    short Sekundy;
    short CzasMisjiGodz;
    short CzasMisjiMin;
    short CzasMisjiSek;
    int CzasEnd;
    int Wybor;
    int Blokada;
    SYSTEMTIME czas;
    GetLocalTime( & czas );
   
    Blokada = 0;
    do {
        system( "cls" );
        std::cout << "[1] START" << std::endl;
        std::cin >> Wybor;
       
        if( Wybor == 1 ) {
            if( Blokada == 0 ) {
                system( "cls" );
                Godziny = czas.wHour;
                Minuty = czas.wMinute;
                Sekundy = czas.wSecond;
                std::cout << " Start misji o: " << czas.wHour << ":" << czas.wMinute << ":" << czas.wSecond << std::endl;
                std::cout << " Misja trwa 30 sekund" << std::endl;
                CzasMisjiGodz = czas.wHour;
                CzasMisjiMin = czas.wMinute;
                CzasMisjiSek =(( czas.wSecond ) + 30 );
                if( CzasMisjiSek >= 60 ) {
                    CzasMisjiMin = czas.wMinute + 1;
                    CzasMisjiSek = czas.wSecond - 60;
                }
                if( CzasMisjiMin >= 60 ) {
                    CzasMisjiGodz = czas.wHour + 1;
                    CzasMisjiSek = czas.wMinute - 60;
                }
                std::cout << " Koniec misji o: " << CzasMisjiGodz << ":" << CzasMisjiMin << ":" << CzasMisjiSek << std::endl;
                getch();
                Blokada = 1;
            }
            if( Blokada == 1 ) {
                system( "cls" );
                std::cout << " Koniec misji o: " << CzasMisjiGodz << ":" << CzasMisjiMin << ":" << CzasMisjiSek << std::endl;
                if( CzasMisjiSek >= 60 ) {
                    CzasMisjiMin = czas.wMinute + 1;
                    CzasMisjiSek = czas.wSecond - 60;
                }
                if( CzasMisjiMin >= 60 ) {
                    CzasMisjiGodz = czas.wHour + 1;
                    CzasMisjiSek = czas.wMinute - 60;
                }
                if( czas.wHour >= CzasMisjiGodz && czas.wMinute >= CzasMisjiMin && czas.wSecond >= CzasMisjiSek ) {
                    std::cout << " Wykonane!";
                    getch();
                    Blokada = 0;
                } else {
                    std::cout << " Niewykonane.";
                    getch();
                }
            }
        }
    } while( CzasEnd != 1 );
   
}
P-55663
Admixior
» 2012-04-30 20:54:33
Po uno CzasEnd zanim przejdzie przez to:
C/C++
}
} while( CzasEnd != 1 );

musisz mu coś przypisać,jeśli chcesz żeby pętla ciągle była po prostu napisz true albo 1, jeżeli do czegoś innego słurzy to przypisz odpowiednią wartość.

Po drugie:
C/C++
Godziny = czas.wHour;
Minuty = czas.wMinute;
Sekundy = czas.wSecond;
nigdzie tego nie używasz więc po co marnować cenne linijki kodu na deklaracje i przypisanie(no chyba że to jest kod wycięty)

po trzecie:
nie będę dawał gotowca podpowiem że masz problem z pobieraniem czasu. Zobacz kiedy się on pobiera (a kiedy (za każdym razem) powinien), która godzina jest na ekranie, a która powinna być...
P-55693
Temes
Temat założony przez niniejszego użytkownika
» 2012-04-30 22:28:10
Wow... Nie spodziewałem się że wyjdzie :O
Działa... O_O Nareszcie... Tak długo... A wystarczyło zmienić 2 linijki kodu i usunąć jakieś 5...
...
...
Czuję się jakby moje życie stało się jaśniejsze O_O

/EDIT
Edit nieaktualny :x Znalazłem rozwiązanie
P-55702
1 2 « 3 »
Poprzednia strona Strona 3 z 3