![]() |
Mòdul
2
![]() |
Fonaments de
Programació. Llenguatge C/C++![]() |
Pràctica ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
|
Pràctica
d'ampliació ![]() ![]() |
Operacions amb fraccions
En aquesta pràctica veurem l'ús de variables globals i com una funció les pot modificar. Més endavant veurem com una funció pot modificar variables sense que aquestes siguin globals. L'ús de variables globals és sempre un últim recurs que s'ha d'evitar sempre que es pugui.
|
||||||
![]() |
Desenvolupament de la pràctica
Definiu un projecte nou anomenat m2pa1 i afegiu-li un fitxer de font C/C++ anomenat m2pa1.cpp. Escriviu el següent codi:
Explicació del programa En aquest programa s'han creat quatre funcions anomenades suma(), resta(), producte(), i quocient(), aquestes funcions no retornen valors, s'han declarat del tipus void, només modifiquen variables globals. La declaració de les variables es fa abans de la definició de totes les funcions, incloent la funció main(). Aquestes funcions no retornen cap valor ni accepten cap argument:
A continuació, i abans també de la definició de la funció main(), es declaren les variables globals:
corresponen al numerador i denominador de dues fraccions, i el numerador i el denominador del resultat corresponent. Veiem, per exemple, com funciona la funció suma():
Aquesta funció utilitza directament les variables globals sense haver de declarar-les. Tampoc hi ha cap sentència return. Les modificacions que es fan a les variables globals ja seran vistes fora de la funció. És interessant fer notar en aquest programa l'ús del primer argument de la funció scanf():
Exactament, la cadena de control: "%d/%d" significa que es llegeix un enter, s'ignora el caràcter '/' i es torna a llegir un altre enter. Quan es demani la introducció de la fracció s'ha de fer de la següent forma: num/den, per exemple: 3/4. |