Update function and extend global variabile

This commit is contained in:
Mr SL1D3R 2024-10-15 08:47:18 +02:00
parent 216d7598ce
commit 16ccd8c0e7
3 changed files with 16 additions and 14 deletions

View File

@ -7,8 +7,10 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
extern Multa *multe[1000];
// Funzione che restituisce un puntatore alla struct Multa con i dati dellinfrazione ricevuti come parametri // Funzione che restituisce un puntatore alla struct Multa con i dati dellinfrazione ricevuti come parametri
Multa *creaMulta(char targa[], char data[], char ora[], char velocita[]){ Multa *creaMulta(char targa[], char data[], char ora[], float velocita[]){
Multa *m = (Multa *)malloc(sizeof(Multa)); Multa *m = (Multa *)malloc(sizeof(Multa));
strcpy(m->targa, targa); strcpy(m->targa, targa);
strcpy(m->data, data); strcpy(m->data, data);
@ -25,7 +27,7 @@ void iniziaMulta(Multa *multe[]){
} }
// Funzione che aggiunge una infrazione allarray globale, nel “primo” posto libero // Funzione che aggiunge una infrazione allarray globale, nel “primo” posto libero
void aggiungiMulta(Multa *multe[], Multa *m){ void aggiungiMulta(Multa *m){
int i = 0; int i = 0;
while(multe[i] != NULL){ while(multe[i] != NULL){
i++; i++;
@ -34,7 +36,7 @@ void aggiungiMulta(Multa *multe[], Multa *m){
} }
// Funzione che calcola il numero di infrazioni memorizzate nellarray globale che sono state comminate ad una automobile di cui è fornita la targa // Funzione che calcola il numero di infrazioni memorizzate nellarray globale che sono state comminate ad una automobile di cui è fornita la targa
void calcolaInfrazioni(Multa *multe[], char targa[]){ int calcolaInfrazioni(float targa[]){
int i = 0; int i = 0;
int count = 0; int count = 0;
while(multe[i] != NULL){ while(multe[i] != NULL){
@ -43,7 +45,7 @@ void calcolaInfrazioni(Multa *multe[], char targa[]){
} }
i++; i++;
} }
printf("Il numero di infrazioni per la targa %s è %d\n", targa, count); return count;
} }
// Funzione che salva sul file tutte le infrazioni contenute nellarray globale // Funzione che salva sul file tutte le infrazioni contenute nellarray globale

View File

@ -12,10 +12,10 @@ typedef struct {
char velocita[4]; char velocita[4];
}Multa; }Multa;
Multa *creaMulta(char targa[], char data[], char ora[], char velocita[]); Multa *creaMulta(char targa[], char data[], char ora[], float velocita[]);
void iniziaMulta(Multa *multe[]); void iniziaMulta(Multa *multe[]);
void aggiungiMulta(Multa *multe[], Multa *m); void aggiungiMulta(Multa *m);
void calcolaInfrazioni(Multa *multe[], char targa[]); int calcolaInfrazioni(float targa[]);
void salvaInfrazioni(Multa *multe[]); void salvaInfrazioni(Multa *multe[]);
#endif //AUTOVELOX_FUNZIONI_H #endif //AUTOVELOX_FUNZIONI_H

14
main.c
View File

@ -21,14 +21,14 @@ int main(void) {
Multa *m3 = creaMulta("CD456EF", "12/10/2024", "12:32", "140"); Multa *m3 = creaMulta("CD456EF", "12/10/2024", "12:32", "140");
Multa *m4 = creaMulta("EF789GH", "12/10/2024", "12:33", "150"); Multa *m4 = creaMulta("EF789GH", "12/10/2024", "12:33", "150");
aggiungiMulta(multe, m1); aggiungiMulta(m1);
aggiungiMulta(multe, m2); aggiungiMulta(m2);
aggiungiMulta(multe, m3); aggiungiMulta(m3);
aggiungiMulta(multe, m4); aggiungiMulta(m4);
calcolaInfrazioni(multe, "AB123CD"); printf("Infrazioni per la targa AB123CD: %d\n", calcolaInfrazioni("AB123CD"));
calcolaInfrazioni(multe, "CD456EF"); printf("Infrazioni per la targa CD456EF: %d\n", calcolaInfrazioni("CD456EF"));
calcolaInfrazioni(multe, "EF789GH"); printf("Infrazioni per la targa EF789GH: %d\n", calcolaInfrazioni("EF789GH"));
salvaInfrazioni(multe); salvaInfrazioni(multe);