PDA

Visualizza la versione completa : Problema funzione in C


MET1515
23-12-2012, 19:53
Ho creato un programma che passato un valore intero restituisce il suo fattoriale ma mi da un errore strano :




mattia@mattia-MS-7529:~/Scrivania/C funzioni$ gcc -o LonziMattia_Fattoriale LonziMattia_Fattoriale.c
/tmp/ccB0bIKu.o: In function `main':
LonziMattia_Fattoriale.c: (.text+0x38): undefined reference to `print'
collect2: ld returned 1 exit status




/*
* PROGRAMMA CHE DATO IN INPUT UN VALORE STAMPA IL SUO FATTORIALE
*
* @author Lonzi Mattia
* @version 0.1 2012-12-18
*/
#include <stdio.h>

int fattoriale() {
int numero;
int fattoriale;
int i = numero;


while(i > 0) {
fattoriale = numero * i;
i--;
}
return fattoriale;

}

void main() {
int numero;
int fattoriale;

print("INSERIRE NUMERO");
scanf("%d", &numero);
printf("il fattoriale del numero inserito %d", fattoriale);
}


Potreste spiegarmi il problema?? GRAZIE IN ANTICIPO :D
PS : Il mio professore non passava i valori con scanf direttamente nella funzione ma lo fa nel main...Non so che differenza faccia ... Potreste spiegarmela ?? Grazie

oregon
23-12-2012, 20:14
L'errore chiaro ... lo hai letto ?

print una funzione che non esiste ...

MET1515
23-12-2012, 20:55
si ma non andava comunqe ...
poi mi sono confuso con java dove si scrive println se si vuole andare a capo e print se si vuole rimanere sulla stassa linea
poi ho risolto tutto :D

oregon
23-12-2012, 20:56
Hai risolto tutto (a parte il print) come ?

MET1515
24-12-2012, 11:35
/*
* PROGRAMMA CHE DATO IN INPUT UN VALORE STAMPA IL SUO FATTORIALE
*
* @author Lonzi Mattia
* @version 0.1 2012-12-18
*/
#include <stdio.h>

int fattoriale(int numero) {
int i = 1;
int fat = 1;

if(numero > 1) {
while(i <= numero) {
fat = fat * i;
i++;
}
}
else if(numero == 1 || numero == 0) {
fat = 1;
}

return fat;

}

void main() {
int numero;
int fat;

printf("QUESTO PROGRAMMA PERMETTE DI CALCOLARE IL FATTORIALE DEL NUMERO INSERITO");
printf("INSERIRE NUMERO ");
scanf("%d", &numero);
printf("il fattoriale del numero inserito %d\n", fattoriale(numero));
}

Loading