Класс для работы с восьмеричным числом, хранящимся в виде строки символов - C#
Формулировка задачи:
Создать класс для работы с восьмеричным числом, хранящимся в виде строки символов. Реализовать операции присваивания, сравнения, преобразование в десятичное число, форматный вывод, доступ к заданной цифре числа по индексу.
Составить программу для тестирования класса.
Если кому-то несложно или кто-нибудь знает, как осуществить подобное, прошу помочь, буду очень благодарен. Уже не знаю, к кому обратиться, надеюсь на понимание.
Вот то, что уже получилось:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication16 { class Program { static void Main(string[] args) { VosemNumber bNum1; VosemNumber bNum2; VosemNumber bNum3; //Обработка исключений try { bNum1 = new VosemNumber("132"); bNum2 = new VosemNumber("152"); bNum3 = new VosemNumber("0"); } catch (FormatException ex) { Console.WriteLine(ex.Message); Console.ReadLine(); return; } Console.WriteLine("Первый Элемент: {0:d1}", bNum1); Console.WriteLine("Второй Элемент: {0:d1}", bNum2); Console.WriteLine("Третий элемент: {0:d1}", bNum3); //Сравнение Console.WriteLine(bNum1.Equals(bNum2)); } } public class VosemNumber { //Внутреннее значение числа private int vNumber; //Конструктор с проверкой формата параметра public VosemNumber(string bNumber) { bool res = bNumber.ToCharArray().Any(n => (n > '7')); if (res) throw new FormatException("Введено не восьмеричное число!!"); vNumber = Convert.ToInt32(bNumber, 8); } //Перегрузка Equals public override bool Equals(object obj) { if (obj is VosemNumber) { if (this.ToString() == ((VosemNumber)obj).ToString()) { Console.WriteLine("Элементы 1 и 2 эквивалентны"); return true; } } Console.WriteLine("Элементы 1 и 2 неэквивалентны"); return false; } //Перегрузка GetHashCode public override int GetHashCode() { return this.ToString().GetHashCode(); } //Перегрузка ToString() public override string ToString() { return Convert.ToString(vNumber, 8); } } }
Решение задачи: «Класс для работы с восьмеричным числом, хранящимся в виде строки символов»
textual
Листинг программы
Console.WriteLine("a = {0}", a); Console.WriteLine("b = {0}", b); Console.WriteLine("First digit from b = {0}", b[0]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д