PDA

View Full Version : Aiuto compilatore DEV-C++ 4.9.9.2


felgiro
26-05-2007, 23:14
Salve a tutti!
ho un pb con il compilatore di dev-c++.
Fino ad oggi ha compilato tutti i programmi,mai dato pb.
Ho dovuto passare alle funzioni,ho fatto un semplice prg con una funzione,però non mi compila più...:muro:
Questo è il programma:


//funzione-calcolo del cubo di un nr

#include<stdio.h>

double cubo(float);

int main(){

float x;
double y;

printf("inserisci un nr:");
scanf("%f",&x);

y=cubo(x);
printf("%f elevato al cubo e' uguale a %f",x,y);

return 0;

double cubo(float c){

double z;
z=c*c*c;
return(z);
}


system("PAUSE");
}



e questo è l'errore:

Compilatore: Default compiler
Esecuzione di gcc.exe...
gcc.exe "C:\Documents and Settings\admin\Desktop\LP1\funzione_cubo.c" -o "C:\Documents and Settings\admin\Desktop\LP1\funzione_cubo.exe" -g3 -I"include" -L"lib" -L".lib" -g3
C:\DOCUME~1\admin\IMPOST~1\Temp/ccS4baaa.o(.text+0x6a): In function `main':
C:/Documents and Settings/admin/Desktop/LP1/funzione_cubo.c:16: undefined reference to `cubo'

----- ****------

C:\DOCUME~1\admin\IMPOST~1\Temp\ccS4baaa.o(.text+0x6a) In function `main':

[Linker error] undefined reference to `cubo'

C:\DOCUME~1\admin\IMPOST~1\Temp\ccS4baaa.o(.text+0x6a) ld returned 1 exit status



vi prego ,aiutatemi!!!!:cry: :cry: :cry: :cry:
grazie

Volutomitra
27-05-2007, 00:17
La funzione cubo (come qualsiasi altra funzione) devi metterla fuori dal main...

felgiro
27-05-2007, 08:28
grazie per il tuo aiuto,ho messo la funzione fuori dalla main(),
ha compilato&eseguito correttamente(errori 0),
mi ha fatto inserire il valore di x con la scanf,però..quando premo invio scomapare la finestra,cioè non mi fa visualizzre il risultato.
ho provato pure altri esercizi...e fa la stessa cosa.
Forse manca qualche altra cosa,però non saprei di che cosa si tratta.
Tu che dici?
tnxxxx:help:

mapomapo
27-05-2007, 08:53
un semplice getchar() prima del return 0....

purtroppo il terminale di windows si chiude automaticamente a fine esecuzione quindi non hai proprio il tempo materiale di visualizzare l'output

:)

Vito

ndakota
27-05-2007, 09:09
non usare system("pause") è obrobrioso.. piuttosto scrivi tu "premere un tasto.." e metti getch(); però devi includere conio.h

cionci
27-05-2007, 09:24
non usare system("pause") è obrobrioso.. piuttosto scrivi tu "premere un tasto.." e metti getch(); però devi includere conio.h
Gli fai sostituire qualcosa di obrobrioso (poi solo relativamente) con qualcosa di ancora più obrobrioso ?!?!? ;)
getch e tutto quello che sta in conio.h è un abominio se si usa per imparare a programmare...quindi è bene che usi getchar...

ndakota
27-05-2007, 11:54
punti di vista :D

felgiro
27-05-2007, 12:21
Finalmente ho risolto!!:stordita:
Il pb era che ci vuole per forza
-sistem("PAUSE"); prima di return 0;
-oppure getch(); + #include<conio.h>

Uffiiiii...:doh: :doh:

grazie a tutti!!!!

ciao

:banned:

cionci
27-05-2007, 13:01
punti di vista :D
Non punti di vista...getch non è una funzione standard...imparare a programmare in C sfruttando getch e le altre funzioni di conio è imho un grosso errore....

mapomapo
27-05-2007, 23:35
Non punti di vista...getch non è una funzione standard...imparare a programmare in C sfruttando getch e le altre funzioni di conio è imho un grosso errore....
più che altro diventa un grosso problema la migrazione su altre piattaforme...noi linuxiani ce lo scordiamo conio.h :P ...anche se abbiamo le ncurses
cmq mi trovi d'accordissimo con te....per imparare bastano e avanzano stdio.h stdlib.h math.h e string.h :D imho

Vito