Problem z pętlą while

0

Zrobiłam program, który przelicza czas w minutach na godziny i minuty, tylko mam problem z uwzględnieniem też tego, kiedy użytkownik wpisze 0 lub minusową liczbę. Te warunki dałam poza pętlą, ale działa tylko gdy na początku wpisze 0 lub minusową liczbę, a w trakcie wykonywania pętli po protu wyświetla mi np 0h 0 min.
O to kod:

#include <stdio.h>
#include <stdlib.h>
#define GODZINA 60
int main()
{
int czas_w_minutach;
    printf("Podaj czas w minutach: ");
    scanf("%d",&czas_w_minutach);
    int czas_w_godzinach=czas_w_minutach/GODZINA;
    int reszta_z_minut=czas_w_minutach%GODZINA;
    printf("%d h %d min \n",czas_w_godzinach,reszta_z_minut);

    while(czas_w_minutach>0)
    {
    int czas_w_minutach;
    printf("Podaj czas w minutach: ");
    scanf("%d",&czas_w_minutach);
    int czas_w_godzinach=czas_w_minutach/GODZINA;
    int reszta_z_minut=czas_w_minutach%GODZINA;
    printf("%d h %d min \n",czas_w_godzinach,reszta_z_minut);

    }
    czas_w_minutach<0;
    czas_w_minutach=0;
    printf("Czas w minutach nie moze byc ujemny lub rowny zero!");

    return 0;
    }


0

Nie wiem co to stworzyłeś ale jest coś takiego jak if.

if(czas_w_minutach <= 0) {
    printf("Czas w minutach nie moze byc ujemny lub rowny zero!");
} else {
    int czas_w_godzinach=czas_w_minutach/GODZINA;
    int reszta_z_minut=czas_w_minutach%GODZINA;
    printf("%d h %d min \n",czas_w_godzinach,reszta_z_minut);
}
0
szweszwe napisał(a):

Nie wiem co to stworzyłeś ale jest coś takiego jak if.

if(czas_w_minutach <= 0) {
    printf("Czas w minutach nie moze byc ujemny lub rowny zero!");
} else {
    int czas_w_godzinach=czas_w_minutach/GODZINA;
    int reszta_z_minut=czas_w_minutach%GODZINA;
    printf("%d h %d min \n",czas_w_godzinach,reszta_z_minut);
}

If-ów w książce jeszcze nie było, więc da się innym sposobem to zrobić

0

To będzie chyba coś takiego

#include <iostream>

using namespace std;

int main()
{
    int czas = 0;
    cout << "podaj czas\n";
    cin >> czas;
    while (czas <= 0)
    {
        cout << "podaj poprawny czas\n";
        cin >> czas;
    }
    int minuty = czas % 60, godziny = (czas - minuty) / 60;
    cout << godziny << " : " << minuty;
}


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