Zamiana minut na sekundy

0

Witam,

Poniżej przedstawiam prosty program, który ma wyliczać ile czasu mamy na odpoczynek między kolejnymi seriami ćwiczeń.
Podajemy ile mamy powtórzeń i ile one trwają oraz ile czasu mamy na zrobienie x powtórzeń. Z tych danych należy obliczyć ile średnio będziemy odpoczywać.

Kompletnie nie wiem, gdzie robię błąd:

#include <stdio.h>

int main(int argc, char **argv)
{
    int x;

    float czas_na_odpoczynek, ilosc_powtorzen, czas_na_wszystkie_cwiczenia, 
    czas_na_jedno_powtorzenie_min, czas_na_jedno_powtorzenie_sek,
    czas_na_jedno_powtorzenie, ostateczny_wynik, wynik;

    printf("Podaj czas w jakim robisz jedno powtorzenie (xmin ysek): ");                  //2min 34sek
    scanf("%fmin %fsek", &czas_na_jedno_powtorzenie_min, &czas_na_jedno_powtorzenie_sek);
    printf("Podaj ile serii musisz wykonac: ");                                           //5 serii
    scanf("%f", &ilosc_powtorzen);
    printf("Podaj jak dlugo mozesz wykonywac wszystkie serie: ");                         //przez 30 min
    scanf("%f", &czas_na_wszystkie_cwiczenia);

    czas_na_wszystkie_cwiczenia *= 60;
    czas_na_jedno_powtorzenie = czas_na_jedno_powtorzenie_min * 60 + czas_na_jedno_powtorzenie_sek;
    czas_na_odpoczynek = ((czas_na_wszystkie_cwiczenia - ilosc_powtorzen * czas_na_jedno_powtorzenie) / (ilosc_powtorzen - 1)) / 60;
    x = czas_na_odpoczynek;
    ostateczny_wynik = czas_na_odpoczynek - x;
    wynik = 0.6 * ostateczny_wynik + x; 

    printf("Czas jaki masz na odpoczynek miedzy seriami to: %fmin. \n", wynik);

    return 0;
}
0

Kompletnie nie wiem, gdzie robię błąd

Cóż za ironia bo nie wiemy jaki to błąd. W domyśle przyjmuje że po właczeniu programu pada prąd w całym domu.

0

Tu masz błąd:

 scanf("%fmin %fsek", &czas_na_jedno_powtorzenie_min, &czas_na_jedno_powtorzenie_sek);

Kod wrzucaj w tagi "np. code=c".

#include <stdio.h>
int main(int argc, char **argv){
    int x;
    float czas_na_odpoczynek, ilosc_powtorzen, czas_na_wszystkie_cwiczenia,
    czas_na_jedno_powtorzenie_min, czas_na_jedno_powtorzenie_sek,
    czas_na_jedno_powtorzenie, ostateczny_wynik, wynik;
    printf("Podaj czas w jakim robisz jedno powtorzenie (xmin ysek): ");                  //2min 34sek
    scanf("%f %f",&czas_na_jedno_powtorzenie_min,&czas_na_jedno_powtorzenie_sek);
    printf("Podaj ile serii musisz wykonac: ");                                           //5 serii
    scanf("%f",&ilosc_powtorzen);
    printf("Podaj jak dlugo mozesz wykonywac wszystkie serie: ");                         //przez 30 min
    scanf("%f", &czas_na_wszystkie_cwiczenia);
    czas_na_wszystkie_cwiczenia *= 60;
    czas_na_jedno_powtorzenie = czas_na_jedno_powtorzenie_min * 60 + czas_na_jedno_powtorzenie_sek;
    czas_na_odpoczynek = ((czas_na_wszystkie_cwiczenia - ilosc_powtorzen * czas_na_jedno_powtorzenie) / (ilosc_powtorzen - 1)) / 60;
    x = czas_na_odpoczynek;
    ostateczny_wynik = czas_na_odpoczynek - x;
    wynik = 0.6 * ostateczny_wynik + x;
    printf("Czas jaki masz na odpoczynek miedzy seriami to: %fmin. \n", wynik);
    return 0;
}
0

Niestety taki sam błąd - chodzi mi o to żeby podać wynik w postaci x min y sek. Mi natomiast wychodzi ułamek dziesiętny.

0

Po pierwsze nie napisałeś o co Ci chodzi na początku. Wrzuciłem do ide, to wywalało się na linijce którą Ci wskazałem.
Po drugie dlaczego nie wczytujesz tych danych do intów?
Później wystarczy obliczyć ilość sekund nio i wiedzieć, że minuta składa się z 60s :p

0

Przykład z dowolną sumą:

a) 80s to 1minuta 20 sek

b) 80s to 1.(3) - ponieważ 80 / 60 daje taki wynik

Mi chodzi żeby uzyskać wynik jak w przykładzie A.
To co mam w programie nie obliczy mi czasu w taki sposób jak w A tylko mniej więcej jak w B.

I sorki, że nie wytłumaczyłem na samym początku.

0
#include <stdio.h>
int minuty(int *zmienna){
    int m=0;
    while((*zmienna)>59){
        m++;
        (*zmienna)-=60;
    }
    return m;
}
int main(void){
    int s=80;
    printf("%d ",minuty(&s));
    printf("%d ",(s));
    return 0;
}
0

Faktycznie, tyle starczy:

int s=80;
printf("%d %d",(s/60),(s%60));

@sephirot8608 już mi chyba coś siada;P

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