2024-10-13 08:13:26 +00:00
|
|
|
|
//
|
|
|
|
|
// Created by angel on 13/10/2024.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "funzioni.h"
|
2024-10-13 19:49:19 +00:00
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
2024-10-15 06:47:18 +00:00
|
|
|
|
extern Multa *multe[1000];
|
|
|
|
|
|
2024-10-13 19:49:19 +00:00
|
|
|
|
// Funzione che restituisce un puntatore alla struct Multa con i dati dell’infrazione ricevuti come parametri
|
2024-10-15 06:47:18 +00:00
|
|
|
|
Multa *creaMulta(char targa[], char data[], char ora[], float velocita[]){
|
2024-10-13 19:49:19 +00:00
|
|
|
|
Multa *m = (Multa *)malloc(sizeof(Multa));
|
|
|
|
|
strcpy(m->targa, targa);
|
|
|
|
|
strcpy(m->data, data);
|
|
|
|
|
strcpy(m->ora, ora);
|
|
|
|
|
strcpy(m->velocita, velocita);
|
|
|
|
|
return m;
|
|
|
|
|
}
|
|
|
|
|
|
2024-10-15 05:42:03 +00:00
|
|
|
|
// Funzione che inizializza l'array di multe a NULL
|
2024-10-13 19:49:19 +00:00
|
|
|
|
void iniziaMulta(Multa *multe[]){
|
|
|
|
|
for(int i = 0; i < 1000; i++){
|
|
|
|
|
multe[i] = NULL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-10-15 05:42:03 +00:00
|
|
|
|
// Funzione che aggiunge una infrazione all’array globale, nel “primo” posto libero
|
2024-10-15 06:47:18 +00:00
|
|
|
|
void aggiungiMulta(Multa *m){
|
2024-10-13 19:49:19 +00:00
|
|
|
|
int i = 0;
|
|
|
|
|
while(multe[i] != NULL){
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
multe[i] = m;
|
|
|
|
|
}
|
2024-10-15 05:42:03 +00:00
|
|
|
|
|
|
|
|
|
// Funzione che calcola il numero di infrazioni memorizzate nell’array globale che sono state comminate ad una automobile di cui è fornita la targa
|
2024-10-15 06:47:18 +00:00
|
|
|
|
int calcolaInfrazioni(float targa[]){
|
2024-10-15 05:42:03 +00:00
|
|
|
|
int i = 0;
|
|
|
|
|
int count = 0;
|
|
|
|
|
while(multe[i] != NULL){
|
|
|
|
|
if(strcmp(multe[i]->targa, targa) == 0){
|
|
|
|
|
count++;
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
}
|
2024-10-15 06:47:18 +00:00
|
|
|
|
return count;
|
2024-10-15 05:42:03 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Funzione che salva sul file tutte le infrazioni contenute nell’array globale
|
|
|
|
|
void salvaInfrazioni(Multa *multe[]){
|
|
|
|
|
FILE *f = fopen("infrazioni.txt", "w");
|
|
|
|
|
int i = 0;
|
|
|
|
|
while(multe[i] != NULL){
|
|
|
|
|
fprintf(f, "%s %s %s %s\n", multe[i]->targa, multe[i]->data, multe[i]->ora, multe[i]->velocita);
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
fclose(f);
|
|
|
|
|
}
|