zero61 Geschrieben 14. Mai 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mttkrb Geschrieben 14. Mai 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zero61 Geschrieben 15. Mai 2009 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 15. Mai 2009 Teilen Geschrieben 15. Mai 2009 Da C++ im Topic steht, würd ich auf printf verzichten. C++ Ein- und Ausgabe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 15. Mai 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zero61 Geschrieben 18. Mai 2009 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 18. Mai 2009 Teilen Geschrieben 18. Mai 2009 Mach die Tabs raus und sorg dafür, dass die Strings vor dem Formatfeld gleich lang sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mttkrb Geschrieben 18. Mai 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zero61 Geschrieben 18. Mai 2009 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 18. Mai 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.