Răspuns :
Răspuns:
#include <iostream>
using namespace std;
typedef struct timp{
int ora;
int minut;
};
int main()
{
char numar_inmatriculare[11];
timp sosire;
timp plecare;
cout << "Introduceti numarul de inmatriculare al masinii: ";
cin.getline(numar_inmatriculare, 11);
cout << "Introduceti ora si minutul sosirii (cu spatiu intre ele - ex. 17 8 sau 8 49): ";
cin >> sosire.ora >> sosire.minut;
cout << "Introduceti ora si minutul plecarii (cu spatiu intre ele - ex. 17 8 sau 8 49): ";
cin >> plecare.ora >> plecare.minut;
cout << endl;
int taxa = 0;
taxa = plecare.ora - sosire.ora;
if (plecare.minut > sosire.minut)
taxa += 1;
cout << "Taxa de parcare pentru autoturismul " << numar_inmatriculare << " este de " << taxa*2 << " lei.";
return 0;
}
Explicație:
- in structura timp am considerat ora si minutul de tip intreg
- numarul de inmatriculare are maxim 10 caractere (2 pentru judet, 3 pentru cifre, 3 pentru litere si spatiile dintre acestea)
- pentru citire am folosit cin.getline() ca sa putem avea spatii in numarul de inmatriculare
- dupa citirea orelor/ minutelor putem calcula numarul de ore in care autoturismul a stationat. in plus, daca pe langa orele intregi mai sunt minute in plus (acel if) se considera ora noua si se adauga +1, apoi la final inmultim cu taxa aleasa, adica 2
- in main pentru obiectele de tip timp putem accesa membrii (ora si minutul) folosindu-ne de caracterul `.` astfel avem structuri de tip: plecare.ora = x, x += plecare.minut etc.
Pentru orice alte intrebari sau nelamuriri iti stau la dispozitie atat in comentarii cat si in privat.
Spor!