From ca02c7b2aacdf2132edabd6a267dc7101e6001bd Mon Sep 17 00:00:00 2001 From: Mr SL1D3R <76396365+Mr-sl1d3r@users.noreply.github.com> Date: Sun, 13 Oct 2024 21:49:19 +0200 Subject: [PATCH] update --- README.md | 9 +++++++++ funzioni.c | 30 ++++++++++++++++++++++++++++++ funzioni.h | 16 ++++++++++++++++ main.c | 14 ++++++++++++-- 4 files changed, 67 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e69de29..063099b 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,9 @@ +# AUTOVELOX + +Si vuole realizzare un programma per il seguente problema: si vogliono memorizzare i dati delle automobili che superano il limite di velocità. Il programma principale deve poter eseguire operazioni quali l’inserimento di una nuova infrazione, la ricerca delle infrazioni a partire dalla targa del veicolo oppure per data, la cancellazione dall’archivio di una infrazione a seguito del pagamento. Le infrazioni vengono memorizzate in un file dal nome fisso. +Si richiede di: +- Definire una struttura Multa adatta a contenere i dati di una infrazione (targa, velocità misurata, data e ora) e un array globale in grado di contenere i puntatori di un massimo di 1000 infrazioni. Viene gestito con il valore NULL nel primo posto libero. +- Realizzare una funzione che restituisce un puntatore alla struct Multa con i dati dell’infrazione ricevuti come parametri +- Realizzare una funzione che aggiunge una infrazione all’array globale, nel “primo” posto libero +- Realizzare una funzione che calcola il numero di infrazioni memorizzate nell’array globale che sono state comminate ad una automobile di cui è fornita la targa. +- Realizzare la funzione che salva sul file tutte le infrazioni contenute nell’array globale. diff --git a/funzioni.c b/funzioni.c index 3c71c2e..5109c6b 100644 --- a/funzioni.c +++ b/funzioni.c @@ -3,3 +3,33 @@ // #include "funzioni.h" +#include +#include +#include + +// Funzione che restituisce un puntatore alla struct Multa con i dati dell’infrazione ricevuti come parametri +Multa *creaMulta(char targa[], char data[], char ora[], char velocita[], char limite[], char importo[], char pagata[]){ + Multa *m = (Multa *)malloc(sizeof(Multa)); + strcpy(m->targa, targa); + strcpy(m->data, data); + strcpy(m->ora, ora); + strcpy(m->velocita, velocita); + strcpy(m->limite, limite); + strcpy(m->importo, importo); + strcpy(m->pagata, pagata); + return m; +} + +void iniziaMulta(Multa *multe[]){ + for(int i = 0; i < 1000; i++){ + multe[i] = NULL; + } +} + +void aggiungiMulta(Multa *multe[], Multa *m){ + int i = 0; + while(multe[i] != NULL){ + i++; + } + multe[i] = m; +} diff --git a/funzioni.h b/funzioni.h index 3759bbc..06d3c1d 100644 --- a/funzioni.h +++ b/funzioni.h @@ -5,4 +5,20 @@ #ifndef AUTOVELOX_FUNZIONI_H #define AUTOVELOX_FUNZIONI_H +typedef struct { + char targa[8]; + char data[11]; + char ora[6]; + char velocita[4]; + char limite[4]; + char importo[6]; + char pagata[2]; +}Multa; + + + +Multa *creaMulta(char targa[], char data[], char ora[], char velocita[], char limite[], char importo[], char pagata[]); +void iniziaMulta(Multa *multe[]); +void aggiungiMulta(Multa *multe[], Multa *m); + #endif //AUTOVELOX_FUNZIONI_H diff --git a/main.c b/main.c index 63f8805..0c17b8c 100644 --- a/main.c +++ b/main.c @@ -1,6 +1,16 @@ +/*Si vuole realizzare un programma per il seguente problema: si vogliono memorizzare i dati delle automobili che superano il limite di velocità. Il programma principale deve poter eseguire operazioni quali l’inserimento di una nuova infrazione, la ricerca delle infrazioni a partire dalla targa del veicolo oppure per data, la cancellazione dall’archivio di una infrazione a seguito del pagamento. Le infrazioni vengono memorizzate in un file dal nome fisso. +Si richiede di: +Definire una struttura Multa adatta a contenere i dati di una infrazione (targa, velocità misurata, data e ora) e un array globale in grado di contenere i puntatori di un massimo di 1000 infrazioni. Viene gestito con il valore NULL nel primo posto libero. +Realizzare una funzione che restituisce un puntatore alla struct Multa con i dati dell’infrazione ricevuti come parametri +Realizzare una funzione che aggiunge una infrazione all’array globale, nel “primo” posto libero +Realizzare una funzione che calcola il numero di infrazioni memorizzate nell’array globale che sono state comminate ad una automobile di cui è fornita la targa. +Realizzare la funzione che salva sul file tutte le infrazioni contenute nell’array globale. +*/ + #include int main(void) { - printf("Hello, World!\n"); - return 0; + + + }