This commit is contained in:
Mr SL1D3R 2024-10-13 21:49:19 +02:00
parent 28160b3ff7
commit ca02c7b2aa
4 changed files with 67 additions and 2 deletions

View File

@ -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 linserimento di una nuova infrazione, la ricerca delle infrazioni a partire dalla targa del veicolo oppure per data, la cancellazione dallarchivio 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 dellinfrazione ricevuti come parametri
- Realizzare una funzione che aggiunge una infrazione allarray globale, nel “primo” posto libero
- Realizzare una funzione che calcola il numero di infrazioni memorizzate nellarray globale che sono state comminate ad una automobile di cui è fornita la targa.
- Realizzare la funzione che salva sul file tutte le infrazioni contenute nellarray globale.

View File

@ -3,3 +3,33 @@
// //
#include "funzioni.h" #include "funzioni.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 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[], 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;
}

View File

@ -5,4 +5,20 @@
#ifndef AUTOVELOX_FUNZIONI_H #ifndef AUTOVELOX_FUNZIONI_H
#define 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 #endif //AUTOVELOX_FUNZIONI_H

14
main.c
View File

@ -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 linserimento di una nuova infrazione, la ricerca delle infrazioni a partire dalla targa del veicolo oppure per data, la cancellazione dallarchivio 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 dellinfrazione ricevuti come parametri
Realizzare una funzione che aggiunge una infrazione allarray globale, nel primo posto libero
Realizzare una funzione che calcola il numero di infrazioni memorizzate nellarray globale che sono state comminate ad una automobile di cui è fornita la targa.
Realizzare la funzione che salva sul file tutte le infrazioni contenute nellarray globale.
*/
#include <stdio.h> #include <stdio.h>
int main(void) { int main(void) {
printf("Hello, World!\n");
return 0;
} }