PROBLEMA primp programma in C, errore!

Pubblicità

stayhungry

Utente Attivo
Messaggi
449
Reazioni
42
Punteggio
39
Salve, ho iniziato a studiare programmazione, linguaggio c, perchè l'anno prossimo inizierò informatica all'itis e voglio arrivare un pò più preparato. veniamo al dunque, voglio scrivere un programma che calcola la media aritmetica di un numero di voti, se poi la media di questi voti è < di 6, il programma "ci rimprovera" lol :asd: se no ci fa i complimenti:luxhello:
ecco il codice che ho scritto:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main () {
int *v, i, num, somma, media;
printf ("Quanti voti hai preso?")
scanf ("%d", &num);
v= (int*)malloc(num * sizeof(int));
for (i=0; i<num; i++) {
printf("valore voto numero %d: ");
scanf("%d", &v);
}
somma=0;
for (i=0; i<num; i++) {
somma=somma+v;
media=somma/num;
printf (la media è: "%d", media);
}
free(v);
if (media<6) {
printf (ops! devi recuperare!);
return 0}
else {
printf ("Bravo, sei sufficiente!");
return 0}
}

ecco gli errori che geany mi restituisce se compilo : -make: *** Nessun obiettivo specificato e nessun makefile trovato. Arresto.
errore che mi viene restituito dal terminale se eseguo il codice .c : ./geany_run_script.sh: 5: ./geany_run_script.sh: ./prova1: Permission denied


------------------
(program exited with code: 126)
Press return to continue

sicuramente c'è qualcosa di sbagliato nel codice, qualcuno può aiutarmi?io ho già controllato varie volte ma secondo me l'errore sta nell'uso di free(v) ed eventualmente delle parentesi { }! thanks:figo:
 
Salve, ho iniziato a studiare programmazione, linguaggio c, perchè l'anno prossimo inizierò informatica all'itis e voglio arrivare un pò più preparato. veniamo al dunque, voglio scrivere un programma che calcola la media aritmetica di un numero di voti, se poi la media di questi voti è < di 6, il programma "ci rimprovera" lol :asd: se no ci fa i complimenti:luxhello:
ecco il codice che ho scritto:
Codice:
[URL="http://www.tomshw.it/forum/usertag.php?do=list&action=hash&hash=include"]#include[/URL]  <stdio.h>
[URL="http://www.tomshw.it/forum/usertag.php?do=list&action=hash&hash=include"]#include[/URL]  <stdlib.h>
[URL="http://www.tomshw.it/forum/usertag.php?do=list&action=hash&hash=include"]#include[/URL]  <malloc.h>
int main () {
int *v, i, num, somma, media;
printf ("Quanti voti hai preso?")
scanf ("%d", &num);
v= (int*)malloc(num * sizeof(int));
for (i=0; i<num; i++) {
printf("valore voto numero %d: ");
scanf("%d", &v[i]);
}
somma=0;
for (i=0; i<num; i++) {
somma=somma+v[i];
media=somma/num;
printf (la media è: "%d", media);
}
free(v);
if (media<6) {
printf (ops! devi recuperare!);
return 0}
else {
printf ("Bravo, sei sufficiente!");
return 0}
}

ecco gli errori che geany mi restituisce se compilo : -make: *** Nessun obiettivo specificato e nessun makefile trovato. Arresto.
errore che mi viene restituito dal terminale se eseguo il codice .c : ./geany_run_script.sh: 5: ./geany_run_script.sh: ./prova1: Permission denied


------------------
(program exited with code: 126)
Press return to continue

sicuramente c'è qualcosa di sbagliato nel codice, qualcuno può aiutarmi?io ho già controllato varie volte ma secondo me l'errore sta nell'uso di free(v) ed eventualmente delle parentesi { }! thanks:figo:

Ciao, in questo momento non posso testare il codice ma dandogli anche solo un occhiata ho trovato qualche errore, penso di disattenzione comunque sono questi:

printf ("Quanti voti hai preso?")->manca il ;
printf("valore voto numero %d: "); -> manca la variabile da stampare con %d
printf (la media è: "%d", media); -> printf ("la media è: %d", media);
printf (ops! devi recuperare!);->printf ("ops! devi recuperare!");
return 0 -> metti il ; anche se dovrebbe funzionare senza...

se non dovesse funzionare nemmeno così domani provo a testarlo e ti dico :)
io comunque solitamente uso dev C o codeBlocks come compilatori/ide o lavoro su linux tramite gcc su terminale...
 
Ciao, in questo momento non posso testare il codice ma dandogli anche solo un occhiata ho trovato qualche errore, penso di disattenzione comunque sono questi:

printf ("Quanti voti hai preso?")->manca il ;
printf("valore voto numero %d: "); -> manca la variabile da stampare con %d
printf (la media è: "%d", media); -> printf ("la media è: %d", media);
printf (ops! devi recuperare!);->printf ("ops! devi recuperare!");
return 0 -> metti il ; anche se dovrebbe funzionare senza...

se non dovesse funzionare nemmeno così domani provo a testarlo e ti dico :)
io comunque solitamente uso dev C o codeBlocks come compilatori/ide o lavoro su linux tramite gcc su terminale...


ciao! ho modificato il codice come hai detto te:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main () {
int *v, i, num, somma, media;
printf ("Quanti voti hai preso?");
scanf ("%d", &num);
v= (int*)malloc(num * sizeof(int));
for (i=0; i<num; i++) {
printf("valore voto numero %d: , i ");
scanf("%d", &v);
}
somma=0;
for (i=0; i<num; i++) {
somma=somma+v;
media=somma/num;
printf ("la media è: "%d", media);
}
free(v);
if (media<6) {
printf ("ops! devi recuperare!");
return 0}
else {
printf ("Bravo, sei sufficiente!");
return 0}
}

l'unica cosa che non ho aggiounto è stato il ; dopo il return perchè mi ha sempre funzionato senza.


niente da fare, ho sempre gli stessi errori :(
 
l'unica cosa che non ho aggiounto è stato il ; dopo il return perchè mi ha sempre funzionato senza.

E' meglio se ti abitui a metterlo sempre.

L'errore:
-make: *** Nessun obiettivo specificato e nessun makefile trovato. Arresto.
Non e' un problema del codice ma del compilatore, c'e' qualche parametro mal configurato che non ti fa compilare.
 
Pubblicità
Pubblicità
Indietro
Top