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 Zitieren
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"); Zitieren
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); Zitieren
TDM Geschrieben 15. Mai 2009 Geschrieben 15. Mai 2009 Da C++ im Topic steht, würd ich auf printf verzichten. C++ Ein- und Ausgabe Zitieren
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" Zitieren
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); Zitieren
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. Zitieren
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 Zitieren
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?! Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.