Formatierte ausgabe mit Printf?
-
Hallo,
bin gerade dabei in c++ was zu Programmieren, was über eine Textausgabe verfügen soll (ohne GUI). Die ausgabe mit cout << .... klatt auch ganz gut, aber ich brauche ein bisschen formatierung in der ausgabe.
Ich habe eine Funktion ausgeben, die Regrusiv aufgerufen wird. An diese werden mit parametern das Object aus dem was ausgegeben werden soll und ein Integer, der angibt in welcher ebene sich die ausgabe befinden soll, übergeben.
Für jede ebene sollen 5 Führende lehrzeichen vor der eigentlichen Ausgabe geschrieben werden.
Also:
0. Ebene:
"Ausgabe"1. Ebene:
"Ausgabe"2. Ebene
"Ausgabe"
usw. (nach der 2. Ebene kann es auch wieder in die 1. oder 0. Ebene springen)Habe mir irgendwie gedacht das ich den Parameter mal 5 nehme und irgendwie an die Printf Funktion übergebe. Habe aber leider keinen schimmer wie ich das machen soll. Hoffe das ihr mir helfen könnt.
Schon mal danke im vorraus.
-
Hab hier ein Beispiel das einen Rahmen zeichnet, dürtfe dir weiterhelfen
#include <iostream.h> #include <string.h> #include <iomanip.h> // Klasse deklarieren class Rahmen { public: Rahmen(char zeichen ='*', int anzahl=10, char *modus="normal"); private: void zeichne(char zeichen ='*', int anzahl=10, char *modus="normal"); }; // konstruktor Rahmen::Rahmen(char zeichen, int anzahl, char *modus) { this->zeichne(zeichen, anzahl, modus); } void Rahmen::zeichne(char zeichen, int anzahl, char *modus) { if(strcmp(modus,"full") == 0) { for(int i=0; i < anzahl; i++) cout << setw(anzahl+1) << setfill(zeichen) << endl; // Hier schauen } else { cout << setw(anzahl+1) << setfill(zeichen) << endl; cout << setfill(' '); for(int i=0; i < 8; i++) cout << zeichen << setw(anzahl - 1) << zeichen << endl; cout << setw(anzahl + 1) << setfill(zeichen) << endl; } } void main() { Rahmen x; }
schau dir mal die Funktion setw, setfill an