Scusate
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define DIM 50
#define MESI 12
#define STRUCT 4
#define MORBILLI_TOTALI 12*4
/* 1) Inserimento e stampa in forma tabellare per provincia dei dati mensili sul morbillo
2)Visualizzare il valore medio mensile
3)Ordinamento regioni decrescenti annuali
4)Caricamento dati da file
5)Regione e mese con maggior numero di casi di morbillo
regioni = Lombardia piemonte puglia e veneto
*/
typedef struct{
char regione[DIM];
char mese[DIM][MESI];
int morbillo[MESI];
}data;
bool inserimento_morbilli(data utente[]);
bool regioni_mesi(data utente[]);
void stampa_dati(data utente[]);
bool valori_massimi(data utente[]);
bool caricamento_file(data utente[]);
bool regione_maggior_morbillo(data utente[]);
int main(){
data utente[STRUCT];
regioni_mesi(utente);
int scelta;
do{
printf("Premi [1] per stampare in forma tabellare i dati inerenti al morbillo\n");
printf("Premi [2] per effettuare l'ordinamento basandoci sulla regione con minori casi di morbillo\n");
printf("Premi [3] per caricare i dati da file\n");
printf("Premi [4] per vedere quale è il caso di morbillo piu' alto\n");
scanf("%d",&scelta);
switch(scelta){
case 1:
inserimento_morbilli(utente);
break;
case 2:
valori_massimi(utente);
break;
case 3:
caricamento_file(utente);
break;
case 4:
regione_maggior_morbillo(utente);
break;
default:
printf("Hai effettuato una scelta errata riprova \n");
system("pause");
system("cls");
break;
}
}while(scelta!=0);
}
bool inserimento_morbilli(data utente[]){
utente[0].morbillo[0]=0;
utente[0].morbillo[1]=0;
utente[0].morbillo[2]=0;
utente[0].morbillo[3]=0;
utente[0].morbillo[4]=0;
utente[0].morbillo[5]=0;
utente[0].morbillo[6]=4;
utente[0].morbillo[7]=0;
utente[0].morbillo[8]=0;
utente[0].morbillo[9]=10;
utente[0].morbillo[10]=7;
utente[0].morbillo[11]=1;
//Lombardia
utente[1].morbillo[0]=0;
utente[1].morbillo[1]=1;
utente[1].morbillo[2]=2;
utente[1].morbillo[3]=12;
utente[1].morbillo[4]=0;
utente[1].morbillo[5]=2;
utente[1].morbillo[6]=3;
utente[1].morbillo[7]=6;
utente[1].morbillo[8]=4;
utente[1].morbillo[9]=0;
utente[1].morbillo[10]=4;
utente[1].morbillo[11]=5;
//Veneto
utente[2].morbillo[0]=0;
utente[2].morbillo[1]=0;
utente[2].morbillo[2]=3;
utente[2].morbillo[3]=2;
utente[2].morbillo[4]=18;
utente[2].morbillo[5]=17;
utente[2].morbillo[6]=14;
utente[2].morbillo[7]=16;
utente[2].morbillo[8]=20;
utente[2].morbillo[9]=5;
utente[2].morbillo[10]=9;
utente[2].morbillo[11]=8;
utente[3].morbillo[0]=7;
utente[3].morbillo[1]=5;
utente[3].morbillo[2]=2;
utente[3].morbillo[3]=14;
utente[3].morbillo[4]=3;
utente[3].morbillo[5]=2;
utente[3].morbillo[6]=2;
utente[3].morbillo[7]=1;
utente[3].morbillo[8]=1;
utente[3].morbillo[9]=1;
utente[3].morbillo[10]=1;
utente[3].morbillo[11]=0;
stampa_dati(utente);
}
void stampa_dati(data utente[]){
int i;
int j;
printf("|%-20s|%-20s|%-20s|\n","Regione","Mese","Morbillo");
printf("---------------------------------------------------\n");
for(i=0; i<STRUCT; i++){
printf("|%-20s|------------------------------------------",utente[i].regione);
for(j=0; j<MESI; j++){
printf("\n |%-20s|%-20d|\n\n",utente[i].mese[j],utente[i].morbillo[j]);
}
}
}
bool valori_massimi(data utente[]){
int i;
int j;
int valore_max_morbillo[STRUCT];
data temp;
int min;
for(i=0; i<STRUCT; i++){
for(j=0; j<MESI; j++){
valore_max_morbillo[i]+=utente[i].morbillo[j];
}
}
for(i=0; i<STRUCT; i++) {
printf("\n\nI valori totali del morbillo sono\n |%d|\n",valore_max_morbillo[i]);
}
}
bool caricamento_file(data utente[]){
int i;
int j;
FILE*fp;
fp=fopen("dati.txt","r");
if(fp==NULL){
printf("Errore il file non e'stato aperto correttamente \n");
exit(1);
}
else {
for(i=0; i<STRUCT ; i++) {
for(j=0; j<MESI; j++) {
fscanf(fp,"%d",&utente[i].morbillo[j]);
}
}
printf("Dati caricati da File\n\n");
printf("|%-20s|%-20s|%-20s|\n","Regioni","Mesi","Casi Morbillo");
printf("---------------------------------------------------------\n");
for(i=0; i<STRUCT; i++) {
printf("|%-20s|\n",utente[i].regione);
for(j=0; j<MESI; j++) {
printf(" |%-20s|%-20d|\n",utente[i].mese[j],utente[i].morbillo[j]);
}
}
}
}
bool regioni_mesi(data utente[]){
strcpy(utente[0].regione,"Puglia");
strcpy(utente[0].mese[0],"Gennaio");
strcpy(utente[0].mese[1],"Febbraio");
strcpy(utente[0].mese[2],"Marzo");
strcpy(utente[0].mese[3],"Aprile");
strcpy(utente[0].mese[4],"Maggio");
strcpy(utente[0].mese[5],"Giugno");
strcpy(utente[0].mese[6],"Luglio");
strcpy(utente[0].mese[7],"Agosto");
strcpy(utente[0].mese[8],"Settembre");
strcpy(utente[0].mese[9],"Ottobre");
strcpy(utente[0].mese[10],"Novembre");
strcpy(utente[0].mese[11],"Dicembre");
//Lombardia
strcpy(utente[1].regione,"Lombardia");
strcpy(utente[1].mese[0],"Gennaio");
strcpy(utente[1].mese[1],"Febbraio");
strcpy(utente[1].mese[2],"Marzo");
strcpy(utente[1].mese[3],"Aprile");
strcpy(utente[1].mese[4],"Maggio");
strcpy(utente[1].mese[5],"Giugno");
strcpy(utente[1].mese[6],"Luglio");
strcpy(utente[1].mese[7],"Agosto");
strcpy(utente[1].mese[8],"Settembre");
strcpy(utente[1].mese[9],"Ottobre");
strcpy(utente[1].mese[10],"Novembre");
strcpy(utente[1].mese[11],"Dicembre");
//Veneto
strcpy(utente[2].regione,"Veneto");
strcpy(utente[2].mese[0],"Gennaio");
strcpy(utente[2].mese[1],"Febbraio");
strcpy(utente[2].mese[2],"Marzo");
strcpy(utente[2].mese[3],"Aprile");
strcpy(utente[2].mese[4],"Maggio");
strcpy(utente[2].mese[5],"Giugno");
strcpy(utente[2].mese[6],"Luglio");
strcpy(utente[2].mese[7],"Agosto");
strcpy(utente[2].mese[8],"Settembre");
strcpy(utente[2].mese[9],"Ottobre");
strcpy(utente[2].mese[10],"Novembre");
strcpy(utente[2].mese[11],"Dicembre");
strcpy(utente[3].regione,"Piemonte");
strcpy(utente[3].mese[0],"Gennaio");
strcpy(utente[3].mese[1],"Febbraio");
strcpy(utente[3].mese[2],"Marzo");
strcpy(utente[3].mese[3],"Aprile");
strcpy(utente[3].mese[4],"Maggio");
strcpy(utente[3].mese[5],"Giugno");
strcpy(utente[3].mese[6],"Luglio");
strcpy(utente[3].mese[7],"Agosto");
strcpy(utente[3].mese[8],"Settembre");
strcpy(utente[3].mese[9],"Ottobre");
strcpy(utente[3].mese[10],"Novembre");
strcpy(utente[3].mese[11],"Dicembre");
}
bool regione_maggior_morbillo(data utente[]){
int i;
int j;
int k;
int x;
int max;
int morbil[MORBILLI_TOTALI];
for(i=0; i<STRUCT; i++) {
for(j=0; j<MESI; j++) {
morbil[j]=utente[i].morbillo[j];
}
}
for(k=0; k<MORBILLI_TOTALI; k++) {
printf("| %d |",morbil[k]);
}
}