Could you help me write the continuation of the code:
你能帮我写一下代码的延续:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define DIM 50
#define MESI 12
#define STRUCT 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 ordinamento_regioni(data utente[]);
bool caricamento_file(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");
scanf("%d", &scelta);
if (scelta == 1)
{
inserimento_morbilli(utente);
}
else if (scelta == 2)
{
ordinamento_regioni(utente);
}
else if (scelta == 3)
{
caricamento_file(utente);
}
} 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", utente[i].mese[j], utente[i].morbillo[j]);
}
}
}
bool ordinamento_regioni(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]);
}
i = 0;
j = 0;
// Inizio Ordinamento
for (i = 0; i < STRUCT - 1; i++)
{
for (j = 0; j < MESI - 1; j++)
{
if (valore_max_morbillo[i] > valore_max_morbillo[i + 1])
{
temp = utente[j];
utente[j] = utente[j + 1];
utente[j + 1] = temp;
}
}
}
}
bool caricamento_file(data utente[])
{
int dim;
int dim2;
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[j]);
for (j = 0; j < MESI; j++)
{
printf(" |%-20s|%-20d|\n", utente[i].mese[j], utente[i].morbillo[j]);
}
}
}
}
bool regioni_mesi(data utente[])
{
// Puglia
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");
// Piemonte
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");
}
How do I sort? I tried to do it with the bubble with the 2 indices but nothing did not order anything.
我该如何排序?我尝试用2个指数的泡沫做到这一点,但没有任何东西没有订购任何东西。
I should order the structure based on the lowest rainfall per region, so I made a total sum per region so I could compare the total sum but nothing is in order.
我应该根据每个地区的最低降雨量来订购结构,所以我为每个地区做了总和,这样我就可以比较总和,但没有任何顺序。
1 个解决方案
#1
0
Repost
Hi you could write me the continuation of the point [CODE]
嗨,你可以写我继续点[代码]
How do I sort? I tried to do it with the bubble with the 2 indices but nothing did not order anything.
我该如何排序?我尝试用2个指数的泡沫做到这一点,但没有任何东西没有订购任何东西。
I should order the structure based on the lowest rainfall per region, so I made a total sum per region so I could compare the total sum but nothing nin order anything help pls.
我应该根据每个地区的最低降雨量来订购结构,所以我为每个地区做了总和,所以我可以比较总和,但没有任何顺序,任何有用的帮助。
#1
0
Repost
Hi you could write me the continuation of the point [CODE]
嗨,你可以写我继续点[代码]
How do I sort? I tried to do it with the bubble with the 2 indices but nothing did not order anything.
我该如何排序?我尝试用2个指数的泡沫做到这一点,但没有任何东西没有订购任何东西。
I should order the structure based on the lowest rainfall per region, so I made a total sum per region so I could compare the total sum but nothing nin order anything help pls.
我应该根据每个地区的最低降雨量来订购结构,所以我为每个地区做了总和,所以我可以比较总和,但没有任何顺序,任何有用的帮助。