|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Stesso risultato, diversa sintassi: "Hello world" in C++
Salve a tutti ragazzi
![]() Premetto che uso il dev-C++ 4.9.9.2 Ecco la prima versione /* Test per la corretta installazione del compilatore*/ #include <stdio.h> #include <stdlib.h> int main() { printf( "Hello, world! \n"); system ("pause"); return 0; } Ecco la seconda versione // my first program in C++ #include <iostream> using namespace std; int main () { cout << "Hello World! \n"; system ("pause"); return 0; } Dopo un anno che uso Python, credo sia arrivato il momento di passare a linguaggi di programmazione piu' "veloci" nell'eseguire. Siccome sono niubbetto in C++, mi potreste dire quale dei due metodi sopracitati vi garba di piu' e perche'? Che differenza c'e' tra printf e cout? Che differenza c'e' tra " " e <<< ? Inoltre ho scoperto solo ora che senza system ("pause"); non posso vedere cio' che ottengo dopo aver compilato...o meglio, vedo il risultato per un millesimo di secondo e poi scompare. Non c'e' un modo per mettere questo system ("pause"); di defaut senza scriverlo ogni volta? Un grazie in anticipo a chi mi risponde ![]() Ciauz! Ultima modifica di Everyman : 02-04-2007 alle 06:47. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2006
Messaggi: 193
|
Ciao premetto che nemmeno io sono un guru di C++, anzi io di solito in facoltà programmo in C. E se non erro la prima versione è proprio in C, con la printf, mentre la seconda è in C++. System pause credo sarai costretto a metterlo ogni volta (sotto Windows, sotto Linux non serve credo).
Qualcuno ha da aggiungere qualcosa??? Magari da correggermi??? |
![]() |
![]() |
![]() |
#3 | |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
![]() Entrambi i programmi girano su Dev-C++ Quindi entrambe le versioni dovrebbero essere per C++ Grazie per il consiglio sul system pause...anch'io sospettavo che dipendesse dal sistema operativo. Appena posso faccio una prova su Unix/Linux ![]() |
|
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
#5 | ||
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
![]() Quote:
![]() |
||
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
No no, nessun problema, figurati .... è che tale questione salta fuori con una certa frequenza!
![]() Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#7 | |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
![]() Sempre se puoi/vuoi, puoi rispondermi a queste due domande: 1) Perche' quando vado su file-new esiste l'opzione "project" e "source file"? Mi spiego: io uso sempre source file per fare i miei programmi, per quale motivo dovrei avere un nuovo progetto? 2) mi hai citato #include <cstdlib>...mi puoi dare un link di un elenco completo di tutti i richiami alle librerie, magari con tanto di spiegazione? 3) Che differenza c'e' tra printf e cout? Che differenza c'e' tra " " e <<< ? Riguarda il fatto e' che uno e' nato su , mentre l'altro e' nato su C++? Grazie ancora ![]() |
|
![]() |
![]() |
![]() |
#8 | |||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Creare un progetto serve per poter specificare opzioni specifiche di compilazione/link, raggruppare più sorgenti/header, ecc... Quote:
Quote:
Riguardo a " " e <<< (tra l'altro è << non <<< che non esiste) non c'è una relazione ... " " è per le stringhe, << è un operatore (di shift) di cui è stato fatto un "overload" (vedi appunto la classe ostream) per poter essere usato per inviare dati sullo stream. Comunque, ripeto: sono funzionalità di I/O diverse che appartengono a librerie diverse.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|||
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
Davvero gentilissimo ![]() |
|
![]() |
![]() |
![]() |
#10 |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
andbin scusami ancora, ho fatto il mio primo programmino ed ce l'ho (quasi) fatta.
Voglio semplicemente mettere come input un carattere e un numero intero. Ho scritto questo codice: #include <stdio.h> #include <iostream> main() { char carattere; char num; printf("Inserire un carattere a scelta e premere INVIO: "); scanf("%c",& carattere); printf("Inserire un intero compreso tra 0 e 127: "); scanf("%d",& num); printf("Il carattere inserito e': %c",carattere); printf("Il numero inserito e': %d",num); printf("\n"); system ("pause"); return(0); } Sembra tutto a posto...ma come risultato mi scrive il numero ma non il carattere in pratica si vede: Inserire un carattere a scelta e premere INVIO: a Inserire un intero compreso tra 1 e 127 e premere INVIO: 10 Il carattere inserito e' il numero inserito e' 10 Come vedi, c'e' uno spazio vuoto e non mi scrive il carattere. Dove sbaglio? ![]() |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Innanzitutto <iostream> non ti serve visto che hai usato solamente funzioni della libreria standard del "C".
Se usi lo specificatore di formato %d, la variabile deve essere un int, non un char. Avendola messa come char, sicuramente la scanf va a sovrascrivere qualcosa (la variabile carattere).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#12 | |
Registered User
Iscritto dal: Mar 2007
Messaggi: 1233
|
Quote:
lo sto studiando in queste settimane e non sto trovando grosse difficoltà (provengo da Visualbasic e Gambas) ![]() se installi il .NET Framework 2.0 SDK e SharpDevelop, puoi anche realizzare applicazioni per PocketPC... ![]() Tschüss |
|
![]() |
![]() |
![]() |
#13 | ||
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
![]() Quote:
system ("pause"); Se invece rimetto <iostream> il tutto funziona ![]() |
||
![]() |
![]() |
![]() |
#14 |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
ma un sito che differenzia le librerie tra c# e c++ non c'e'?
Al momento confondo spesso le due cose... Ultima modifica di Everyman : 02-04-2007 alle 16:45. |
![]() |
![]() |
![]() |
#15 | |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
![]() Ma ora sono intrippato nel conoscere il c++, dopo oltre un anno che smanetto con python. Cose come array, funzioni, classi, ciclo while, do-while, for etc mi sono abbastanza familiari dunque. Devo solo fare un po' di pratica con le librerie (capire bene cosa appartiene al c# e cosa appartiene al c++) e capire cosa mettere all'inizio tipo #include <stdio.h> #include <stdlib.h> #include <iostream> e cose del genere e avere un po' piu' di confidenza nella sintassi generale che, devo ammetterlo, su python e' decisamente piu' semplice (peccato che il pitone sia cosi' lento nell'eseguire i programmi ![]() Grazie ancora per i consigli che mi avete dato ragazzi ![]() Ora torno a giocare con la mia PS3 nuova di zecca ![]() Ultima modifica di Everyman : 02-04-2007 alle 16:47. |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Le librerie ed il modo di includerle in C# e C++ sono completamente diverse (e comunque le differenze fra i due linguaggi sono notevoli anche se come sintassi si somigliano tantissimo) Per es.: Codice:
//C #include <stdio.h> //C++ #include <iostream> //C# using System.NomeLibreria
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#17 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Se usi il "C" allora includi pure stdio.h e fai printf(...blabla...), altrimenti se usi il C++, includi iostream, metti using namespace std; e quindi usa cout<<...blabla...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
#18 | |
Registered User
Iscritto dal: Mar 2007
Messaggi: 1233
|
Quote:
http://psyco.sourceforge.net/ http://psyco.sourceforge.net/introduction.html Tschüss |
|
![]() |
![]() |
![]() |
#19 | |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
Ho messo solo: #include <iostream> e ho tolto: #include <stdio.h> E il tutto funziona ![]() D'ora in poi ti chiamero' MAESTRO ![]() |
|
![]() |
![]() |
![]() |
#20 | |
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6616
|
Quote:
Provvedero' a studiarmi per bene cosa appartiene al C, cosa appartiene al C# e cosa appartiene al C++ allora ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:54.