G84 Inviato 9 Ottobre 2007 Segnala Condividi Inviato 9 Ottobre 2007 Ciao a tutti, mi servirebbe un aiuto con il C++. Devo fare una app che dopo aver inserito un numero mi calcoli il doppio e me lo mostra a schermo. Io l'ho fatto così: #include <Carbon/Carbon.h> #include <iostream.h> void main () { int NUMERO, DOPPIO; cout << "Inserire un numero intero: "; cin >> NUMERO; DOPPIO=NUMERO*2; cout << "Il doppio è: " << DOPPIO; } Però mi da il seguente errore in fase di debug: [color="Red"]error: '::main must return 'int'[/color] Dove sbaglio? MacBook 2,16 GHz (1 Gb Ram) iPod Touch 16 Gb 2° Gen HTC Diamond InfoProg Link al commento Condividi su altri siti Altre opzioni di condivisione...
G84 Inviato 9 Ottobre 2007 Autore Segnala Condividi Inviato 9 Ottobre 2007 Ho modificato void main () con int main () e adesso l'errore è scomparso e mi esegue l'applicazione ma nella finestra non appare nulla. Qualche consiglio? Vi ringrazio anticipatamente. MacBook 2,16 GHz (1 Gb Ram) iPod Touch 16 Gb 2° Gen HTC Diamond InfoProg Link al commento Condividi su altri siti Altre opzioni di condivisione...
Eremar Inviato 9 Ottobre 2007 Segnala Condividi Inviato 9 Ottobre 2007 allora, togli la include carbon.h e in fondo, come ultima riga di qualsiasi programma, e quindi anche di questo, metti return 0; così va di sicuro MacBook Pro 2,4 GHz, 4 GB Ram, 500 GB Hd, OsX 10,6,5 Athlon 64 X2 5600 su MB Asus M3A32-MVP Deluxe - 8 GB ram - 3 TB - Arch Linux e Win Se7en Pod Classic, 80 GB iPhone 4, 16 Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
G84 Inviato 9 Ottobre 2007 Autore Segnala Condividi Inviato 9 Ottobre 2007 allora, togli la include carbon.h e in fondo, come ultima riga di qualsiasi programma, e quindi anche di questo, metti return 0;così va di sicuro Nessun errore ma mi appare una schermata bianca, non mi dice: "Inserire un numero intero".. Come mai? MacBook 2,16 GHz (1 Gb Ram) iPod Touch 16 Gb 2° Gen HTC Diamond InfoProg Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaioshin Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Togli carbon.h, includi anche la stdlib.h,poi sotto INCLUDE iostream prima del main scrivi "using namespace std;"ed infine prima di chiudere la graffa del main devi scrivere "system( "PAUSE" );" e sotto "return 0;" le virgolette le ho aggiunte io per farti capire quale fosse l'istruzione precisa.Fammi sapere se va. Ciao La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Ma scusate, da quando il main DEVE ritornare un intero? Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaioshin Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Se la funzione è "int main()" deve per forza ritornare un intero. La parola che precede una funzione è appunto il TIPO DI RITORNO,in questo caso per il main è int(intero). In questo momento non mi ricordo proprio se come tipo di ritorno del main si può dare void. Si può?? La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Si ma la funzione era void main...Magari il C++ si è evoluto da quando l'ho studiato ma io ho sempre utilizzato void main Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaioshin Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Ma poi lo ha corretto con int. Io lo sto studiando proprio adesso in programmazione e il prof ci ha detto che è int main(),ma ricordo che ha anche parlato del void e probabilmente hai ragione tu,nel senso che se non ricordo male ha detto che nella standardizzazione precedente si usava il void ma con la nuova si usa l'int,però non me lo ricordo benissimo. C'è qualcuno che può confermare?? La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 A quanto ho letto con qualche ricerca fatta in 2 secondi pare che adesso lo standard preveda int in quanto il programma potrebbe essere chiamato da un altro programma/script quindi va usato un ritorno. Il fatto è che così si perde la portabilità dal C a meno di non riconvertire le funzioni. Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 A proposito anche per gli include le cose sono cambiate...ora i .h sono deprecati. Copio e incollo dal web > #include <iostream.h> > This header is not part of standard C++. It is for G++ an obsolete header. The standard header is called <iostream>. This defines the stream stuff into the std namespace as well. This means that in addtition to changing the header you must place explicitly qualify the stuff from that header (std::cout for example) or bring then into the current context with using directives (using std::cout or even using namespace std). Do not place using directives in headers that you expect others to use. It's not nice to pollute their namespace. Stick to the explicit qualification in headers. Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaioshin Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 In realtà la portabilità non si perde,perchè adesso anche nel C il main ritorna un int. Il discorso degli header (.h) è sempre stato introdotto nella nuova standardizzazione insieme all'uso dello SPAZIO DEI NOMI(namespace).Infatti sopra ho postato che per correggere il codice si doveva anche scrivere "using namespace std;" altrimenti al posto di cout si deve scrivere std::cout e al posto di cin si deve scrivere std::cin La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaioshin Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Cmq se non sbaglio anche se si scrive "#include <iostream.h> il compilatore non da errore, è solo una sintassi ormai superata La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Cmq se non sbaglio anche se si scrive "#include <iostream.h> il compilatore non da errore, è solo una sintassi ormai superata No però da warning, almeno Xcode lo fa Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaioshin Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 Non sono un utente mac,almeno non ancora.Farò il grande passo a novembre nella speranza che esca il nuovo macbook,ma anche se non dovesse uscire prenderò quello attuale. Cmq proverò con dev C++ La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! Link al commento Condividi su altri siti Altre opzioni di condivisione...
iMaffo Inviato 23 Ottobre 2007 Segnala Condividi Inviato 23 Ottobre 2007 in xcode, il tipo di progetto che devi scegliere, non è Carbon C++, ma: Command Line Utility > C++ tool dichiara il main come int, e in fondo, prima ci chiudere la graffa, metti un return 0; gli errori veri son più forti poi, quando fan finta di esser morti lo sai? Link al commento Condividi su altri siti Altre opzioni di condivisione...
eddiehardcore7 Inviato 24 Ottobre 2007 Segnala Condividi Inviato 24 Ottobre 2007 Mi togliete una curiosità ..Ma dove programmate..?Devo farlo pure io ma non riesco a capire su che programma programmare..!! Ducati 1199 Panigale - Seat Ibiza Fr 1,9 TDI 130cvMac Book 2.16 GHZ, 3 gb di RamiPod nano da 8 Gb, iPhone 5 Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 24 Ottobre 2007 Segnala Condividi Inviato 24 Ottobre 2007 Mi togliete una curiosità ..Ma dove programmate..?Devo farlo pure io ma non riesco a capire su che programma programmare..!! Apple Xcode. Adesso però sto provando a creare qualcosa in Real Basic dato che il lavoro non mi lascia molto tempo (di giorno purtroppo devo usare Visual Studio) Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 24 Ottobre 2007 Segnala Condividi Inviato 24 Ottobre 2007 Mi togliete una curiosità ..Ma dove programmate..?Devo farlo pure io ma non riesco a capire su che programma programmare..!! Apple Xcode. Adesso però sto provando a creare qualcosa in Real Basic dato che il lavoro non mi lascia molto tempo (di giorno purtroppo devo usare Visual Studio). Se invece vuoi usare Java prova Eclipse, gratuito. Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
eddiehardcore7 Inviato 24 Ottobre 2007 Segnala Condividi Inviato 24 Ottobre 2007 Apple Xcode.Adesso però sto provando a creare qualcosa in Real Basic dato che il lavoro non mi lascia molto tempo (di giorno purtroppo devo usare Visual Studio). Se invece vuoi usare Java prova Eclipse, gratuito. grazie mille..sto scaricando apple xcode..lo devo usare per l'università ..almeno tolgo la rottura di palle di windows sul mac..dato che ci utilizzavo dev.c++ Ducati 1199 Panigale - Seat Ibiza Fr 1,9 TDI 130cvMac Book 2.16 GHZ, 3 gb di RamiPod nano da 8 Gb, iPhone 5 Link al commento Condividi su altri siti Altre opzioni di condivisione...
eddiehardcore7 Inviato 24 Ottobre 2007 Segnala Condividi Inviato 24 Ottobre 2007 una volta fatto il programma su Apple Xcode..poi lo fai partire dal terminare del mac os..oppure ci sono altre soluzioni..? anzi vi faccio pure un altro quesito.. come faccio a lanciare un programma da shell precedentemente compilato e salvato .c? praticamente mi servono i sinonimi di "gcc name file" e "./a.out" di linux..?Grazie a chi risponderà .. Ducati 1199 Panigale - Seat Ibiza Fr 1,9 TDI 130cvMac Book 2.16 GHZ, 3 gb di RamiPod nano da 8 Gb, iPhone 5 Link al commento Condividi su altri siti Altre opzioni di condivisione...
calamitytea Inviato 27 Ottobre 2007 Segnala Condividi Inviato 27 Ottobre 2007 Ciao a tutti,mi servirebbe un aiuto con il C++. Devo fare una app che dopo aver inserito un numero mi calcoli il doppio e me lo mostra a schermo. Io l'ho fatto così: #include <Carbon/Carbon.h> #include <iostream.h> void main () { int NUMERO, DOPPIO; cout << "Inserire un numero intero: "; cin >> NUMERO; DOPPIO=NUMERO*2; cout << "Il doppio è: " << DOPPIO; } Però mi da il seguente errore in fase di debug: [color="Red"]error: '::main must return 'int'[/color] Dove sbaglio? Crea un progetto di tipo Standard Tools anzicché Carbon e poi scrivi nel file main: #include <iostream> using namespace std; int main(){ //...codice... return 0; } Così dovrebbe funzionare!!!! I love Mac Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.