ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »