PDA

Visualizza la versione completa : [C] problema con istruzione switch


Skass89
19-12-2009, 19:26
ragazzi ho un problema con questo programma che viene controllato dall'istruzione "switch" che deve permettere la scelta di quali operazioni svolgere (somma, media, ricerca massimo e minimo) ma nn mi funziona....




#include <stdio.h>
#define dim 10

int somma (int a[], int n);
float med (int a[], float n);
int max (int a[], int n);
int min (int a[], int n);


int main(){
int a[dim];
float n;
int i, r;
int scelta;

printf("premere 1 per eseguire una somma \n premere 2 per eseguire una media \n premere 3 per cercare il valore massimo \n premere 4 per cercare il valore minimo \n scelta = ");
scanf("%d", &scelta);

printf("inserire dimensioni vettore = ");
scanf("%f", &n);

for(i=0;i<n;i++){
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}

swtich(scelta){

case 1: printf("la somma degli elementi del vettore e' %d\n", somma(a, n)); break:
case 2: printf("la media e' %f\n", med (a, n)); break;
case 3: printf("il valore massimo e' %d\n", max (a, n)); break;
case 4: printf("il valore minimo e' %d\n", min (a, n)); break;
}
system("pause");
return 0;
}


int somma(int a[], int n){
int i, sum;

sum=0;

for(i=0;i<n;i++){
sum=sum+a[i];
}
return sum;
}

float med (int a[], float n){
int i, sum;
float med;

sum=0;
for(i=0;i<n;i++){
sum=sum+a[i];
}
med=sum/n;

return med;
}

int max(int a[], int n){
int max, i;

max=a[0];
for(i=1;i<n;i++){
if(a[i]>max)
max=a[i];
}
return max;
}

int min (int a[], int n){
int min, i;

min=a[0];
for(i=1;i<n;i++){
if(a[i]<min)
min=a[i];
}
return min;
}

oregon
19-12-2009, 19:28
Originariamente inviato da Skass89
ma nn mi funziona....

Devi sempre dare una descrizione del problema o dell'errore ...

"Non mi funziona" non vuol dire molto e costringi chi ti vuole rispondere a controllare tutto il codice ...

Skass89
19-12-2009, 19:30
hai ragione scusami non ho specificato che secondo me il problema Ŕ nello switch....se mi potete controllare quello....

oregon
19-12-2009, 19:31
Originariamente inviato da Skass89
hai ragione scusami non ho specificato che secondo me il problema Ŕ nello switch....se mi potete controllare quello....

Questo l'avevo capito ... ma ci dici che errore hai (in compilazione, durante l'uso ... ) o quale comportamento del programma, in esecuzione, diverso da quello che dovrebbe essere ??

Skass89
19-12-2009, 19:37
mi scuso nuovamente.....mi da un errore di sintassi prima della { dello switch.....e altri errori che sinceramente non capisco "break statement not within loop or switch" e me lo ripete per tutti i case dello switch.

Skass89
19-12-2009, 19:37
mi scuso nuovamente.....mi da un errore di sintassi prima della { dello switch.....e altri errori che sinceramente non capisco "break statement not within loop or switch" e me lo ripete per tutti i case dello switch, tutto in fase di compilazione.

oregon
19-12-2009, 19:40
Ecco ... se ci sono "errori di compilazione", devi riportarli nel forum esattamente come sono (almeno i primi, se sono molti ...).

DipenderÓ dal fatto che hai scritto male nella riga

swtich(scelta){

... controlla meglio, quando hai degli errori ...

Skass89
19-12-2009, 19:41
non capisco....

oregon
19-12-2009, 19:43
Originariamente inviato da Skass89
non capisco....

Hai riletto quella riga ?

Skass89
19-12-2009, 19:44
ops.....che figura! grazie mille

Loading