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

Problem z wyświetleniem komunikatu

Ostatnio zmodyfikowano 2009-06-02 22:53
Autor Wiadomość
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 ??

C/C++
#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;
}
P-7383
DejaVu
» 2009-06-02 17:44:59
1. wczytuj liczbę jako napis string
2. konwertuj napis string na liczbę
P-7385
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.
P-7394
pekfos
» 2009-06-03 14:36:41
cout << "" << endl;
poco tak jak można tak:
cout << endl;
i krócej nawet:)
P-7401
manfred
» 2009-06-02 20:14:07
A nie łatwiej użyć odpowiednich ustawień lokalnych?
P-18933
manfred
» 2009-06-02 22:53:48
Jak tak to nie problem bez jawnej konwersji string <-> liczba:
C/C++
double foo;
while( !( cin >> foo ) )
{
    cout << "wpisz liczbe, bucu... Z kropka, nie przecinkiem.\n";
    cin.sync();
    cin.clear();
}
P-18934
« 1 »
  Strona 1 z 1