Richiesta d'aiuto per compilare C++
Chiedo gentilmente il vostro aiuto per un problema che so essere certamente banale, ma che mi sta facendo impazzire.
Sto iniziando a programmare in C++ ma non riesco a compilare (sto usando codeblock) un semplicissimo codice:
int main()
{
int a, b ;
int risultato ;
cout << "dare il primo numero \n" ;
cin >> a ;
cout << "dare il secondo numero\n" ;
cin >> b ;
risultato = a + b;
cout << "ecco la somma " << risultato << endl;
}
Il compilatore mi dice: `cout' undeclared (first use in this function)|
ma il libro di testo mi ha proposto quel codice come esempio e non capisco cosa devo fare per definire la funzione cout.
Vi ringrazio fin d'ora per ogni suggerimento.
Sto iniziando a programmare in C++ ma non riesco a compilare (sto usando codeblock) un semplicissimo codice:
int main()
{
int a, b ;
int risultato ;
cout << "dare il primo numero \n" ;
cin >> a ;
cout << "dare il secondo numero\n" ;
cin >> b ;
risultato = a + b;
cout << "ecco la somma " << risultato << endl;
}
Il compilatore mi dice: `cout' undeclared (first use in this function)|
ma il libro di testo mi ha proposto quel codice come esempio e non capisco cosa devo fare per definire la funzione cout.
Vi ringrazio fin d'ora per ogni suggerimento.
Risposte
Devi fare due cose:
1. Includere la libreria iostream che contiene la definizione di tale funzione.
2. Inserire "using namespace std;" per poter scrivere "cout" al posto di "std::cout".
Insomma il codice corretto è il seguente, ma un buon libro di testo avrebbe dovuto dirtelo.
1. Includere la libreria iostream che contiene la definizione di tale funzione.
2. Inserire "using namespace std;" per poter scrivere "cout" al posto di "std::cout".
Insomma il codice corretto è il seguente, ma un buon libro di testo avrebbe dovuto dirtelo.
#include <iostream> using namespace std; int main() { int a, b ; int risultato ; cout << "dare il primo numero \n" ; cin >> a ; cout << "dare il secondo numero\n" ; cin >> b ; risultato = a + b; cout << "ecco la somma " << risultato << endl; }
Ti ringrazio moltissimo per la tua gentilissima e pronta risposta.
Purtroppo, ho provato a fare come mi hai insegnato, ma il compilatore si blocca di nuovo, stavolta con il seguente messaggio:
iostream: No such file or directory|
error: syntax error before "namespace"|
warning: data definition has no type or storage class|
Io ho installato Code::Block usando il suo installer e pensavo che fosse completo così: non so perchè non trova la libreria.
Devo scaricarla io da qualche sito?
Purtroppo, ho provato a fare come mi hai insegnato, ma il compilatore si blocca di nuovo, stavolta con il seguente messaggio:
iostream: No such file or directory|
error: syntax error before "namespace"|
warning: data definition has no type or storage class|
Io ho installato Code::Block usando il suo installer e pensavo che fosse completo così: non so perchè non trova la libreria.
Devo scaricarla io da qualche sito?
Sei sicuro di star compilando in C++? Incolla l'intero messaggio del compilatore.
Io ho cliccato su Build, e nel menù che si apre, ho scelto compile.
Il messaggio completo è il seguente:
||=== Build file: "no target" in "no project" (compiler: unknown) ===|
C:\PROGRAMMI\prova2.c|2|iostream: No such file or directory|
C:\PROGRAMMI\prova2.c|3|error: syntax error before "namespace"|
C:\PROGRAMMI\prova2.c|3|warning: data definition has no type or storage class|
C:\PROGRAMMI\prova2.c||In function `main':|
C:\PROGRAMMI\prova2.c|11|error: `cout' undeclared (first use in this function)|
C:\PROGRAMMI\prova2.c|11|error: (Each undeclared identifier is reported only once|
C:\PROGRAMMI\prova2.c|11|error: for each function it appears in.)|
C:\PROGRAMMI\prova2.c|12|error: `cin' undeclared (first use in this function)|
C:\PROGRAMMI\prova2.c|16|error: `endl' undeclared (first use in this function)|
||=== Build failed: 7 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|
Il messaggio completo è il seguente:
||=== Build file: "no target" in "no project" (compiler: unknown) ===|
C:\PROGRAMMI\prova2.c|2|iostream: No such file or directory|
C:\PROGRAMMI\prova2.c|3|error: syntax error before "namespace"|
C:\PROGRAMMI\prova2.c|3|warning: data definition has no type or storage class|
C:\PROGRAMMI\prova2.c||In function `main':|
C:\PROGRAMMI\prova2.c|11|error: `cout' undeclared (first use in this function)|
C:\PROGRAMMI\prova2.c|11|error: (Each undeclared identifier is reported only once|
C:\PROGRAMMI\prova2.c|11|error: for each function it appears in.)|
C:\PROGRAMMI\prova2.c|12|error: `cin' undeclared (first use in this function)|
C:\PROGRAMMI\prova2.c|16|error: `endl' undeclared (first use in this function)|
||=== Build failed: 7 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|
Non uso Code::Blocks ma la prima riga è strana. L'errore credo sia però legato al nome del file. ".c" non è l'estensione dei sorgenti in C++, ma di quelli in C è quello non è in effetti un codice valido in C. Per il C++ usa l'estensione ".cpp". Ne vengono a volte usate altre come ".cc", ma l'altra è certamente più comune.
Hai ragione, ho cambiato l'estensione del file e tutto è filato liscio!
Ti ringrazio moltissimo!
Ti ringrazio moltissimo!