|
Ho modidifcato il tuuo programma, così funziona:
#include<stdlib.h>
#include<stdio.h>
int menu (void);
int trovaMax();
int trovaMin(int *pt);
int media(int *pt);
main()
{
int *pt;/*pt è un puntatore ad un intero*/
int n[100];
int scelta,i,MAX,MIN,MEDIA;
scelta=0;
for(i=0;i<100;i++){
n[i]=1+(rand()%1000);
}/*fine comando for*/
pt=&n[0];
scelta=menu();
switch (scelta){
case 1:
MAX=trovaMax(pt);
printf("Massimo -> %d",MAX);
break;
case 2:
MIN=trovaMin(pt);
printf("Minimo -> %d",MIN);
break;
case 3:
MEDIA=media(pt);
printf("Media -> %d",MEDIA);
break;
}/*fine comando switch*//*fine comando while*/
printf("\n");
system("pause");
}/*fine della funzione main*/
/*funzione menu*/
int menu(void)
{
int menuScelta; /*è la varaiabile in cui verrà memorizata la scelta*/
printf("inserisci la tua scelta:\n\n"
"1- trova il valore massimo\n"
"2- trova il valore minimo \n"
"3- trova la media\n"
"4- esci dal programma\n" );
scanf("%d",&menuScelta);/*l'utente ha inserito la propria scelta*/
if(menuScelta<1||menuScelta>4){
printf("è stata inserita uan scelta non valida\n");
}/*fine del ramo if*/
return menuScelta;
}/*fine funzione menu*/
int trovaMax(int *pt)
{
int i;
int max;
max=*pt;
for(i=1;i<100;i++){
if(pt[i]>max){
max=pt[i];
}//chiude if
}//chiude for
return max;
}//fine funzione
int trovaMin(int *pt)
{
int i;
int min;
min=pt[0];
for(i=1;i<100;i++){
if(pt[i]<min){
min=pt[i];
}//chiude if
}//chiude for
return min;
}//fine funzione
int media(int *pt)
{
int i, media,somma;
for (i=1;i<100;i++){
somma+=pt[i];
}
media=somma/100;
return media;
}
cerca di capire gli errori che hai fatto, confrontando il tuo con il mio, non ho tempo di farlo io ora
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+
Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300
HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer
|