ВУЗ:
Составители:
Рубрика:
17
дробной части. Именно такой вид формируется в операции преобразования
дроби в строку.
// операция получения строкового представления дроби
static public implicit operator string(Fraction ob)
{
string res = "";
// знак числа выводится, только если число отрицательно
if (ob.sign < 0)
res = res + "-";
// если целая часть не равна 0, выводим ее
if (ob.intPart != 0)
res = res + ob.intPart;
// дробная часть печатается, если числитель не равен 0
if (ob.numerator != 0)
res = res + " " + ob.numerator + "/" + ob.denominator;
// если и целая часть и дробная часть равны 0,
// то число равно 0
if (ob.intPart == 0 && ob.numerator == 0)
res = "0";
return res;
}
В том же формате будет осуществляться и ввод данных из символьной
строки. В методе Parse() производится выделение составных частей
числа – знака, целой части, числителя и знаменателя.
// метод получения дроби из строки
public static Fraction Parse(string str)
{
int intPart, numerator, denominator, sign;
// разделение строки на подстроки
// с помощью разделителя-пробела
string [] strs=str.Split(' ');
string[] strs1;
Fraction res;
if (strs.Length == 1)
{
// в строке не было найдено пробелов
// производим разделение строки по символу ‘/’
strs1 = str.Split('/');
if (strs1.Length == 1)
{
// число задано в виде только целой части
// выделяем целую часть
intPart = int.Parse(strs1[0]);
// в зависимости от значения целой части,
// формируем новую дробь
if (intPart!=0)
дробной части. Именно такой вид формируется в операции преобразования
дроби в строку.
// операция получения строкового представления дроби
static public implicit operator string(Fraction ob)
{
string res = "";
// знак числа выводится, только если число отрицательно
if (ob.sign < 0)
res = res + "-";
// если целая часть не равна 0, выводим ее
if (ob.intPart != 0)
res = res + ob.intPart;
// дробная часть печатается, если числитель не равен 0
if (ob.numerator != 0)
res = res + " " + ob.numerator + "/" + ob.denominator;
// если и целая часть и дробная часть равны 0,
// то число равно 0
if (ob.intPart == 0 && ob.numerator == 0)
res = "0";
return res;
}
В том же формате будет осуществляться и ввод данных из символьной
строки. В методе Parse() производится выделение составных частей
числа – знака, целой части, числителя и знаменателя.
// метод получения дроби из строки
public static Fraction Parse(string str)
{
int intPart, numerator, denominator, sign;
// разделение строки на подстроки
// с помощью разделителя-пробела
string [] strs=str.Split(' ');
string[] strs1;
Fraction res;
if (strs.Length == 1)
{
// в строке не было найдено пробелов
// производим разделение строки по символу ‘/’
strs1 = str.Split('/');
if (strs1.Length == 1)
{
// число задано в виде только целой части
// выделяем целую часть
intPart = int.Parse(strs1[0]);
// в зависимости от значения целой части,
// формируем новую дробь
if (intPart!=0)
17
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »
