Racionals (2) P84584


Statement
 

pdf   zip   main.cc

Usant la mateixa definició dels racionals que a l’exercici P85696, feu una funció amb dos paràmetres de sortida:

    void llegeix_racional(Racional& r, bool& final);

que intenti llegir un racional representat per dos enters (el numerador i el denominador), en retorni el racional corresponent un cop “normalitzat” segons la mateixa convenció que a l’exercici RACI1, i indiqui si s’han pogut llegir els dos enters o no. Cal que @final@ valgui @true@ si i només si no s’han pogut llegir els dos enters (perquè l’entrada s’ha acabat). El valor de @r@ és irrellevant quan @final@ és cert.

Precondició

Cap dels denominadors llegits serà 0.

Feu també una acció

    void escriu_racional(const Racional& r);

que escrigui el racional @r@ amb el format @r.num/r.den@, a no ser que el denominador sigui 1, cas en el qual cal escriure simplement el numerador. No escrigueu espais intermitjos ni cap salt de línia al final.

Precondició

El racional @r@ és correcte i ja està normalitzat.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Seguiu estrictament la definició dels tipus de l’enunciat.

Information
Author
Salvador Roura
Language
Catalan
Other languages
English
Official solutions
C++
User solutions
C++