Funkcja scanf i mnożenie liczb

2016-04-07 14:33

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0

mam takie zadanko :

Zapytać użytkownika o ilość godzin, a następnie wyświetlić podaną ilość godzin przeliczoną
kolejno na:

– minuty,
– dni (całe) + godziny,
– tygodnie (z częścią ułamkową).

Przykładowa komunikacja z użytkownikiem:

Wpisz ilosc godzin: 202
202 godziny to:
12120 minut
8 dni i 10 godzin
1.2024 tygodni

Okey tylko jak ma wyglądać mnożenie liczb - mnożenie liczby podanej przez liczbę?

Z góry dzięki :)

edytowany 1x, ostatnio: furious programming, 2016-04-07 17:35
Następnym razem wątek poleci do kosza, za bzdurny i nieopisowy tytuł; Poza tym nie ilość godzin, a liczba godzin, bo godziny są policzalne; - furious programming 2016-04-07 17:35
Tak mi mój wykładowca napisał, a ja z doktorem się kłócić nie zamierzam, sorki nie wiedziałem jaki jest odpowiedni. - Shybiss 2016-04-07 17:38
Doktor nie doktor - mowa o języku polskim, więc kto źle prawi, powinien być poprawiony :) W razie wątpliwości co do tytułowania wątków, zawsze możesz zaglądnąć tutaj: Jak tytułować wątki na forum? - furious programming 2016-04-07 17:40

Pozostało 580 znaków

2016-04-07 14:36

Rejestracja: 8 lat temu

Ostatnio: 4 tygodnie temu

2

przeczytaj jakis kurs... sadze ze w pierwszych dwoch rozdzialach powinno to byc.

Pozostało 580 znaków

kq
2016-04-07 14:54
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 20 godzin temu

Lokalizacja: Szczecin

3

Wczytujesz, np. do zmiennej hours. Potem wyświetlasz.

Minuty - trywialne:

printf("minut: %d\n", 60 * hours);

Dni i godziny - polecam modulo (%), a do tygodni zamień ilość godzin na liczbę zmiennoprzecinkową. Tydzień ma 168 godzin.


Pozostało 580 znaków

2016-04-07 15:39

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0

Dzięki kq :) źle wpisywałem. A jak mogę zamienić na zmiennoprzecinkową?

Pozostało 580 znaków

kq
2016-04-07 15:42
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 20 godzin temu

Lokalizacja: Szczecin

3

Rzutuj na double, albo skorzystaj z niejawnej konwersji i wykonaj działanie gdzie jednym z operandów będzie double:

double weeks = hours / 168.0;

Pozostało 580 znaków

2016-04-07 15:56

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0

No nie wiem do końca jak, double jeszcze nie miałem, tylko nie wiem nadal jak te tygodnie.

#include <cstdio>
int main() {

int h;
       printf ("Wpisz ilosc godzin: ");
       scanf ("%d",&h);
       printf ("%d godziny to: \n",h);
       printf ("%d minut\n",h*60);
       printf ("%d dni i %d godzin\n",h/24,h%24);
       double w=h/168.0;
       printf ("%f tygodni",w/168);

       return 0;
}

Pozostało 580 znaków

kq
2016-04-07 15:58
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 20 godzin temu

Lokalizacja: Szczecin

168.0 i 168 to zupełnie inne typy.


Pozostało 580 znaków

2016-04-07 15:58

Rejestracja: 14 lat temu

Ostatnio: 3 dni temu

0

Napisz jak ma się te tygodnie wyświetlać powiedzmy dla h=247


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2016-04-07 16:02

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0

Jak w kalkulatorze : 1,4702

edytowany 1x, ostatnio: Shybiss, 2016-04-07 16:02

Pozostało 580 znaków

kq
2016-04-07 16:04
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 20 godzin temu

Lokalizacja: Szczecin

2

W ostatnim przedstawionym kodzie dwa razy dzielisz przez 168.


Pozostało 580 znaków

2016-04-07 16:06

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0

Okey, lepiej, ale drukuje mi teraz 1.00000 tygodni

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0