Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (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?

post-61024-14430448384015_thumb.jpg

Bearbeitet von zero61
Geschrieben

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");

Geschrieben

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);

Geschrieben
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"

Geschrieben

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 :D


//-------------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);

post-61024-1443044838728_thumb.jpg

Geschrieben

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

Geschrieben
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?!

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...