Pagina 1 di 1

disegno c++

Inviato: sab 9 feb 2008, 16:32
da inux
questo programma dovrebbe visualizzare il disegno:

Codice: Seleziona tutto

#include<iostream>

int main()  //la funzione main inizia l'esecuzione

{
                                     
 std::cout << " *****  ***     *    \n";  // visualizza il disegno 
                *   * *   *   ***  
                *   **     *   *   
                *   **     *   *    
                ***** *   *    *     
                       ***            
 return 0;  // denota una corretta terminazione

}  // fine della funzione main
alla fine digito:g++ disegno.cpp e mi da questo errore perchè?

Codice: Seleziona tutto

 g++ disegno.cpp
disegno.cpp: In function 'int main()':
disegno.cpp:13: error: expected primary-expression before 'return'
disegno.cpp:13: error: expected `;' before 'return'
grazie ciao :?

Re: disegno c++

Inviato: sab 9 feb 2008, 16:42
da robbybby

Codice: Seleziona tutto

 
std::cout << " *****  ***     *    \n";  // visualizza il disegno
std::cout << " *   * *   *   *** \n";
std::cout << " *   **     *   *   \n";

eccetera
 
oppure, usando il carattere di coninuazione di linea, dovrebbe andar bene anche (ma non l'ho provato, anche se ho usato varie volte costrutti simili, in altri contesti):

Codice: Seleziona tutto

 
std::cout << " *****  ***     *    \n\
 *   * *   *   *** \n\
 *   **     *   *   \n\
 *   **     *   *   \n\
 ***** *   *    *\n\
           ***\n\
";

Re: disegno c++

Inviato: sab 9 feb 2008, 17:04
da inux
grazie dici che dopo questa correzione lo compila? ho visto che gli errori sono per la funzione int main() e return 0; me li contesta.

Re: disegno c++

Inviato: sab 9 feb 2008, 18:26
da albatros
inux ha scritto:ho visto che gli errori sono per la funzione int main() e return 0; me li contesta.
L'errore è che hai inserito una serie di asterischi senza alcuna istruzione perché il cout lo hai chiuso con il ; prima del commento //visualizza il disegno.
Il compilatore si aspettava qualche istruzione, invece ha trovato una serie di asterischi e nessun ; che chiudesse una istruzione prima del return...

Ti consiglio la prima versione del codice di robbybby, con la seconda può essere più complicato allineare gli asterischi (inoltre ci sono dei problemi con \\); volendo potresti usare un solo cout e sfruttare l'operatore << .

Per il carattere di proseguimento linea una cosina tipo:

Codice: Seleziona tutto

#include<iostream>
using namespace std;
int main()
{
cout<<"pro\\
        va\n";

        return 0;
}
mi dà, compilandolo:
try.cpp: In function 'int main()':
try.cpp:6: error: unknown escape sequence: '\011'

mentre con \ e basta fila tutto liscio e ottengo, eseguendo il programmino, l'output previsto.

Visto che nel tuo profilo hai scritto:
Interessi: linux/unix,programmazione
giusto per curiosità, che linguaggi conosci?
Del C++, scusa se mi permetto dato che io sono solo un modestissimo dilettante, non mi sembri proprio padrone...

Re: disegno c++

Inviato: sab 9 feb 2008, 20:09
da inux
hai proprio ragione sono un neofita del linguaggio ho finito il primo capitolo del libro e questi sono esercizi però sul libro non ci sono le soluzioni per questa parte lui mi dice scrivi questo programma e in base alle sue istruzioni io scrivo il programma :D

Re: disegno c++

Inviato: dom 10 feb 2008, 1:50
da robbybby
Vedi la fretta? Il carattera di proseguimento linea e' il backslash singolo, non doppio. Adesso correggo il mio primo post. #-o