Autovelox/funzioni.c

58 lines
1.6 KiB
C
Raw Normal View History

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>
// Funzione che restituisce un puntatore alla struct Multa con i dati dellinfrazione ricevuti come parametri
2024-10-15 05:42:03 +00:00
Multa *creaMulta(char targa[], char data[], char ora[], char 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 allarray globale, nel “primo” posto libero
2024-10-13 19:49:19 +00:00
void aggiungiMulta(Multa *multe[], Multa *m){
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 nellarray globale che sono state comminate ad una automobile di cui è fornita la targa
void calcolaInfrazioni(Multa *multe[], char targa[]){
int i = 0;
int count = 0;
while(multe[i] != NULL){
if(strcmp(multe[i]->targa, targa) == 0){
count++;
}
i++;
}
printf("Il numero di infrazioni per la targa %s è %d\n", targa, count);
}
// Funzione che salva sul file tutte le infrazioni contenute nellarray 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);
}