diff --git a/struct/lavoro.cpp b/struct/lavoro.cpp new file mode 100644 index 0000000..f10a9bd --- /dev/null +++ b/struct/lavoro.cpp @@ -0,0 +1,43 @@ +/* +AUTORE: Manuel Vichi +Struct di lavori con durata e costo al minuto +*/ +#include +#include +#include +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; +} \ No newline at end of file diff --git a/struct/max_min_media_struct.cpp b/struct/max_min_media_struct.cpp new file mode 100644 index 0000000..b9abd64 --- /dev/null +++ b/struct/max_min_media_struct.cpp @@ -0,0 +1,48 @@ +/* +AUTORE: Manuel Vichi +Valore massimo, minimo e media con struct +*/ +#include +#include +#include +using namespace std; +typedef struct { + int max; + int min; + int media; +} matematica; + +matematica aritmetica(int arr[], int n) { + int somma,valoremax = 0, valoremin = INT_MAX; + matematica s; + for (int i = 0; i < n; i++) { + somma += arr[i]; + if (arr[i] > valoremax) + valoremax = arr[i]; + if (arr[i] < valoremin) + valoremin = arr[i]; + } + s.media = somma/n; + s.max = valoremax; + s.min = valoremin; + return s; +} + +void stampaMatematica(matematica struttura) { + cout << "Valore massimo: " << struttura.max << endl << "Valore minimo: " << struttura.min << endl << "Media: " << struttura.media << endl; +} + +int main(void) { + cout << "Inserisci il numero di valori da chiedere in input: "; + int valori; + cin >> valori; + cout << endl; + int arr[valori]; + for (int i = 0; i < valori; i++) { + cout << "Inserisci il valore per la posizione " << i << " dell'array: "; + cin >> arr[i]; + cout << endl; + } + stampaMatematica(aritmetica(arr,valori)); + return 0; +}