Odmierzanie czasu

0

Cześć!

Chciałbym napisać program, który używając struktury obliczyłby jaka byłaby godzina za jakiś czas.
Na przykład. Jest 13:40. Odmierzamy 48h i 10m. Wynik to 13:50.

Na razie napisałem tylko taki kawałek kodu. Nie doszedłem do tego jak to odliczyć. Myślałem nad pętlą for albo while w której zamieszczę ifa, który będzie zerował czas po przekroczeniu 23 godziny, ale w treści pewnego zadania jest trudniejszy sposób, bo należy zamieścić w funkcji advance dwie struktury, jedna to godzina, a druga to czas do odmierzenia, a ja jeszcze nie robiłem czegoś takiego.
Będę wdzięczny za wskazówki.

#include <iostream>
#include <stdio.h>


// struktura przechowuje liczbę godzin i minut.Reprezentuje godzine, np 12:30 lub interwał np 48h i 10min.

struct Time
{
    int godzina, minuta, godzina2, minuta2;
};

Time valid(Time tablica[])
{
        if (tablica.godzina < 23 && tablica.minuta < 59)
           return cout << "Prawda" << endl;                              // Tutaj sprawdzam, czy aby została podana właściwa godzina.
        else
           return cout << "Fałsz" << endl;
}


// Funkcja advance przyjmuje dwie struktury typu Time, pierwszą traktuje jako
// godzinę, a drugą jako interwał, i zwraca struktuę typu Time zawierającą wynik. 

int advance(Time tablica[])
{
   
}

using namespace std;

int main()
{

    Time tablica[4];
    cout << "Podaj pare liczb reprezentujaca godzine" << endl;
    cin >> tablica[1].godzina >> tablica[2].minuta;
    
    cout << "Podaj pare liczb reprezentujaca interwal czasowy" << endl;
    cin >> tablica[3].godzina >> tablica[4].minuta2;

    valid(tablica);
    advance();
}
0
h1:m1 + h2:m2 = ?
m = m1 + m2
? = (h1+h2+(m div 60)) mod 24 : (m mod 60)

Z głowy. Nie sprawdzane.

0

http://www.cplusplus.com/reference/ctime/tm/
http://www.cplusplus.com/reference/ctime/mktime/

The values of the members tm_wday and tm_yday of timeptr are ignored, and the values of the other members are interpreted even if out of their valid ranges (see struct tm). For example, tm_mday may contain values above 31, which are interpreted accordingly as the days that follow the last day of the selected month.

jest jeszcze C++11 http://www.cplusplus.com/reference/chrono/

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