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

Warunek "Jeśli wpisany tekst to wyraz, to wyświetl: ..."

Ostatnio zmodyfikowano 2015-04-13 17:51
Autor Wiadomość
mimi22772
Temat założony przez niniejszego użytkownika
Warunek "Jeśli wpisany tekst to wyraz, to wyświetl: ..."
» 2015-04-10 20:19:25
Witam.
Jestem początkującym programistą. Język C++ jest moim pierwszym i zacząłem się go niedawno uczyć. Mam problem z moim kalkulatorem. Otóż chcę zrobić tak, aby w menu głównym przy wybieraniu opcji, jeśli wpiszę cyfrę wyświetlało:

http://i.imgur.com/DDm5L9e.jpg

I jest tak zrobione, lecz chciałbym zrobić że gdy wpiszę wyraz wyświetlało:

http://i.imgur.com/tVyfJ1D.jpg?1

Kod który za to odpowiada to:

          if(opcja == 1)
{

kod ...//

}

else
{
cout<<"\nERROR:  Nie ma takiej opcji w menu!\a\a"<<endl;
cout<<"ERROR:  Wybierz jeszcze raz.";
cin.clear(); //kasowanie flagi błędu strumienia
  cin.sync(); //kasowanie zbędnych znaków z bufora
Sleep(1600);
system("cls");
}

Jak mogę zrobić aby rozpoznawało czy wpisałem liczbę, czy wyrazy? Pozdrawiam.
P-130533
pekfos
» 2015-04-10 20:21:00
cin.fail().
P-130534
mimi22772
Temat założony przez niniejszego użytkownika
» 2015-04-13 17:51:42
Dzięki, ale nie chodziło mi o to, lub nie rozumiem działania tamtej funkcji. Rozwiązałem to tak:
C/C++
//KOD PROGRAMU

cin >> opcja;

else if( opcja == 1 )
{
    //kod
}
else if( opcja == 2 )
{
    //kod
}
else if( opcja == 3 )
{
    //kod
}

else if( !( opcja ) )
{
    cout << "\nERROR:  WPISALES LITERY!\a\a" << endl;
    cout << "ERROR:  Wybierz jeszcze raz.";
    cin.clear(); //kasowanie flagi błędu strumienia
    cin.sync(); //kasowanie zbędnych znaków z bufora
    Sleep( 1600 );
    system( "cls" );
}

else
{
    cout << "\nERROR:  Nie ma takiej opcji w menu!\a\a" << endl;
    cout << "ERROR:  Wybierz jeszcze raz.";
    cin.clear(); //kasowanie flagi błędu strumienia
    cin.sync(); //kasowanie zbędnych znaków z bufora
    Sleep( 1600 );
    system( "cls" );
}

I działa dokładnie tak jak chciałem, rozpoznaje czy wpisałem litery czy złą liczbę z menu :)
P-130840
« 1 »
  Strona 1 z 1