Реализовать арифметику рациональных чисел (умножение и деление) - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте . Есть такая задача: нужно реализовать арифметику рациональных чисел (умножение и деление). Вот всё, что получилось :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Rational
{   int m, n;  //числитель, знаменатель 
    public Rational(int a, int b)  //конструтор
    {
        if (b == 0) { m = 0; n = 1; }
        else
        {//приведение знака
            if (b < 0) { b = -b; a = -a; }
            //приведение к несокротимой дроби 
            int d = nod(a, b);
            m = a / d; n = b / d;
        }
    }
 int nod(int m, int n)   //метод поиска наибольшего общего делителя
 {  int p=0;
    m=Math.Abs(m); n =Math.Abs(n);
    if(n>m){p=m; m=n; n=p;}
        do
           {
              p = m%n; m=n; n=p;
           }while (n!=0);
    return(m);
}
 
    public void PrintRational (string name) //метод печатает имя и значение рац. числа в форме m/n
    {Console.WriteLine ("{0}={1}/{2}", name,m, n);
    }
 
    public Rational Mult(Rational a)
    {
        int u, v;
        u = m * a.m; v = n * a.n;
        return (new Rational(u, v));
    }//Mult
    public static Rational operator *(Rational r1, Rational r2)
    {
        return (r1.Mult(r2));
    }
    public Rational Divide(Rational a)
    {
        int u, v;
        u = m * a.n; v = n * a.m;
        return (new Rational(u, v));
    }//Divide
    public static Rational operator /(Rational r1, Rational r2)
    {
        return (r1.Divide(r2));
    }
 }
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
Программа всё считает , но только , если числа задаются непосредственно в программе , то есть , используя конструктор Rational . Как сделать так, чтобы числа могли вводиться пользователем с клавиатуры? Есть догадки , что нужно перегрузить оператор ввода, но не получается всё равно никак, не пойму , как ввести числа как дробь . Помогите , пожалуйста , с этим вопросом . Заранее огромное спасибо!

Решение задачи: «Реализовать арифметику рациональных чисел (умножение и деление)»

textual
Листинг программы
if (input[1] == "0")

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.6 из 5
Похожие ответы