Czy mógłby mi ktoś wytłumaczyć dokładnie jak to działa i co robi ten kawałek kodu? Wiem, że ten wycinek sprawdza czy podana wartość jest liczbą. Jeśli podam np literkę to będzie czekało dalej aż podam cyfrę. Tylko jak to działa?
@turbol: wydaje mi się że to część kodu służacego do odczytu/zapisu danych do pliku. Bardziej też mi to na C niż Cpp wygląda ale tutaj głowy uciąć sobie nie dam
@PrawieJakBordo: to język c, ten kawałek kodu służy do 'filtracji' wpisywanej wartości i jeśli wpiszesz coś innego niż liczba to program nie puszcza dalej
@damianex19: fajne, to już możesz wydupcać z posta i nie pajacować
@turbol: scanf zwraca ilość specyfikatorów które zostały z sukcesem wczytane. Czyli dopóki nie podasz stringa który może być skonwertowany na float wykonuje się to co w while() - getchar() "zjada" input aż do znaku nowej linii lub końca strumienia wejścia.
@turbol: int ch; while((ch = getchar()) != '\n' && ch != EOF){ //wykonuj pętle dopóki użytkownik wciska litere/cyfre która nie jest enterem i dopóki nie skończył się plik - ja to tak rozumiem
#rosja #ukraina Niesamowite jest to, że my polacy pomagamy w upadku wschodniej kultury europejskiej. Przez stulecia nasza kultura była bliska kulturze rosyjskiej. Nagle wszyscy chcą zachodu, który dąży do likwidacji tego co budowaliśmy przez setki lat. Upadek Rosji, nie jest nam na rękę.
Czy mógłby mi ktoś wytłumaczyć dokładnie jak to działa i co robi ten kawałek kodu?
Wiem, że ten wycinek sprawdza czy podana wartość jest liczbą. Jeśli podam np literkę to będzie czekało dalej aż podam cyfrę. Tylko jak to działa?
while(scanf("%f", &zmienna) != 1){
int ch;
while((ch = getchar()) != '\n' && ch != EOF){
};
}
Komentarz usunięty przez autora
Komentarz usunięty przez autora
@damianex19: fajne, to już możesz wydupcać z posta i nie pajacować
int ch;
while((ch = getchar()) != '\n' && ch != EOF){ //wykonuj pętle dopóki użytkownik wciska litere/cyfre która nie jest enterem i dopóki nie skończył się plik - ja to tak rozumiem
while( std::cin >> zmienna ) std::cin.ignore(std::numeric_limits::max(), '\n');