Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 17 ] Zadanie domowe

Ostatnio zmodyfikowano 2016-05-23 09:45
Autor Wiadomość
lukhol
Temat założony przez niniejszego użytkownika
» 2014-10-23 21:29:26
Up zastosowanie do while mi nie pomoże, pętla bedzie wykonaywala sie bez końca.
P-119267
Memento96
» 2014-10-23 21:32:22
http://iv.pl/images/89896652005076404358.jpg
Ja tu widzę coś innego :)
Dopracuj kod, da się ;)
P-119268
matys210
» 2014-10-23 21:33:57
ja mam tak :)
C/C++
#include "stdafx.h"
#include <iostream>

using namespace std;

int wczytajLiczbe();

int main()
{
   
    int liczba;
    liczba = wczytajLiczbe();
    cout << "Podales liczbe: " << liczba << endl;
    system( "pause" );
    return 0;
}


int wczytajLiczbe()
{
    int a;
    do {
        cout << "Podaj liczbe: ";
        cin.clear(); // czysci bufor wejscia
        cin.sync();
        cin >> a;
        if(( cin.good() ) == 0 )
             cout << "nieprawidlowa wartosc, proboj dalej" << endl;
       
    } while( !( cin.good() ) ); // cin.good() sprawdza poprawnosc zwraca 1 gdy dobra
   
    return a;
}
P-119269
lukhol
Temat założony przez niniejszego użytkownika
» 2014-10-23 21:44:28
Dobra zrobiłem tak. Tylko wytłumaczył by mi ktoś po krótce czemu muszę dodać te 2 linijki:

C/C++
cin.clear();
cin.sync();


C/C++
#include <iostream>
using namespace std;

int wczytajLiczbe()
{
    int liczbaDwa;
    do {
       
        cin.clear(); // czysci bufor wejscia
        cin.sync();
        cin >> liczbaDwa;
        if( liczbaDwa == 0 ) cout << "Podaj liczbe: "; }
    while( liczbaDwa == 0 );
   
   
   
    return liczbaDwa;
}

int main()
{
    cout << "Podaj liczbe: ";
    int liczba = wczytajLiczbe();
    cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}
P-119270
matys210
» 2014-10-23 21:48:23
[url]http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12[/url]
P-119271
Memento96
» 2014-10-23 22:01:41
I po co podajecie gotowe odpowiedzi? Ten portal służy do nauki, nie do rozwiązywania zadań
P-119275
Rashmistrz
» 2014-10-24 08:14:05
@matys210
Nie krzywdź intelektu innych.
I po co podajecie gotowe odpowiedzi? Ten
portal służy do nauki, nie do rozwiązywania zadań.

[url]http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12[/url]
3 post tematu:
» Kurs C++ » Poziom 1Obsługa strumienia wejściowego lekcja
_______________________________________________________

Dobra zrobiłem tak. Tylko wytłumaczył by mi ktoś
po krótce czemu muszę dodać te 2 linijki:

Pierwszą z nich jest std::cin.clear(),
która czyści flagi błędu. Drugą metodą jest
std::cin.sync(), która czyści bufor strumienia.

Raz ustawiona flaga sama nie zniknie.
Zablokowała / zapętliła by pętlę w
nieskończoność.

A bufor może otrzymać dane, które
nie są liczbą i nie da się przypisać
do zmiennej liczbowej, a to ustawia
flagę błędu.
P-119284
Memento96
» 2014-10-24 08:21:39
Właśnie Wy krzywdzicie, można naprowadzić na rozwiązanie, ale na Boga, nie podawać... Co potem będzie z tego wiedział jeśli się nie spyta? Działa? Działa, jedziemy dalej.
P-119285
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona