Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Trabalho_Prático_12._11._2014
- {
- class Program
- {
- public struct EstruturaFracao
- {
- public int numerador;
- public int denominador;
- };
- //Função para determinar o mdc de dois inteiros positivos
- static int MDC(EstruturaFracao x)
- {
- int resto = 1;
- while (resto > 0)
- {
- resto = x.numerador % x.denominador;
- x.numerador = x.denominador;
- if (resto > 0)
- {
- x.denominador = resto;
- }
- }
- return x.denominador;
- }
- //função para simplificar uma fração
- static EstruturaFracao Simplificar(EstruturaFracao x)
- {
- int y;
- y = MDC(x);
- x.numerador = x.numerador / y;
- x.denominador = x.denominador / y;
- return x;
- }
- //função para somar duas frações
- static EstruturaFracao Somar(EstruturaFracao x, EstruturaFracao y)
- {
- EstruturaFracao fracaoR;
- fracaoR.numerador = (x.numerador * y.denominador) + (x.denominador * y.numerador);
- fracaoR.denominador = (x.denominador * y.denominador);
- return fracaoR;
- }
- //função para subtrair duas frações
- static EstruturaFracao Subtrair(EstruturaFracao x, EstruturaFracao y)
- {
- EstruturaFracao fracaoR;
- fracaoR.numerador = (x.numerador * y.denominador) - (x.denominador * y.numerador);
- fracaoR.denominador = (x.denominador * y.denominador);
- return fracaoR;
- }
- //função para multiplicar duas frações
- static EstruturaFracao Multiplicar(EstruturaFracao x, EstruturaFracao y)
- {
- x.numerador = x.numerador * y.numerador;
- x.denominador = x.denominador * y.denominador;
- return x;
- }
- //função para dividir duas frações
- static EstruturaFracao Dividir(EstruturaFracao x, EstruturaFracao y)
- {
- x.numerador = x.numerador * y.denominador;
- x.denominador = x.denominador * y.numerador;
- return x;
- }
- //função para elevar uma fração a uma potência
- static EstruturaFracao Potencia(EstruturaFracao x, int potencia)
- {
- int contador = 2;
- int numerador = x.numerador;
- int denominador = x.denominador;
- while (contador <= potencia)
- {
- x.numerador = x.numerador * numerador;
- x.denominador = x.denominador * denominador;
- contador++;
- }
- return x;
- }
- static void Main(string[] args)
- {
- //Programa para ler os dados necessários para operar com frações
- //Efetuar as operações acima
- //Escrever os resultados em forma de fração simplificada
- EstruturaFracao fracao1, fracao2, fracaoR;
- int mdc = 0;
- string escolha = "";
- int potencia = 0;
- while (escolha != "9")
- {
- Console.WriteLine("Escolha uma operação:\n");
- Console.WriteLine("Operação 1: MDC de dois números inteiros positivos.\n");
- Console.WriteLine("Operação 2: Simplificar uma fração.\n");
- Console.WriteLine("Operação 3: Somar duas frações.\n");
- Console.WriteLine("Operação 4: Subtrair duas frações.\n");
- Console.WriteLine("Operação 5: Multiplicar Duas Frações.\n");
- Console.WriteLine("Operação 6: Divisão de Duas Frações.\n");
- Console.WriteLine("Operação 7: Potencialização de uma fração.\n");
- Console.Write("\n\nEscolha: ");
- escolha = Console.ReadLine();
- Console.Clear();
- switch (escolha)
- {
- case ("1"):
- Console.WriteLine("Operação 1: MDC de dois números inteiros positivos.\n");
- Console.Write("Digite o numerador: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- mdc = MDC(fracao1);
- Console.WriteLine("O MDC de {0}/{1} é: {2}", fracao1.numerador, fracao1.denominador, mdc);
- Console.ReadKey();
- Console.Clear();
- break;
- case ("2"):
- Console.WriteLine("Operação 2: Simplificar uma fração.\n");
- Console.Write("Digite o numerador: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- Console.WriteLine("Fração:\t{0}/{1}", fracao1.numerador, fracao1.denominador);
- fracaoR = Simplificar(fracao1);
- Console.WriteLine("Fração Simplificada:\t{0}/{1}", fracaoR.numerador, fracaoR.denominador);
- Console.ReadKey();
- Console.Clear();
- break;
- case ("3"):
- Console.WriteLine("Operação 3: Somar duas frações.\n");
- Console.Write("Digite o numerador da primeira fração: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da primeira fração: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o numerador da segunda fração: ");
- fracao2.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da segunda fração: ");
- fracao2.denominador = Int32.Parse(Console.ReadLine());
- fracaoR = Somar(fracao1, fracao2);
- Console.WriteLine("Resultado da soma de {0}/{1} e {2}/{3}: {4}/{5}", fracao1.numerador, fracao1.denominador, fracao2.numerador, fracao2.denominador, fracaoR.numerador, fracaoR.denominador);
- fracaoR = Simplificar(fracaoR);
- Console.WriteLine("Resultado simplifacado: {0}/{1}", fracaoR.numerador, fracaoR.denominador);
- Console.ReadKey();
- Console.Clear();
- break;
- case ("4"):
- Console.WriteLine("Operação 4: Subtrair duas frações.\n");
- Console.Write("Digite o numerador da primeira fração: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da primeira fração: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o numerador da segunda fração: ");
- fracao2.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da segunda fração: ");
- fracao2.denominador = Int32.Parse(Console.ReadLine());
- fracaoR = Subtrair(fracao1, fracao2);
- Console.WriteLine("Resultado da subração de {0}/{1} e {2}/{3}: {4}/{5}", fracao1.numerador, fracao1.denominador, fracao2.numerador, fracao2.denominador, fracaoR.numerador, fracaoR.denominador);
- fracaoR = Simplificar(fracaoR);
- Console.WriteLine("Resultado simplifacado: {0}/{1}", fracaoR.numerador, fracaoR.denominador);
- Console.ReadKey();
- Console.Clear();
- break;
- case ("5"):
- Console.WriteLine("Operação 5: Multiplicar Duas Frações.\n");
- Console.Write("Digite o numerador da primeira fração: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da primeira fração: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o numerador da segunda fração: ");
- fracao2.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da segunda fração: ");
- fracao2.denominador = Int32.Parse(Console.ReadLine());
- fracaoR = Multiplicar(fracao1, fracao2);
- Console.WriteLine("Resultado da multiplicação de {0}/{1} e {2}/{3}: {4}/{5}", fracao1.numerador, fracao1.denominador, fracao2.numerador, fracao2.denominador, fracaoR.numerador, fracaoR.denominador);
- fracaoR = Simplificar(fracaoR);
- Console.WriteLine("Resultado simplifacado: {0}/{1}", fracaoR.numerador, fracaoR.denominador);
- Console.ReadKey();
- Console.Clear();
- break;
- case ("6"):
- Console.WriteLine("Operação 6: Divisão de Duas Frações.\n");
- Console.Write("Digite o numerador da primeira fração: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da primeira fração: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o numerador da segunda fração: ");
- fracao2.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da segunda fração: ");
- fracao2.denominador = Int32.Parse(Console.ReadLine());
- fracaoR = Dividir(fracao1, fracao2);
- Console.WriteLine("Resultado da divisão de {0}/{1} e {2}/{3}: {4}/{5}", fracao1.numerador, fracao1.denominador, fracao2.numerador, fracao2.denominador, fracaoR.numerador, fracaoR.denominador);
- fracaoR = Simplificar(fracaoR);
- Console.WriteLine("Resultado simplifacado: {0}/{1}", fracaoR.numerador, fracaoR.denominador);
- Console.ReadKey();
- Console.Clear();
- break;
- case ("7"):
- Console.WriteLine("Operação 7: Potencialização de uma fração.\n");
- Console.Write("Digite o numerador fração: ");
- fracao1.numerador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite o denominador da fração: ");
- fracao1.denominador = Int32.Parse(Console.ReadLine());
- Console.Write("Digite a potencia: ");
- potencia = Int32.Parse(Console.ReadLine());
- fracaoR = Potencia(fracao1, potencia);
- Console.WriteLine("Resultado da potencialização de {0}/{1} a {2}: {3}/{4}", fracao1.numerador, fracao1.denominador, potencia, fracaoR.numerador, fracaoR.denominador);
- fracaoR = Simplificar(fracaoR);
- Console.WriteLine("Resultado simplifacado: {0}/{1}", fracaoR.numerador, fracaoR.denominador);
- Console.ReadKey();
- Console.Clear();
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement