xevuel |
» 2012-05-22 16:40:54 Nie, nie chce mi się. Ale że to jest 5 linijek, to napiszę. std::cout << "Liczba pierwsza to: "; std::cin >> a; bool czy_wczytano_a = std::cin.good(); std::cin.clear(); std::cin.sync();
|
|
Diablo Temat założony przez niniejszego użytkownika |
» 2012-05-22 17:02:18 Czyli coś takiego? #include <iostream>
int main() { float liczba1; float liczba2; float liczba3; bool a; bool b; bool c; std::cout << "Liczba pierwsza to: "; std::cin >> a; bool czy_wczytano_a = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Liczba druga to: "; std::cin >> b; bool czy_wczytano_b = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Liczba trzecia to: "; std::cin >> c; bool czy_wczytano_c = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Informacje:" << endl; std::cout << "Liczba pierwsza to: " << liczba1; std::cout << " Wczytano? " << a << endl; std::cout << "Liczba druga to: " << liczba2; std::cout << " Wczytano? " << b << endl; std::cout << "Liczba trzecia to: " << liczba3; std::cout << " Wczytano? " << c << endl; return 0; } |
|
xevuel |
» 2012-05-22 19:20:34 To czy_wczytano_a to była tylko przykładowa nazwa. Zastąp to zmienną "a", czyli coś takiego: a = std::cin.good();
cout << "Wczytano? " << a;
I wczytuj do zmiennej float, nie do bool :) Naprawdę, przeczytaj ten rozdział jeszcze kilka razy. Ze zrozumieniem! |
|
tarnos |
nierozumiem ! » 2012-06-15 00:52:42 Kod ukradłem po wyżej i chciałbym żeby ktoś wytłumaczył dokładne mi skąd bool wie że cin>>a tyczy się jego !! nie mogę tego pojąć i zatrzymałem się na tym. Chciałem się jeszcze dowiedzieć czy można ominąć parę rozdziałów bo chciałem jeszcze ogarnąć Funkcje klasy i inne bo myślałem że dojdę do nich w tydzień a tu lipa straszna a mam nie długo zaliczenie jutro zaliczenie ok 18 hehe i coś czuję że nie zaliczę a chce nockę zarwać i do jutra się jeszcze uczyć ok 16 skończyć czyli mam niecałe 16h żeby ogarnąć (Tworzenie typów złożonych –struktury, unie, tablice struktur, wyliczenia,pzetwarzanie strumieniowe na plkach tek. i bin. ,WSKAŹ I REF. definiowanie, zastosowanie wskaźników wobec tablic, w argumentach funkcji, arytmetyka wskaźników,Dynamiczny przydział pamięci, operatory new i delete, dynamiczna alokacja tablicy,Klasy - typy definiowane przez użytkownika, składniki klasy, klasa a obiekt, dane składowe, funkcje składowe, odwoływanie się do publicznych danych składowych, polimorfizm, dziedziczenie. Co myślicie, hehe ? ) #include <iostream>
int main() { float liczba1; float liczba2; float liczba3; bool a; bool b; bool c; std::cout << "Liczba pierwsza to: "; std::cin >> a; bool czy_wczytano_a = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Liczba druga to: "; std::cin >> b; bool czy_wczytano_b = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Liczba trzecia to: "; std::cin >> c; bool czy_wczytano_c = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Informacje:" << endl; std::cout << "Liczba pierwsza to: " << liczba1; std::cout << " Wczytano? " << a << endl; std::cout << "Liczba druga to: " << liczba2; std::cout << " Wczytano? " << b << endl; std::cout << "Liczba trzecia to: " << liczba3; std::cout << " Wczytano? " << c << endl; return 0; } |
|
xevuel |
» 2012-06-15 06:57:24 Nie wpychaj się komuś do tematu. Załóż własny. Kod ukradłem po wyżej i chciałbym żeby ktoś wytłumaczył dokładne mi skąd bool wie że cin>>a tyczy się jego !! |
Chodzi Ci o to: std::cin >> a; bool czy_wczytano_a = std::cin.good();
? Otóż wczytanie za pomocą cin'a za każdym razem ustawia swoistą flagę błędu, oznaczającą, czy wczytywanie się powiodło, czy nie. Tak więc do tej zmiennej czy_wczytano_a przypisuje się wartość oznaczającą, czy wczytanie przed chwilą się powiodło, czy nie. Uwaga! Wpisanie bool czy_wczytano_a = std::cin.good(); po kodzie
std::cin.clear(); std::cin.sync();
nie zadziała prawidłowo, bo te funkcje czyszczą flagi błędów. |
std::cout << " Wczytano? " << a << endl;
Nie. Nie a, ale czy_wczytano_a. Dlaczego wczytujesz do zmiennej typu bool, a wypisujesz zmienną typu float, której w ogóle nie wykorzystujesz? Zamień w kodzie zmienną a na liczba1 itd. Jeśli jeszcze funkcji nie ogarnąłeś, to nawet nie myśl o klasach (ew. same podstawy, ale to już jak będziesz wiedział czym są funkcje). Przede wszystkim powtórz: |
|
NRC44 |
odpowiedz » 2012-07-03 22:46:28 Też miałem z tym problem ale w końcu urodziłem coś takiego:
#include <iostream> int main() { float liczba1; float liczba2; float liczba3;
std::cout << "Podaj liczbe 1: "; std::cin >> liczba1; bool a = std::cin.good(); std::cin.clear(); std::cin.sync();
std::cout << "Podaj liczbe 2: "; std::cin >> liczba2; bool b = std::cin.good(); std::cin.clear(); std::cin.sync();
std::cout << "Podaj liczbe 3: "; std::cin >> liczba3; bool c = std::cin.good(); std::cin.clear(); std::cin.sync();
std::cout << "Liczba 1 = " << liczba1 << "wczytano = " << a << std::endl; std::cout << "Liczba 2 = " << liczba2 << "wczytano = " << b << std::endl; std::cout << "Liczba 3 = " << liczba3 << "wczytano = " << c << std::endl;
return 0; }
Dane wyświetlają się na tej samej zasadzie jak na zdjęciu z zadania. |
|
1 « 2 » |