Wie Du mit printf sogar auch ein Haus in 3D-Ansicht zeichnen kannst...

Jetzt, als neue und noch interessantere Herausforderung, kannst Du mit printf sogar ein ganzes Haus zeichnen!

Das ist gar nicht so schwierig.

Das Ergebnis könnte zum Beispiel so aussehen:

 

          *
      *       *
   *             *
* * * * * *  * *
*                   *
*     ****       *
*     *    *      *
*     *    *      *
* * * * * * *  *    

Zugegeben, das ist kein schönes Haus, aber man erkennt es noch als Haus!

Versuche mit printf ein kurzes C-Programm zu schreiben, das dieses Haus zeichnet.

Bevor Du mit dieser Aufgabe beginnst, lese noch den Dialog zwischen der C-Ente und der C-Taube, wo die C-Ente erzählt, wie Du diese Aufgabe schneller lösen kannst!

C-Ente: Wie gefällt Dir diese Aufgabe?

C-Taube: Njiente... liebe Ente! Mit dieser Aufgabe werde ich doch nie fertig!

C-Ente: Ach...
             liebe Taube,
             wenn man mir...
             dies noch erlaube,
             so hätte ich...
             noch einen Rat,
             ach bitte schreite...
             an die Tat.

C-Taube: Ach, was wolltest Du mir denn raten, liebe Ente?

C-Ente: Um mit der Aufgabe schneller fertig zu werden,
             kannst Du jede "Sternzeile" (z.B. * * * *)
             aus der oberen Hauszeichnung kopieren und im
             Interpreter direkt in dieses printf(" ") - zwischen
             den beiden Anführungszeichen - einfügen. Wenn
             Du danach im printf die Sternzeilen
             verändert, wirst Du sehen, dass sich das
             gezeichnete Haus auch verändert hat!

             Dies ist ein guter Rat,
             und hilft Dir auch,
             in der Tat!

C-Taube: Ja, das ist doch wirklich eine gute Idee! Danke,
               liebe Ente!


Alles klar, was die C-Ente gemeint hat?


Noch ein weiterer Tipp, um Dein Programm übersichtlich zu gestalten:

Die printf-Befehle kannst Du auch auf mehrere Funktionen aufteilen - wie Du in der vorigen Lektion erfahren hast - denn dadurch wird Dein Programm übersichtlicher. Z.B. kann eine Funktion "Zeichne_oberen_Bereich" heissen, während die andere Funktion "Zeichne_unteren_Bereich" heisst. Aufgerufen werden beide Funktionen aus der Funktion main().

Weiteres kannst Du in Deinen Programm auch Kommentarzeilen einfügen, die beschreiben, was dieser Programmteil ungefähr macht. Kommentarzeilen kommen jeweils nach "//".

z.B. void Obere_Teil() // hier wird das Dach gezeichnet