PROBLEMA primp programma in C, errore!

stayhungry

Utente Attivo
449
42
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:
 

HopelessDaniel

Utente Attivo
331
35
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...
 
  • Mi piace
Reazioni: stayhungry

stayhungry

Utente Attivo
449
42
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 :(
 
M

Mursey

Ospite
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.
 

Giacky91

Utente Attivo
793
84
CPU
Intel Core I7 - 2630QM - 2.0 GHZ
Scheda Madre
Proprietaria
HDD
500GB WD 2.5"
RAM
2 x 2GB Corsair
GPU
GeForce GT540M 1GB
Audio
Integrato
OS
Windows 10 Pro, Kali Linux 2.0
ioho sempre usato codeblocks su windows e mi sono sempre trovato bene...
 

Dario Salvati

Utente Attivo
1,397
246
CPU
Intel Core i5-3470
Scheda Madre
ASUS P8Z77-V LX
HDD
Western Digital Green 1TB 7200rmp + Crucial M550 128Gb
RAM
Corsair 8Gb(2x4GB) 1600Mhz
GPU
Msi GeForce 770 2Gb
Audio
Integrata mainbord
Monitor
Asus VE247H / 23.6"
PSU
XFX 550W Core Edition
Case
Fractal Design R4
OS
Arch Linux + Gnome

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili