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

Przedział czasu - jaka formuła to zapisac?

Ostatnio zmodyfikowano 2010-03-13 09:07
Autor Wiadomość
benRNZ
Temat założony przez niniejszego użytkownika
» 2010-03-07 00:06:27
Z dniami sobie juz poradzilem zrobilem je poprzez switch, a potem case 1:, case 2: itp.
Na poczatku dalem konsole, w ktorej wybieramy dzien, poprzez wpisanie odpowiednij liczby (poniedzialek = 1 itd)

No boli mnie tylko wlasnie jeszcze to, ze godzine mam w dwoch zmiennych :/
No ale jak na razie to na moja glowe, nie wiem jak to zamienic na jedna, by to wszystko sprawnie dzialolo.
Co innego gdyby lekcje miescily sie tylko w jednej godz, a nie jak to jest np od 9:45 do 10:30.
P-14690
pekfos
» 2010-03-07 17:38:30
było już wyjaśnione jak trzymać godziny w jednej zmiennej
czas=godziny*60+minuty
P-14710
benRNZ
Temat założony przez niniejszego użytkownika
» 2010-03-08 18:49:59
Zrobiłem to tak:

C/C++
int godz, min, czas;

do
{
    cout << "\nPodaj godzine ";
    cin >> godz;
    cin >> min;
   
    if( min > 60 || godz > 24 )
         cout << "\n\n\tBlad! Nie ma takiej godziny, jeszcze raz.\n\n\n";
   
}
while( min > 60 || godz > 24 );

godz = godz * 60;
czas = godz + min;

Teraz zeby podac godzine, najpierw wpisujemy, np 12(spacja)42(enter) i wszystko pieknie. Tylko chcialbym zamiast (spacja) dac np ":", jest taka mozliwosc ?
P-14779
malan
» 2010-03-08 19:07:37
Chyba najprościej:
C/C++
#include <iostream>
int main()
{
    int h, m;
    char buffor;
   
    std::cin >> h >> buffor >> m;
    // podajesz np. 12:42
   
    std::cout << h << " " << m;
   
    std::cin.sync();
    std::cin.get();
    return 0;
};
P-14784
benRNZ
Temat założony przez niniejszego użytkownika
» 2010-03-10 20:05:35
Jak dalem w ten sposob:
C/C++
{
    cout << "\nPodaj godzine ";
    int h, m;
    char buffor;
    do
    {
        std::cin >> h >> buffor >> m;
        // podajesz np. 12:42
       
        std::cout << h << " " << m;
        if( h > 24 || m > 60 )
        {
            system( "cls" );
            cout << "\n\nNie ma takiej godz! Jeszcze raz prosze podac" << endl;
        }
    }
    while( h > 24 || m > 60 );
   
    std::cin.sync();
    std::cin.get();
   
    czas = h * 60 + m;
};
Wpisuje godz ";" lub ":" minute(12;45) i enter, wtedy sie wyswietla samo np "12 45", musze dac jeszcze raz enter i dopiero podaje jaka mam lekcje. Jak wyeliminować ten drugi enter? To samo sie dzieje, gdy podam zla godz, wtedy tez trzeba dwa razy enter.

P-14865
Bartaz
...
» 2010-03-10 20:45:56
Dzieje sie tak chyba dlatego ze wczytujes wartosci dwoch zmiennych ,wiec wczytasz godziny zatwierdzasz enterem a potem wczytujessz minuty i zatwierdzasz znowu godziny.
P-14870
szyx_yankez
» 2010-03-10 20:58:30
Entera się chyba niepozbędziesz.
P-14873
malan
» 2010-03-10 23:13:18
std::cin.sync();
std::cin.get();
To daj na koniec programu/ głównej pętli.
P-14884
1 2 « 3 » 4
Poprzednia strona Strona 3 z 4 Następna strona