Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Kleines Programm mit C++

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
13.02.2007, 15:48 Uhr
Suba Esel



Wieso funktioniert das denn dann überhaupt?


C++:
#include <iostream>

int main()
{
    float number = 0.0;
    std::cout << "Zahl eingeben: ";
    std::cin >> number;
    std::cout << std::endl << "Ergebnis: " << (number / 25000);
    std::cin.sync();
    std::cin.get();
}


--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
13.02.2007, 15:55 Uhr
0xdeadbeef
Gott
(Operator)


Wenn das funktioniert, dann nur zufällig. Prinzipiell erzeugt das undefiniertes Verhalten, es sei denn, du weißt genau, dass und wie der betreffende Stream buffert. Und das ist bei std::cin einfach nicht der Fall.

Es ist damit ein bisschen wie

C++:
fflush(stdin);


in C, was vom Standard her völliger Unfug ist (stdin ist kein Ausgabestream), aber unter windows zufällig funktioniert.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 13.02.2007 um 15:56 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
13.02.2007, 15:56 Uhr
virtual
Sexiest Bit alive
(Operator)


@Suba Esel
Weil Du unter Windows arbeitest, ist jedenfalls meine Vermutung: da ist sync() gegenüber dem Standard erweitert.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
13.02.2007, 16:28 Uhr
Suba Esel



Ach so, ok. Das wusste ich nicht.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
13.02.2007, 17:05 Uhr
(un)wissender
Niveauwart


@beefy
Das funktioniert nicht zufällig. Sondern weil es jemand programmiert hat.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: