005
23.09.2008, 15:42 Uhr
Tron
|
Moin,
hier mal ein kurzes Beispiel für Formatierungen mit cout:
C++: |
// format.cpp #include <iostream> #include <iomanip>
const int anzahl = 10;
int main() { float mwst=19.0; float preise[] = {0.3, 0.15, 5, 7.6, 8.89, 15, 17.4, 23.45, 120, 105.03}; char *artikel[] = {"Kabel","Knickschutz", "Farbband","Adapter", "Disketten","Nullmodem", "Maus","Tastatur", "Toner","Gehaeuse"};
// Ausgeben der Daten auf einer Breite von 42 Zeichen. // Ist die entsprechende Datenbreite kleiner wird links mit Leerzeichen aufgefüllt. std::cout.width(42);
std::cout <<"PREISLISTE\nArtikel\t\tNetto\tBrutto" <<std::endl; for (int i = 0; i < anzahl;i++) { // Füllzeichen hier: Punkt um die gewünschte Breite einzustellen. // Typ ist char. std::cout.fill('.'); // Anzahl der Kommastellen festlegen. std::cout.precision(2); // Festkommadarstellung einschalten sonst erhält man die Exponentialdarstellung. std::cout.setf(std::ios::fixed); // Ausrichtung der Daten festlegen hier: links. std::cout << std::setiosflags(std::ios::left) // Festlegen der Breite bevor die Daten eingefügt werden. << std::setw(11) << artikel[i] // Aufheben der zuvor getroffenen Einstellung hier: links. << std::resetiosflags(std::ios::left) // Anzeigen des Positiven Vorzeichen. // Standardmäßig nur bei negativen Zahlen. << std::setiosflags(std::ios::showpos) << std::setfill(' ') << std::setw(10) << preise[i] // Vorzeicheneinstellung ändern, die Füllzeichen werden jetzt // zwischen Vorzeichen und Zahl eingefügt. << std::setiosflags(std::ios::internal) << std::setw(9) << preise[i]*(1 + mwst/100) // Aufheben der zuvor getroffenen Einstellung. << std::resetiosflags(std::ios::showpos | std::ios::internal) <<std::endl; } // Ende for return 0; }
|
|