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
326
35
CPU
I7 4790k + Phanteks PH-TC14CS
Scheda Madre
Asrock extreme 4 Z97
HDD
WD Caviar BLU 1tb 7200rpm + Crucial M550 120gb
RAM
G.Skill Ares 1866mhz 8Gb CL9
GPU
Asus strix 1060 6GB
Audio
Asus xonar DGX
Monitor
Dell U2414H
PSU
XFX XTR 650W
Case
NZXT phantom 530
OS
Windows 10 PRO
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...
 
  • Like
Reactions: 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
791
82
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

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 37 23.1%
  • Gearbox

    Voti: 3 1.9%
  • Xbox & Bethesda

    Voti: 101 63.1%
  • Square Enix

    Voti: 14 8.8%
  • Capcom

    Voti: 7 4.4%
  • Nintendo

    Voti: 21 13.1%
  • Altro (Specificare)

    Voti: 15 9.4%

Discussioni Simili