Praca domowa do lekcji 15 - kalkulator
Ostatnio zmodyfikowano 2015-08-15 16:14
C-Objective |
» 2015-08-14 18:24:52 nie używaj cin tylko getch jak mówię |
|
BadBullPL |
» 2015-08-14 18:30:05 nie używaj cin tylko getch jak mówię |
Poco? Niestety nie pomaga. Wpisanie litery kończy program |
Wczytuj liczbę w pętli. |
|
kaczan Temat założony przez niniejszego użytkownika |
» 2015-08-14 18:37:07 nie używaj cin tylko getch jak mówię
|
Jeszcze nie znam tej funkcji. Poczytam dalej i pewnie będę w stanie z tym sobie poradzić. Czy jednak nie da się zrobić tego zadania z funkcją cin? W poleceniu było zastosowanie zabezpieczenia przed błędnym wpisem. Pętla sama z siebie działa. Zabezpiecznie nie. Więc zadanie nie jest wykonane. Chcę się dowiedzieć, gdzie robię błąd. |
|
carlosmay |
» 2015-08-14 18:47:39 Nie wiem czemu nie działa u Ciebie program. Skompilowałem twój program na vs13 i działa sprawdzanie wczytanych danych działa, czyli pyta ponownie gdy dane są niezgodne z oczekiwanym typem. Natomiast na vs15 zmieniłem na cin.ignore() i też zaczął działać poprawnie.
Jakiego IDE używasz? |
|
C-Objective |
» 2015-08-14 18:58:42 Nie ide tylko kompilator. @up Przetestuj ten program. #include <conio.h> int toInt( char * s ) { int n, i; i = n = 0; while( s[ i ] >= '0' && s[ i ] <= '9' ) { n = n * 10 + s[ i++ ] - '0'; } return n; } int main() { char arr[] = { "Wpisz a aby zakonczyc program. Podaj dwie cyfry, a ja wyswietle ci sume. Nawet jestli wpiszesz durnote to sie nie zawiesze ;)" } for( int i = 0; i < strlen( & arr ); i++ ) putch( arr[ i ] ); char c = getch(); char c2 = getch(); if( c == 'a' || c2 == 'a' ) else { if( c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9' || c == '0' ) { if( c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9' || c == '0' ) { putch( toInt( & c ) + toInt( & c2 ); } else { } } else { } } }
Powinno dzialac |
|
BadBullPL |
» 2015-08-14 19:29:34 |
|
JMII89 |
» 2015-08-14 19:37:16 @C-Objective
Ciekawe. Kod poza mainem() |
|
carlosmay |
» 2015-08-14 19:42:36 #include <iostream>
int main() { int liczba1 = 0; do { std::cin.clear(); std::cin.sync(); std::cin >> liczba1; if( !std::cin ) std::cout << "Dane niepoprawne. Podaj ponownie." << std::endl; } while( !std::cin ); return 0; }
Spróbuj przepisać swój kod od nowa i w ten sposób sprawdzać czy stan cin jest poprawny. |
|
1 « 2 » 3 |