disegno c++

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

disegno c++

Messaggio 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 :?

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: disegno c++

Messaggio 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\
";
Ultima modifica di robbybby il dom 10 feb 2008, 1:50, modificato 1 volta in totale.

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: disegno c++

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

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2093
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 5.19.0
Desktop: gnome and lxqt
Distribuzione: ubuntu 22.04
Località: Darmstadt - Germania

Re: disegno c++

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

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: disegno c++

Messaggio 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

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: disegno c++

Messaggio da robbybby »

Vedi la fretta? Il carattera di proseguimento linea e' il backslash singolo, non doppio. Adesso correggo il mio primo post. #-o

Rispondi