Escribir una clase para manejar fracciones, como «1/3». La clase debe tener dos miembros de datos privados (ints) llaman numerador y el denominador.
Crear set () y get (funciones) para el numerador y el denominador. El numerador y el denominador se les debe permitir tener valores negativos.
El valor del denominador deben nunca igual a cero (un valor de cero para el denominador no es aceptable, ya que podría hacer que la caída del programa). Para hacer cumplir esta restricción, utilice un bucle while o una instrucción if / else en cualquier función que establece el valor del denominador
sobrecargar el +, -., * Y / operadores para realizar la suma, resta, multiplicación y la división de los objetos de fracciones. Por ejemplo:
1/3 + 1/2 = 5/6
1/3 – 1/2 = -1 / 6
1/3 * 1/2 = 1 / 6
1/3/1/2 = 2/3
También proporciona un método sobrecargado que le permite a su trabajo en clase con cout. cout debe mostrar el objeto fracción. Por ejemplo, esta función debe mostrar un tercio si el numerador y el denominador = 1 = 3. Para este efecto, se puede utilizar el operador de conversión const char * (), o sobrecargar el operador <<, como se muestra en la sesión 13.
El operador que se utiliza para trabajar con cout también debería reducir la fracción. Por ejemplo, la fracción 2/6 debe mostrar como 1/3. La fracción 6/21 debe mostrar como el 2/7. Para implementar esto, usted debe utilizar el máximo común denominador (o máximo común divisor, GCD) para el numerador y el denominador. Por ejemplo en el caso 6/21, el MCD es 3 y 6 dividido por 3 = 2, 21 dividido por 3 = 7, por lo tanto, la pantalla debe ser de 2/7.
Si el numerador o en el denominador (o ambos) son números negativos, el operador trabaja con cout debe mostrar la fracción correctamente (si es negativo, el signo menos debe estar al frente del numerador, nunca delante del denominador). Por ejemplo, si los datos se almacena como fracción -1/-3, cout debe aparecer 1/3, si los datos de fracción es 1/-3, cout debe mostrar -1 / 3.
Escriba un programa que demuestra el uso de cada función miembro de la clase fracción. Pida al usuario que introduzca los valores para las dos fracciones que se utilizarán en la manifestación.
Directrices
- En esta asignación , usted puede tener una clase de fracción con 2 miembros de datos:. numerador y denominador
- Un método set que solicita al usuario que introduzca la fracción, a continuación, establecer los valores a los miembros de datos (Compruebe si el numerador o el denominador es igual a 0) .
- El requisito sugieren una función get (), pero no sé lo que es para
- 4 sobrecarga del operador + -. * / función en la cual usted hace las matemáticas básicas con fracción (tipo de retorno es un objeto de fracción). Usted puede utilizar miembro o la función no miembro sobrecargado (Google)
- Una función cout sobrecargado que reducir una fracción de entrada e imprimirla en el formato correcto. Algunos casos requieren atención:
- Compruebe si el numerador o el denominador es igual a cero
- Compruebe si el numerador es igual denominador
- Compruebe si el numerador es igual denominador * (-1)
- Después de eso, reducir la función con el máximo común divisor (Google)
- comprobar si denominador = 1
- Comprobar si el denominador = -1
- comprobar si el numerador y denominatorhave mismo signo
- comprobar si el numerador y denominatorhave signo opuesto