C
oh gott, so ein peinlicher Fehler, ich habe es einfach nicht gesehen. Danke! Ich probiere dann gleich weiter, wenn ich Rückfragen habe melde ich mich nochmal
Falls es jemanden im Nachhinein interessieren sollte poste ich hier noch meine Lösung
/*
* Schreiben Sie ein Konsolenprogramm welches einen Weihnachtsbaum ausgibt.
* Vor der Ausgabe soll noch die Höhe des Weihnachtsbaum abgefragt werden. (MIN 3)
* Der Weihnachtsbaum soll bei einer Höheneingabe von 10 folgendermaßen aussehen:
* Konsolenausgabe:
*
***
*****
***
*****
*******
*****
*******
*********
###
* Die Schwierigkeit besteht in den Stufenabschnitten der Tanne. Die Zeile die die meisten Sterne
* enthält sollte natürlich dann auch die letzte sein, also muss das Programm vielleicht bei einer
* zu großen Höheneingabe das Zeichnen der Sterne abbrechen und dann den Stamm ausgeben.
* (So wie bei diesem Beispiel, angegeben ist 10 aber der Baum hat nur 10 Reihen, ohne Baumstamm)
*/
/*
* File: main.c
* Author: Epi
*
* Created on 12. Mai 2016, 13:04
*/
#include <stdio.h>
#include <stdlib.h>
#define TREE_PART (3)
void drawPart (int heightTree);
void drawWood (int heightTree);
int main(int argc, char** argv) {
int heightTree;
printf ("Let's print a tree!\n"
"How big shall it be?\n");
scanf ("%d", &heightTree);
drawPart (heightTree);
drawWood (heightTree);
return (EXIT_SUCCESS);
}
void drawPart (int heightTree){
int drawLine = heightTree * TREE_PART; //TREE_PART = 3
int drawStar = 1;
int drawSpace = drawLine - heightTree;
int f = 0;
while( f < heightTree){
for(int i = 0; i<3; i++){
int k = drawSpace;
while (k > 0){
printf(" ");
k--;
}
for (int j = 0; j < drawStar; j++){
printf("*");
}
drawStar = drawStar + 2;
drawSpace--;
printf ("\n");
}
f++;
drawStar = drawStar - 2;
drawSpace++;
}
}
void drawWood (int heightTree){
for (int j = 0; j<heightTree+1; j++){
printf (" ");
}
for (int k = 0; k<(heightTree*2)-1; k++){
printf ("#");
}
}