Sudefinition (istream & operator >>)
Bonjour, j'ai creer une classe pour faire du calcul de fraction, tout marche niquel sauf que pour la surdefinition de >> je souhaiterais avoir deux possibilité, premiere : l'utilisateur rentre 3/4 et on affecte 3 au num et 4 au denom, facile c ca :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| /////////////////////////////////////////////////////////////////////////////
//// SURDEFINITION FLOT >> ////
/////////////////////////////////////////////////////////////////////////////
istream & operator >> (istream & entree, fraction & f)
{
char c='\0';
int num,denom;
bool ok=1;
entree >> num >> c;
if (c!='/') ok=0;
else entree >> denom;
if (ok) {f.num=num; f.denom=denom;}
else entree.clear (ios::badbit | entree.rdstate() );
return entree;
} |
Mais je voudrais aussi que si je tappe 4, la suredifinition de >> passe 4 au num et 1 au denom ce qui evite de rentrer 4/1 , mais je n'y arrive pas le :
if (c!='/') ok=0;
fait que le cin attend un carctere / et tant que je lui donne pas il valide pas !!
Quelqu'un aurait une solution ??
MERCI ET BON DEVELOPPEMENT