Problem z zadaniem z lekcji 9
Ostatnio zmodyfikowano 2015-10-04 12:31
snoby Temat założony przez niniejszego użytkownika |
Problem z zadaniem z lekcji 9 » 2015-10-01 20:38:27 Witam, mam pewien problem z następującym zadaniem : "Napisz program, który wczyta trzy liczby rzeczywiste, a na końcu programu je wszystkie wypisze. Zadbaj o to, by bufor strumienia wejściowego był za każdym razem czyszczony. Wynik końcowy powinien również zawierać informacje czy wczytanie danej liczby się powiodło." Otóż, gdy podam zamiast liczby np. literę to konsola pomija wszystkie etapy skryptu aż do końca bez możliwości wpisania kolejnych liczb, dodam, że korzystam z Visual Studio 2015 na W10, wygląda to tak : http://imgur.com/rfYAgo0 Próbowałem nawet wklejać gotowy skrypt z internetu :
#include "stdafx.h" #include <conio.h> #include <iostream> int main() { float a; float b; float c;
bool a_stan, b_stan, c_stan;
std::cin.clear(); std::cin.sync(); std::cin >> a; a_stan = std::cin.good(); //sprawdzamy stan i zapisujemy do zmiennej
std::cin.clear(); std::cin.sync(); std::cin >> b; b_stan = std::cin.good();
std::cin.clear(); std::cin.sync(); std::cin >> c; c_stan = std::cin.good();
std::cout << "\n\nLiczba pierwsza to : " << a << "\tWczytano ? " << a_stan; //to tu musi byc std::cout << "\n\nLiczba druga to : " << b << "\tWczytano ? " << b_stan; std::cout << "\n\nLiczba trzecia to : " << c << "\tWczytano ? " << c_stan;
_getch(); return 0; } |
|
carlosmay |
» 2015-10-01 20:52:02 Może być koniczne zmienić |
|
DejaVu |
» 2015-10-04 12:31:31 kod wyglada poprawnie na pierwszy rzut oka. moze visual c++ 2015 ma zmodyfikowana standardowa biblioteke i zachowanie metody cin.sync jest inne. sprobuj rozwiazania ktore zasugerowal kolega. |
|
« 1 » |