Класс для работы с восьмеричным числом, хранящимся в виде строки символов - 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]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д