# Dezimalzahlen Ausgabe



## Dimka (21. Mai 2004)

Hi, 
hab hier eine Aufgabe und soll hier was mit Nachkommastellen machen und zwar soll das eine formatierte Ausgabe sein z.b wenn ich auf die 1 drück dann soll da nicht nur eine 1 erscheinen sonder  auch mit 3 Nachkommastellen, also 1.000 so soll das aussehen.


----------



## Sinac (21. Mai 2004)

Dann ist int wohl ungeignet denke ich, nimm double oder float.
und formatieren kannst du die Ausgabe mit cout.precision glaube ich.

Greetz...
Sinac


----------



## Kachelator (21. Mai 2004)

@Dimka: Erzähl doch erst mal, ob du z.B. mit printf() oder mit stdstream ausgeben willst.


----------



## Dimka (21. Mai 2004)

Naja ich versteh nix von diesen  Ausdrücken . Auf jeden Fall kannst du hier mein Programm sehen 

# include <iostream.h> 
# include <stdlib.h> 

long double wert(long double a, long double b, long double x, long double c)
{ 
	long double y=a*x*x+b*x+c;
		return y;
}
char x;	
char eing[10];

int main ()
{
	while(1)

{

cout << "Funktionstabelle einer Quadratischen Funktion\n\n\n";
long double a;
long double b;
long double c;
long double start;
long double end;
long double pitch;

cout << "Geben Sie f\x81r a ein\n";
cin >> a;
cout << "Geben Sie f\x81r b ein\n";
cin >> b;
cout<< "Geben Sie f\x81r c ein\n";
cin >> c;

cout << "Geben Sie f\x81r den Startwert ein \n";
cin >> start;
cout << "Geben Sie f\x81r den Endwert ein \n";
cin >> end;
cout << "Geben Sie f\x81r den Pitch ein \n";
cin >> pitch;

cout << "X | Y\n";	

	for (long double x=start; x<end; x=x+pitch )																			
	{
	cout << x << " | " << wert(a, b, x, c)<< "\n";				
	}
	cin >>eing;
	system(eing);

	}
	return 0;
}
Bin noch ein Anfänger und weis net so viel. und printf und ostream kenne ich nicht. Was würdest du mir raten


----------



## Sinac (21. Mai 2004)

printf() == Ausgabe in C
std:stream == Ausgabe in C++ == cout

Stimmt doch,oder? *MüdeUndNochHalbBesoffenBin*


----------



## Kachelator (21. Mai 2004)

Ja, das stimmt.  

@Dimka: Versuch es mal so: 
	
	
	



```
#include <iostream>
#include <iomanip>
...
using namespace std;
float eineZahl = 1.234567890f;
cout << setprecision( 3 ) << eineZahl << endl;
```
std::setprecision ist ein sogenannter Stream-Manipulator. Man kann damit das Verhalten eines Streams ändern, zum Beispiel die Anzahl der Nachkommastellen. Die Streammanipulatoren befinden sich in der Headerdatei  <iomanip> im Namespace std. Du solltest auch lieber die <iostream> include anstelle der <iostream.h>. Erstere ist die standardgemässere Version. Alle Klassen befinden sich dort im Namespace std.


----------



## Dimka (21. Mai 2004)

Bei mir gibt er diese Fehler Meldung aus "Error C2679: Binaerer Operator '<<' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'struct std::_Smanip<int>' akzeptiert (oder keine geeignete Konvertierung moeglich)"


----------



## Kachelator (21. Mai 2004)

<iostream>, nicht <iostream.h>! Dann geht es nämlich.


----------

