Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1101
I Semestre 2007
[<=] [home] [<>] [\/] [=>]
CI-1101 Programación I

Tarea #6 [solución]

Calculadora de números racionales

/* p2-ta-1.cpp  (c) 2005 adolfo@di-mare.com */

#include "rational.h"   // clase de números racionales

int main(void) {
/*  resultado
    <><><><><><><><> Qué hace el programa... */
/*  programador <><><><><><><><>
    Ponga aquí su nombre y carnet
    <><><><><><><><> */

    rational r,    // <><><><><><><><>
             acum; // <><><><><><><><>
    char op;       // <><><><><><><><>

    // <><><><><><><><>
    acum = 0;

    // <><><><><><><><>
    cout << acum << " > ";
    cin  >> op;


    // <><><><><><><><>
    while (op != '.') {
        // <><><><><><><><>
        cin >> r;             // <><><><><><><><>

        // <><><><><><><><>
        switch (op) {
            case '+': acum += r;          break;
            case '-': acum  = acum - r;   break;
            case '*': acum *= r;          break;
            case '/': acum  = acum / r;   break;
        default:
            // <><><><><><><><>
            cout << "\n(" << op << ")==> Operación inválida\n";
        }

        // <><><><><><><><>
        cout << acum << " > ";
        cin.ignore(INT_MAX, '\n');
        cin >> op;
    }

    // <><><><><><><><>
    return 0;
}  // main()

/* EOF: p2-ta-1.cpp */
Figura 1: Calculadora de números racionales

      Tome la implementación de la Figura 1 y modifíquela para obtener una calculadora de números racionales. Use la clase "Racional" pero evite modificarla: para su trabajo debe crear las rutinas que le falten alrededor de lo que ya usted tiene.

      Entregue su tarea por correo electrónico, como lo hizo anteriormente.

[mailto:] Entrega de Tareas

Tiempo de entrega: 7 días
Entregue la documentación de su programa al finalizar la primera etapa.
Luego, entregue el programa completo en la segunda fecha.
Primera etapa: 3 días
Modalidad: En parejas

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2007
Derechos de autor reservados © 2007
[home] <> [/\]