WinFuture-Forum.de: C++ Konsolenausgabe Problem - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C++ Konsolenausgabe Problem


#1 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 06. November 2007 - 14:38

			for (unsigned short i=1;i <101;i++)
			{
				bool plusminus = rand()&1;
				if (plusminus==true)
					pressure[i] = (float)101325 + (float)rand()/10000;
				else
					pressure[i] = (float)101325 - (float)rand()/10000;
				cout<<pressure[i]<<"\n";
						 {


Habe vollgendes Problem:
pressure is ein array vom typ float und die werde werden au ordentlich ausgegeben aber bei der Ausgabe wird nach der 6. Stelle abgeschnitten.

Woran liegt das?
Sprache is c++
0

Anzeige



#2 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

  geschrieben 06. November 2007 - 19:45

Hi,

bei cout kannst du mit cout.precision() angeben, wieviele Nachkommastellen du angezeigt haben willst. Damit cout nicht die scientific-Ausgabe der Zahl (z.B. 1+e3) benutzt, musst du es auf fixed "umstellen". Hier mal meine Umsetzung deines Codes mit 6 angezeigten Nachkommastellen. Einen Überblick über die Manipulatoren findest du hier: http://www.cplusplus...m/manipulators/

	float pressure[100];
	char multiplikator;

	srand((int)time(NULL));	// rand() mit Zufallszahl initialisieren

	cout.precision(6);	// Zeige 6 Nachkommastellen an
	cout << fixed;		// Ausgabe: z.B. 10.32 statt 1+e1

	for (unsigned char i=0; i<100; i++)
	{
		multiplikator = (rand()&1)?1:-1;
		pressure[i] = (float)101325 + multiplikator * (float)rand() / (float)10000;
		cout << pressure[i] << "\n";
	}


Ich hoffe, das hilft weiter.

Gruß,
Stefan
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0