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 <stdlib.h>
extern Multa *multe[1000];
// 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));
strcpy(m->targa, targa);
strcpy(m->data, data);
@ -25,7 +27,7 @@ void iniziaMulta(Multa *multe[]){
}
// Funzione che aggiunge una infrazione allarray globale, nel “primo” posto libero
void aggiungiMulta(Multa *multe[], Multa *m){
void aggiungiMulta(Multa *m){
int i = 0;
while(multe[i] != NULL){
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
void calcolaInfrazioni(Multa *multe[], char targa[]){
int calcolaInfrazioni(float targa[]){
int i = 0;
int count = 0;
while(multe[i] != NULL){
@ -43,7 +45,7 @@ void calcolaInfrazioni(Multa *multe[], char targa[]){
}
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

View File

@ -12,10 +12,10 @@ typedef struct {
char velocita[4];
}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 aggiungiMulta(Multa *multe[], Multa *m);
void calcolaInfrazioni(Multa *multe[], char targa[]);
void aggiungiMulta(Multa *m);
int calcolaInfrazioni(float targa[]);
void salvaInfrazioni(Multa *multe[]);
#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 *m4 = creaMulta("EF789GH", "12/10/2024", "12:33", "150");
aggiungiMulta(multe, m1);
aggiungiMulta(multe, m2);
aggiungiMulta(multe, m3);
aggiungiMulta(multe, m4);
aggiungiMulta(m1);
aggiungiMulta(m2);
aggiungiMulta(m3);
aggiungiMulta(m4);
calcolaInfrazioni(multe, "AB123CD");
calcolaInfrazioni(multe, "CD456EF");
calcolaInfrazioni(multe, "EF789GH");
printf("Infrazioni per la targa AB123CD: %d\n", calcolaInfrazioni("AB123CD"));
printf("Infrazioni per la targa CD456EF: %d\n", calcolaInfrazioni("CD456EF"));
printf("Infrazioni per la targa EF789GH: %d\n", calcolaInfrazioni("EF789GH"));
salvaInfrazioni(multe);