All pastes #1231929 Raw Edit

Mine

public cpp v1 · immutable
#1231929 ·published 2008-10-20 15:29 UTC
rendered paste body
#include <iostream>using namespace std;int main() {	double wartosc;	cout << "Wprowadz wartosc double: ";	cin >> wartosc;	// pobieramy wartosc z wejscia do zmiennej double, zatem wszystko musi przejsc poprawnie, poniewaz obiekt cin juz sam o to dba. w przypadku, gdy na pierwszym miejscu jest bledna dana (np. znak alfa), cin.peek() zwraca -1 - dzieje sie tak, poniewaz na obiekcie cin powinna zostac ustawiona flaga bledu	cout << "Wprowadzona wartosc to: " << wartosc << endl;	// pokazanie wartosci, oczywiscie bez formatowania wyjscia, ktorego nigdy mi sie nie chce robic	char znaczek = cin.peek();	// podgladamy kolejny znak w strumieniu	cout << "Kod kolejnego znaku to: " << int(znaczek) << ", czyli '" << znaczek << "'." << endl;	// wyjscie testowe	if (znaczek != 10) {	// wejscie zostalo skonwertowane poprawnie wtedy i tylko wtedy, gdy do zmiennej double przez cin zostala wciagnieta cala linia - oznacza to, ze w strumieniu jako pierwszy znak do wczytania bedzie CR, czyli 10 (0x0A) (trzeba by sprawdzic wersje pod windowsy - tam jest CR/LF, czyli 10/13		cin.ignore();	// wywalamy wszystko z wejscia		cerr << "Wyglada na to, ze system niepoprawnie odczytal wprowadzona wartosc. Sprobuj jeszcze raz." << endl;	// pokazujemy stosowny komunikat	} else {		cout << "Konwersja przeprowadzona pomyslnie." << endl;	// hurra, udalo sie!	}	return 0;	// papa}