School-Coding-Cpp/struct/lavoro.cpp

43 lines
1.1 KiB
C++

/*
AUTORE: Manuel Vichi
Struct di lavori con durata e costo al minuto
*/
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
typedef struct {
int ore;
int minuti;
double costoAlMinuto;
} lavoro;
void riempiRnd(lavoro arr[], int n) {
for (int i = 0; i < n; i++) {
arr[i].ore = rand() % 8;
arr[i].minuti = rand() % 60;
arr[i].costoAlMinuto = (rand() % 300) / 100.0f;
}
}
double costoTotale(lavoro arr[], int n) {
double totale = 0.0f;
for (int i = 0; i < n; i++) {
int minuti = arr[i].ore * 60 + arr[i].minuti;
totale += minuti * arr[i].costoAlMinuto;
}
return totale;
}
void print(lavoro arr[], int n) {
for (int i = 0; i < n; i++) {
cout << "Lavoro " << i+1 << ": " << arr[i].ore << " Ore, " << arr[i].minuti << " Minuti, Stipendio: " << arr[i].costoAlMinuto << " euro al minuto." << endl;
}
}
int main(void) {
int size = 10;
lavoro lavori[size];
srand(time(NULL));
riempiRnd(lavori,size);
print(lavori,size);
cout << "Costo totale: " << costoTotale(lavori,size) << " euro" << endl;
return 0;
}