einfach für euch, schwer für mich-.-
-
Hallo Zusammen,
ich hab hier mal folgendes für euch.
Wie ihr erkennt, kann man hier 1-10 eingeben und er spuckt einen Tannenbaum aus, in verschieden höhen.Das was mir fehlt, ist wie ich den "Stamm" unten so hinbekomme, dass er immer in der mitte ist.
Ihr könnt es ja mal starten dann wisst ihr was ich mein.
Vieleicht könnt ihr mich auch berichtigen, bei den for schleifenbeschreibungen^^#include<iostream> using namespace std; int main() { int hoehe; //integer int leerzeichen; //integer cout<<"Wie hoch soll der Baum werden?(1-10):"; // Abfage cin>>hoehe; // Eingabe system("cls"); // Clear der Console cout<<"\n"; leerzeichen=hoehe-1; //"-1" dient dazu die leerzeichen und die hoehe in die "mitte" zu bringen, ansonsten würde der baum komplett auf die linke seite verschoben if(hoehe<=10) //kontroll abfrage. alles was nicht zwischen 1-10 ist wird als falsch gewertet auch buchstaben. { for(int a=0, x=a; a<hoehe; a++) // for schleife - abfrage der höhe { for(int b=0; b<leerzeichen; b++) // for schleife - leerzeichen werden mit der höhe synkron abgeglichen cout<<" "; for(int c=0; c<x; c++) // for schleife für die spiegelung (wobei x die spiegelung ist) cout<<"*"; x+=2; //spiegelt die eine hälfte des baumes, so das er pefekt in der mitte steht. leerzeichen--; //sorgt dafür das die reihen synkron zum rand verlaufen. cout<<"\n"; // ende des baums, damit "drücken sie eine taste..." nicht neben sondern unter dem baum steht. } cout<<"**\n"; // der Stamm cout<<"**\n"; cout<<"**\n"; } else { cout<<" Falscheingabe!\n"; // falscheingabe cout<<" nur 1-10\n\n"; } }
Hoffe auf hilfe
mfg ~RaYmOn
-
Du zeichnest ja immer mindestens 2 Sternchen. Also ist die 1. Sternreihe des Stammes == Anfang = 1. Sternreihe.
-
Hahaha einer der Schüler bei uns im Betrieb hat eine solche Aufgabe bekommen :p
Wohnst nicht zufällig in der Schweiz?
-
Bevor du mit cout<<"**\n"; den Stamm malst, mach doch eine Schleife die entsprechend viele Leerzeichen ausgibt um den Cursor so zu verschieben, dass der Baum in der Mitte ist.