PDA

View Full Version : [C] Richiesta codice applicazione “elementare”


Ivan Ion
27-05-2005, 21:43
Salve a tutti!
Ho assolutamente bisogno di una piccola “applicazione” scritta in C.
Per me e veramente importante, perciò vi ringrazio per la disponibilità!

--------------
Il testo del “esercizio” e il seguente:

Realizzare un programma in C che preveda l’inserimento e la visualizzazione delle temperature giornaliere di una settimana in una località, e le memorizzi in un opportuno array. Il programma deve calcolare e restituire a schermo:

* Le temperature massima e minima, indicando per ognuna l’indice corrispondente al giorno della settimana in cui sono state rilevate (1 per lunedì, 2 per martedì, ecc.);

* Il valore medio delle temperature settimanali;

* il numero di volte in cui è stato rilevato il valore massimo;

* Il numero di volte in cui è stato rilevato il valore minimo;

* il numero di valori maggiori o uguali alla media.

Infine si chiede di ordinare l’array delle temperature in ordine crescente, utilizzando un algoritmo a scelta, e di visualizzare a schermo l’array risultante dopo l’ordinamento.

-------------


Vi ringrazio per l’ennesima volta !!! :)

:help:

VegetaSSJ5
28-05-2005, 01:01
#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;
}

Ivan Ion
28-05-2005, 01:51
sei un tesoro!!! :)
Ti ringrazio veramente tanto!


:mano: :)