Richiesta d'aiuto per compilare C++

marco-lavoro
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.

Risposte
apatriarca
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.
#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;
}

marco-lavoro
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?

apatriarca
Sei sicuro di star compilando in C++? Incolla l'intero messaggio del compilatore.

marco-lavoro
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)) ===|

apatriarca
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.

marco-lavoro
Hai ragione, ho cambiato l'estensione del file e tutto è filato liscio!

Ti ringrazio moltissimo!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.