Stránka 1 z 1

C++ - lehká vada

Napsal: stř 31. říj 2012, 19:09
od acerr
Ahoj, kde mam chybu? mělo by to napsat kolik dnů, hodin a minut je v sekundách co vloží uživatel - třeba v knize je 316 000 00 a má vyjít 365dnů, 46min a 40s

mě to nevychází, proč?

Kód: Vybrat vše

#include <iostream>
int main()
{
    using namespace std;
    const int sec_in_day = 86400;
    const int sec_in_hour = 3600;
    const int  sec_in_minute = 60;

    cout << "Zadejte pocet sekund: ";
    unsigned long sec;
    cin >> sec;
    int day = sec / sec_in_day;
    int residue_of_day = sec % sec_in_day;
    int hour = residue_of_day / sec_in_hour;
    int residue_of_hour = sec % hour;
    float sec_result = residue_of_hour / sec_in_minute;

    cout << sec << "je: " << day << " dni " << hour << " hodin " << sec_result << " sekund." ;
    return 0;
}

Re: C++ - lehká vada

Napsal: stř 31. říj 2012, 21:02
od OndraSter
A co vychází?

Re: C++ - lehká vada

Napsal: stř 31. říj 2012, 21:26
od acerr
365dní, 17hodin 0sekund

Re: C++ - lehká vada

Napsal: stř 31. říj 2012, 21:59
od N_o_c_l_a_f
Budto blbe ctes, nebo maji v knize tiskovou chybu a zaroven mas chybu v kodu.

Ma to vychazet 365d 17h 46m 40s

Kde tam pocitas kolik je vysledek v minutach? A ani to netisknes.

Re: C++ - lehká vada

Napsal: stř 31. říj 2012, 22:10
od acerr
no v knize mají minuty a né hodiny - to je má chyba ale i tak to nevychází - jak má vypadat opravenej kod?

Re: C++ - lehká vada

Napsal: čtv 1. lis 2012, 08:12
od N_o_c_l_a_f
IMHO residue of hour musis pocitat do minut, spocitat residue of minute a z toho teprve sekundy.

Re: C++ - lehká vada

Napsal: čtv 1. lis 2012, 09:04
od acerr
tady je chyba:

#include <iostream>
int main()
{
using namespace std;
const int sec_in_day = 86400;
const int sec_in_hour = 3600;
const int sec_in_minute = 60;

cout << "Zadejte pocet sekund: ";
unsigned long sec;
cin >> sec;
int day = sec / sec_in_day;
int residue_of_day = sec % sec_in_day;
int hour = residue_of_day / sec_in_hour;
int residue_of_hour = sec % hour;
int sec_result = residue_of_hour / sec_in_minute;

cout << sec << "je: " << day << " dni " << hour << " hodin " << sec_result << " sekund." ;
return 0;
}

už sem to našel

Re: C++ - lehká vada

Napsal: čtv 1. lis 2012, 09:09
od acerr
už to běhá správně, dík

můžete LOCK