zero61 Geschrieben 14. Mai 2009 Geschrieben 14. Mai 2009 (bearbeitet) Hallo zusammen, möchte in meinem Programm über mehrere printf Behfele Text sowie eine dazugehörende Zahl ausgeben. Der Text steht ganz normal links, die jeweilige Zahl soll aber rechtsbündig stehen. Die nachfolgenden printf Befehle, welche auch eine Zahl dann haben, soll auch rechtsbündig drunter stehen. Hab da mal von irgendwelchen Flags gelesen?! kA ob dass das ist! Wie realisiere ich das? Bearbeitet 14. Mai 2009 von zero61
Mttkrb Geschrieben 14. Mai 2009 Geschrieben 14. Mai 2009 Hi arbeite doch mit \t als tabulator. Dann sollten die Ausgaben untereinander stehen. z.b.: printf("Text\tnoch ein Text\t\t\tein weiterer Text");
zero61 Geschrieben 15. Mai 2009 Autor Geschrieben 15. Mai 2009 Mit \t habe ich es bereits versucht (siehe unten) und dann kommt genau das raus was ich im Anhang gepostet habe //-------------Ausgabe------------------------------------------ printf("\nListenpreis:\t\t\t %.2f EUR\n",listenpreis); printf("-Rabatt %.0f %% \t\t\t %.2f EUR\n",rabatt,xa); printf("= Zieleinkaufspreis\t\t\t %.2f EUR\n",zieleinkaufspreis); printf("-Skonto %.0f %% \t\t\t %.2f EUR\n",skonto,xb); printf("= Bareinkaufspreis\t\t\t %.2f EUR\n",bareinkaufspreis); printf("+ Versandkosten\t\t\t %.2f EUR\n",versandkosten); printf("= Bezugspreis (Einstandspreis)\t\t\t %.2f EUR\n",bezugspreis);
TDM Geschrieben 15. Mai 2009 Geschrieben 15. Mai 2009 Da C++ im Topic steht, würd ich auf printf verzichten. C++ Ein- und Ausgabe
Klotzkopp Geschrieben 15. Mai 2009 Geschrieben 15. Mai 2009 Der Text steht ganz normal links, die jeweilige Zahl soll aber rechtsbündig stehen.Die Zahlen sind rechtsbündig. Da du aber keine Breite angegeben hast, ist die Ausgabebreite für jede einzelne Zahl nur so groß, dass die jeweilige Zahl gerade eben hineinpasst. Die Breite kannst du zwischen dem % und dem Punkt angeben, z.B. so: "%8.2f"
zero61 Geschrieben 18. Mai 2009 Autor Geschrieben 18. Mai 2009 Also mit der Breite funktioniert das nicht... oder ich hab das falsch angewendet. Zum Verzicht auf printf .. geht leider nicht, da wir es so in der Schule lernen und nicht anders. Komm da sonst durch einander //-------------Ausgabe------------------------------------------ printf("\nListenpreis:\t\ %8.2f EUR\n",listenpreis); printf("-Rabatt %.0f %% \t %8.2f EUR\n",rabatt,xa); printf("= Zieleinkaufspreis\t %8.2f EUR\n",zieleinkaufspreis); printf("-Skonto %.0f %% \t %8.2f EUR\n",skonto,xb); printf("= Bareinkaufspreis\t %8.2f EUR\n",bareinkaufspreis); printf("+ Versandkosten\t %8.2f EUR\n",versandkosten); printf("= Bezugspreis (Einstandspreis)\t %8.2f EUR\n",bezugspreis);
Klotzkopp Geschrieben 18. Mai 2009 Geschrieben 18. Mai 2009 Mach die Tabs raus und sorg dafür, dass die Strings vor dem Formatfeld gleich lang sind.
Mttkrb Geschrieben 18. Mai 2009 Geschrieben 18. Mai 2009 oder füge jeweils noch tabs dazu, sodass du die zahlen untereinander bekommst. in der 1. 2. 4. 6. jeweils zwei mal \t dazu und in der 3. und 5 jeweils 1 \t dazu. dann sollte alles untereinander stehen
zero61 Geschrieben 18. Mai 2009 Autor Geschrieben 18. Mai 2009 Mach die Tabs raus und sorg dafür, dass die Strings vor dem Formatfeld gleich lang sind. hab das versucht, jedoch leider ohne Erfolg oder füge jeweils noch tabs dazu, sodass du die zahlen untereinander bekommst. in der 1. 2. 4. 6. jeweils zwei mal \t dazu und in der 3. und 5 jeweils 1 \t dazu. dann sollte alles untereinander stehen printf("\nListenpreis:\t\t\t %8.2f EUR\n",listenpreis); printf("-Rabatt %.0f %% \t\t\t %8.2f EUR\n",rabatt,xa); printf("= Zieleinkaufspreis\t\t %8.2f EUR\n",zieleinkaufspreis); printf("-Skonto %.0f %% \t\t\t %8.2f EUR\n",skonto,xb); printf("= Bareinkaufspreis\t\t %8.2f EUR\n",bareinkaufspreis); printf("+ Versandkosten\t\t\t %8.2f EUR\n",versandkosten); printf("= Bezugspreis (Einstandspreis)\t %8.2f EUR\n",bezugspreis); Tatsache, so hats geklapt! Frage mich jetzt nur wie du das rausbekommen hast .. Könnt ihr mir das erklären?!
Guybrush Threepwood Geschrieben 18. Mai 2009 Geschrieben 18. Mai 2009 Weil du durch die Tabs genau das gemacht hast was Klotzkopp dir empfohlen hat, nämlich den Text vor den Zahlen gleich lang.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden