Zahl formatieren

Schnelle objektorientierte, kompilierende Programmiersprache.
anirbas90
Beiträge: 14
Registriert: Mo Okt 10, 2011 4:52 pm

Zahl formatieren

Beitrag von anirbas90 » Mo Okt 17, 2011 3:07 pm

Hallo!

Ich bin gerade dabei, ein Programm zu schreiben, dass Schilling in Euro umrechnet und umgekehrt. Nur jetzt möchte ich wissen, wie ich eine Zahl formatieren kann. Also das Ergebnis zB 13,7603 .... dass steht 13 Euro 76 Cent ....

kann mir irgendwer einen Tipp geben wie ich das formatieren muss? so weit bin ich schon mal:

Code: Alles auswählen

#include <iostream>
using namespace std;
int main() 
{
  double x, y;
  cout << "Bitte eine Zahl in Euro eingeben: ";
  cin >> x;
  y=x*13.7603;
  cout << "Das sind" << y << "Schilling" <<endl;

  cout << "Bitte eine Zahl in Schilling eingeben: ";
  cin >> y;
  x=y/13.7603;
  cout << "Das sind" << x << "Euro" <<endl;

  return 0;
}
lg sabrina

Edit By Xin: Codeflags + Code formatiert

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Zahl formatieren

Beitrag von cloidnerux » Mo Okt 17, 2011 3:49 pm

Dies erfordert, das du die Zahl in 2 Zahlen aufteilst, einmal den ganzen Anteil der Zahl, also das vor dem Komma, und den gebrochenen Teil, also das nach dem Komma.
Dies könntest du z.B so regeln, das du so lange eins von der zahl abziehst, bis die zahl kleiner 1 ist, während dessen du eine ganze zahl gleichermaßen inkrementierst, sodass du am ende 2 Variablen hast:
13,123 => ganzerTeil = 13 , gebrochenerRest = 0,123
Den Rest kannst du dann mit 10 oder 100 multiplizieren und das selbe verfahren anwenden, sodass du folgendes hast:
0,123 * 100 = 12,3 => gebrochenerRest = 12, rest = 0,3

Dies kannst du dann so ausgeben, das "13Euro und 12c" ausgeben werden.

MfG cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zahl formatieren

Beitrag von Xin » Mo Okt 17, 2011 3:53 pm

Wenn es Dir darum geht, zwei Stellen hinter dem Komma auszugeben, dann so:

Code: Alles auswählen

cout << setprecision(2) << x << endl;
Wenn es Dir darum geht, die Zahlen zu trennen:

Code: Alles auswählen

double euro = floor( x );
double cent = floor( x-euro * 100 );

cout << "Es sind " << setprecision(0) << euro << "€ und " << cent << " Cent." << endl;
siehe: floor() (gilt auch für cloidnerux ^^)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

anirbas90
Beiträge: 14
Registriert: Mo Okt 10, 2011 4:52 pm

Re: Zahl formatieren

Beitrag von anirbas90 » Mo Okt 17, 2011 5:59 pm

na toll, jetzt hab ichs zwar, aber mein terminal findet die datei nicht -.- dh ich kanns jetzt nicht ausprobieren, da steht immer no such file or directory ... was heißt das?
vorgestern is es noch gegangen und jetzt gehts nicht mehr , kann mir wer helfen? benutze terminal von mac.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zahl formatieren

Beitrag von Xin » Mo Okt 17, 2011 6:00 pm

anirbas90 hat geschrieben:na toll, jetzt hab ichs zwar, aber mein terminal findet die datei nicht -.- dh ich kanns jetzt nicht ausprobieren, da steht immer no such file or directory ... was heißt das?
vorgestern is es noch gegangen und jetzt gehts nicht mehr , kann mir wer helfen? benutze terminal von mac.
Okay, wie und womit kompilierst Du?

Sicher dass der Kompiliervorgang erfolgreich war?
(Nur weil ich hier Code hinschreibe, muss der nicht perfekt sein und gleich von jedem Compiler akzeptiert werden)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

anirbas90
Beiträge: 14
Registriert: Mo Okt 10, 2011 4:52 pm

Re: Zahl formatieren

Beitrag von anirbas90 » Mo Okt 17, 2011 6:14 pm

öhhhhhm wie kompiliere ich? haha ich habe den text editor und dann den terminal wo ich g++ -Wall -O3 euro.C -0 euro schreibe.... meintest du das?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zahl formatieren

Beitrag von Xin » Mo Okt 17, 2011 7:09 pm

anirbas90 hat geschrieben:öhhhhhm wie kompiliere ich? haha ich habe den text editor und dann den terminal wo ich g++ -Wall -O3 euro.C -0 euro schreibe.... meintest du das?
Ja, denn das unterscheidet sich deutlich von "Ich habe die Entwicklungsumgebung <beliebige IDE einfügen> und mache das und das".

Du schreibst

Code: Alles auswählen

gcc -Wall -O3 euro.c -0 euro
?

-0 (null) und nicht -o (kleines 'O')?

Meldet der Compiler irgendwas oder kommt die Eingabeaufforderung kommentarlos zurück?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Zahl formatieren

Beitrag von cloidnerux » Mo Okt 17, 2011 7:59 pm

siehe: floor() (gilt auch für cloidnerux ^^)
Es ging hier um den Lerneffekt, etwas selber zu machen ist doch immer besser als etwas vorhandenes nutzen^^
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Zahl formatieren

Beitrag von fat-lobyte » Mo Okt 17, 2011 9:48 pm

anirbas90 hat geschrieben:haha ich habe den text editor und dann den terminal wo ich g++ -Wall -O3 euro.C -0 euro schreibe.... meintest du das?
Wieso kompiliert denn auf einmal jeder mit -O3?? Programmieren auf einmal alle an numerischen Hochleistungsprogrammen zur Auswertung der Teilchenbeschleuniger-Daten?
Ich würde raten diesen Switch nicht anzurühren bis ihr genau weiß die Begriffe "Inlining", "Loop Unrolling", "Alignment" bedeuten UND bis ihr wisst wie ihr die Geschwindigkeit eines Programms richtig messt.
Haters gonna hate, potatoes gonna potate.

anirbas90
Beiträge: 14
Registriert: Mo Okt 10, 2011 4:52 pm

Re: Zahl formatieren

Beitrag von anirbas90 » Di Okt 18, 2011 12:08 pm

Der Compiler meldet "no such file or directory, no input files" ..... und er erkennt nich tmal mehr die datei die ich gespeichert hab unter euro.C

also was kann ich jetz am besten tun ? verstehe das nicht mehr wieso das nicht funktioniert auf einmal....

Antworten