Aggiornate le funzioni
This commit is contained in:
parent
ca02c7b2aa
commit
618cf7a5ea
31
funzioni.c
31
funzioni.c
|
@ -8,24 +8,23 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
// Funzione che restituisce un puntatore alla struct Multa con i dati dell’infrazione ricevuti come parametri
|
// 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 *creaMulta(char targa[], char data[], char ora[], char velocita[]){
|
||||||
Multa *m = (Multa *)malloc(sizeof(Multa));
|
Multa *m = (Multa *)malloc(sizeof(Multa));
|
||||||
strcpy(m->targa, targa);
|
strcpy(m->targa, targa);
|
||||||
strcpy(m->data, data);
|
strcpy(m->data, data);
|
||||||
strcpy(m->ora, ora);
|
strcpy(m->ora, ora);
|
||||||
strcpy(m->velocita, velocita);
|
strcpy(m->velocita, velocita);
|
||||||
strcpy(m->limite, limite);
|
|
||||||
strcpy(m->importo, importo);
|
|
||||||
strcpy(m->pagata, pagata);
|
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Funzione che inizializza l'array di multe a NULL
|
||||||
void iniziaMulta(Multa *multe[]){
|
void iniziaMulta(Multa *multe[]){
|
||||||
for(int i = 0; i < 1000; i++){
|
for(int i = 0; i < 1000; i++){
|
||||||
multe[i] = NULL;
|
multe[i] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Funzione che aggiunge una infrazione all’array globale, nel “primo” posto libero
|
||||||
void aggiungiMulta(Multa *multe[], Multa *m){
|
void aggiungiMulta(Multa *multe[], Multa *m){
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while(multe[i] != NULL){
|
while(multe[i] != NULL){
|
||||||
|
@ -33,3 +32,27 @@ void aggiungiMulta(Multa *multe[], Multa *m){
|
||||||
}
|
}
|
||||||
multe[i] = m;
|
multe[i] = m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Funzione che calcola il numero di infrazioni memorizzate nell’array 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 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);
|
||||||
|
}
|
|
@ -10,15 +10,14 @@ typedef struct {
|
||||||
char data[11];
|
char data[11];
|
||||||
char ora[6];
|
char ora[6];
|
||||||
char velocita[4];
|
char velocita[4];
|
||||||
char limite[4];
|
|
||||||
char importo[6];
|
|
||||||
char pagata[2];
|
|
||||||
}Multa;
|
}Multa;
|
||||||
|
|
||||||
|
Multa *multe[1000];
|
||||||
|
|
||||||
|
Multa *creaMulta(char targa[], char data[], char ora[], char velocita[]);
|
||||||
Multa *creaMulta(char targa[], char data[], char ora[], char velocita[], char limite[], char importo[], char pagata[]);
|
|
||||||
void iniziaMulta(Multa *multe[]);
|
void iniziaMulta(Multa *multe[]);
|
||||||
void aggiungiMulta(Multa *multe[], Multa *m);
|
void aggiungiMulta(Multa *multe[], Multa *m);
|
||||||
|
void calcolaInfrazioni(Multa *multe[], char targa[]);
|
||||||
|
void salvaInfrazioni(Multa *multe[]);
|
||||||
|
|
||||||
#endif //AUTOVELOX_FUNZIONI_H
|
#endif //AUTOVELOX_FUNZIONI_H
|
||||||
|
|
18
main.c
18
main.c
|
@ -8,9 +8,27 @@ Realizzare la funzione che salva sul file tutte le infrazioni contenute nell’a
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "funzioni.h"
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
|
||||||
|
iniziaMulta(multe);
|
||||||
|
|
||||||
|
Multa *m1 = creaMulta("AB123CD", "12/10/2024", "12:30", "120");
|
||||||
|
Multa *m2 = creaMulta("AB123CD", "12/10/2024", "12:31", "130");
|
||||||
|
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);
|
||||||
|
|
||||||
|
calcolaInfrazioni(multe, "AB123CD");
|
||||||
|
calcolaInfrazioni(multe, "CD456EF");
|
||||||
|
calcolaInfrazioni(multe, "EF789GH");
|
||||||
|
|
||||||
|
salvaInfrazioni(multe);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue