View Single Post
Old 28-05-2005, 00:01   #2
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Codice:
#include <stdlib.h>
#include <stdio.h>

#define TEMP 0
#define GIORNO 1

int welcome (void);
void immetti (void);
void elabora (void);
void visualizza (void);

int temp[7], tempord[7], tmin[2], tmax[2], tmed=0, nmin=0, nmax=0, nmagmed=0;

int main (void) {
	while (1) {
		system("cls");
		switch (welcome()) {
			case 1:
				immetti();
				elabora();
				break;
			case 2:
				visualizza();
				break;
			case 3:
				exit(0);
		}
	}
}

int welcome (void) {
	int scelta= 0;
	printf("Programma TEMPERATURE\n\n\n");
	printf("Scegliere l'opzione desiderata:\n");
	printf("1- Immissione valori temperature\n");
	printf("2- Visualizzazione temperature\n");
	printf("3- Esci\n");
	do {
		printf("\nScelta: ");
		scelta= getchar();
		scelta-= 48;
	} while (scelta<1 || scelta>3);
	system("cls");
	return scelta;
}

void immetti (void) {
	printf("\nInserisci la temperatura di lunedi: ");
	scanf("%d", &temp[0]);
	printf("Inserisci la temperatura di martedi: ");
	scanf("%d", &temp[1]);
	printf("Inserisci la temperatura di mercoledi: ");
	scanf("%d", &temp[2]);
	printf("Inserisci la temperatura di giovedi: ");
	scanf("%d", &temp[3]);
	printf("Inserisci la temperatura di venerdi: ");
	scanf("%d", &temp[4]);
	printf("Inserisci la temperatura di sabato: ");
	scanf("%d", &temp[5]);
	printf("Inserisci la temperatura di domenica: ");
	scanf("%d", &temp[6]);
	printf("\nPremere un tasto per tornare al menu'...");
	fflush(stdin);
	getchar();
	return;
}

void elabora (void) {
	int app, i, j=0;
	tmin[TEMP]= 999;
	tmax[TEMP]= -999;
	for (i=0; i<7; i++) {
		if (tmax[TEMP]<temp[i]) {
			tmax[TEMP]= temp[i];
			tmax[GIORNO]= 1+i;
		}
		if (tmin[TEMP]>temp[i]) {
			tmin[TEMP]= temp[i];
			tmin[GIORNO]= 1+i;
		}
	}
	for (i=0; i<7; i++) {
		if (temp[i]==tmin[TEMP]) nmin++;
		if (temp[i]==tmax[TEMP]) nmax++;
		tmed+= temp[i];
	}
	tmed= tmed/7;
	for (i=0; i<7; i++) if (temp[i]>=tmed) nmagmed++;
	for (i=1; i<7; i++) {
		app = temp[i];
		for (j=i-1; (j>=0) && (temp[j]>app); j--) tempord[j+1] = temp[j];
		tempord[j+1] = app;
	}
}

void visualizza (void) {
	system("cls");
	printf("\nLa temperatura massima e' di %d gradi del giorno della settimana %d", tmax[TEMP], tmax[GIORNO]);
	printf("\nLa temperatura minima e' di %d gradi del giorno della settimana %d", tmin[TEMP], tmin[GIORNO]);
	printf("\nLa temperatura media della settimana e' di %d gradi", tmed);
	printf("\nIl numero di volte in cui e' stato rilevato il valore massimo e' %d", nmax);
	printf("\nIl numero di volte in cui e' stato rilevato il valore minimo e' %d", nmin);
	printf("\nIl numero di giorni in cui la temperatura e' stata superiore alla media e' %d", nmagmed);
	printf("\nLe temperature ordinate:\n%d\n%d\n%d\n%d\n%d\n%d\n%d", tempord[0], tempord[1], tempord[2], tempord[3], tempord[4], tempord[5], tempord[6]);
	printf("\n\nPremere un tasto per tornare al menu'...");
	fflush(stdin);
	getchar();
	return;
}
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso