Chcialem aby uzytkownik po wpisaniu jakiejs literki w switchu z opcjami 1-5 zostal o tym poinformowany i poproszony o podanie poprawnych danych, mam takie cos:
void Result::menu()
{
cout<<"Main menu"<<endl;
cout<<"---------------------"<<endl;
cout<<"1.Addition"<<endl;
cout<<"2.Subtraction"<<endl;
cout<<"3.Multiplication"<<endl;
cout<<"4.Division"<<endl;
cout<<"5.Exit"<<endl;
cout<<endl;
cout<<"Choose an operation: ";
cin>>choice;
while (cin.fail())
{
cout<<"There is no such option"<<endl;
cin.clear();
cin.ignore(1000,'\n');
cin>>choice;
}
cout<<endl;
ale nie podoba mi sie argument w cin.ignore, to 1000, wydaje mi sie ze daloby to zapisac optymalniej bez "marnowania" znakow, poprosze o podpowiedz, a no i jeszcze
switch(choice)
{
case 1:
{
cout<<"W(x)+P(x) = ";
addition();
}
break;
case 2:
{
cout<<"W(x)-P(x) = ";
subtraction();
}
break;
case 3:
{
}
break;
case 4:
{
}
break;
case 5:
{
cout<<"Goodbye";
exit(0);
}
break;
default:
{
cout<<"There is no such option";
}
break;
}
przy default np jak wybiore 7 (takiej opcji nie ma) chcialbym abym mogl wybrac jeszcze raz a nie ze program zaczyna sie od nowa
Main:
#include <iostream>
#include "result.h"
#include "stdio.h"
#include "cstdlib"
using namespace std;
int main()
{
for (;;)
{
Result r(0,0);
r.gatherWxPx();
r.menu();
r.showResult();
}
return 0;
}