Problem z wyświetleniem komunikatu
Ostatnio zmodyfikowano 2009-06-02 22:53
matic Temat założony przez niniejszego użytkownika |
Problem z wyświetleniem komunikatu » 2009-06-02 17:33:29 Po długiej przerwie wróciłem do nauki programowania. Udoskonaliłem nieco mój program, ale mam problem. Po wpisaniu liczby z przecinkiem (a nie z kropką) program wariuje. Czy mógłby mi ktoś powiedzieć jak wykombinować, żeby zamiast tego po wpisaniu takiej liczby program wyświetlał odpowiedni komunikat ?? #include <iostream> #include <cmath> #include <iomanip>
using namespace std; int main() { char w; do { float ksm; int ilosc; cout << "Witaj w programie skillomierz v.0.12 autorstwa Mateusza Kozaneckiego" << endl; cout << "" << endl; cout << "Program dziala tylko w zakresie skilli 1-20" << endl; cout << "" << endl; cout << "Podaj ilosc zawodnikow: "; cin >> ilosc; cout << "" << endl; for( int i = 1; i <= ilosc; i++ ) { cout << "" << i << ") "; cout << "KSM: "; cin >> ksm; cout << "" << endl; cout << "SKILL: " << round( ksm * 1.67 ) << endl; cout << "" << endl; cout << "" << endl; } cout << "Kontynuowac? (t/n) "; cin >> w; } while( w != 110 ); return 0; }
|
|
DejaVu |
» 2009-06-02 17:44:59 1. wczytuj liczbę jako napis string 2. konwertuj napis string na liczbę |
|
DejaVu |
» 2009-06-02 20:19:46 On chce obsłużyć błędy (przynajmniej tak zrozumiałem). Więc to (chyba) jedyna droga dająca największe możliwości kontroli błędu. |
|
pekfos |
» 2009-06-03 14:36:41 cout << "" << endl; poco tak jak można tak: cout << endl; i krócej nawet:) |
|
manfred |
» 2009-06-02 20:14:07 A nie łatwiej użyć odpowiednich ustawień lokalnych? |
|
manfred |
» 2009-06-02 22:53:48 Jak tak to nie problem bez jawnej konwersji string <-> liczba: double foo; while( !( cin >> foo ) ) { cout << "wpisz liczbe, bucu... Z kropka, nie przecinkiem.\n"; cin.sync(); cin.clear(); } |
|
« 1 » |