Класс для работы с дробью, используя методы и конструкторы - C#
Формулировка задачи:
Создать класс для работы с рациональным числом (дробью), разработав следующие элементы класса:
a) Поля:
• числитель и знаменатель дроби.
b)Конструктор, позволяющий создать экземпляр класса с заданными значениями полей.
c) Методы, позволяющие:
• вывести дробь в формате <числитель>/<знаменатель>;
• прибавить к дроби единицу;
• определить, является ли дробь правильной.
d) Свойства:
• позволяющее определить целую часть рационального числа (доступное только для чтения).
Код прилагается.
Вопрос такой, как сделать метод, позволяющий прибавить к дроби единицу и
как определить, является ли дробь правильной.
и как проверить последнее свойство ?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
double a, b, c, d, N, n;
Console.WriteLine("Введите числитель дроби");
a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите знаменатель дроби");
b = Convert.ToDouble(Console.ReadLine());
//вызов конструктора
Drob m = new Drob(a, b);
d = a / b;
Console.WriteLine("Дробь= {0}\n", a + "/" + b + "=" + d);
}
}
class Drob
{
Double chisl; //числитель
Double znam; //знаменатель
public Drob(double a, double b)//конструктор с двумя параметрами
{
chisl = a;
znam = b;
}
public Drob(double c) //конструктор выводящий новую дробь
{
c = d + 1; // к исходной дроби добавить еденицу
}
//------------методы--------------------
public void print() //метод позволяющий вывести числитель и знаменатель дроби
{
Console.WriteLine("Числитель дроби ({0})", chisl);
Console.WriteLine("Знаменатель дроби ({0})", znam);
}
public bool prav(Double chisl, Double znam) //метод опред является ли дробь правильной
{
bool b = true;
if (chisl > znam)
b = false;
return b;
Console.WriteLine("Дробь неправильная! ({0})");
}
public double eden(double c) // метод прибавляющий единицу к дроби
{
c = d + 1;
Console.WriteLine("Новая дробь {0}\n", c);
}
//-------Cвойствa----------
public double Readznam //свойство только для чтения
{
get
{
return znam;
}
}
public double Readchisl //свойство только для чтения
{
get
{
return chisl;
}
}
}
}Решение задачи: «Класс для работы с дробью, используя методы и конструкторы»
textual
Листинг программы
public static drob operator /(drob c1, drob c2) //результатом является частное двух дробей.
{
drob newDrob = new drob(c1.Chisl * c2.Znam, c1.Znam * c2.Chisl);
return newDrob;
}