Класс для работы с восьмеричным числом, хранящимся в виде строки символов - C#

Узнай цену своей работы

Формулировка задачи:

Создать класс для работы с восьмеричным числом, хранящимся в виде строки символов. Реализовать операции присваивания, сравнения, преобразование в десятичное число, форматный вывод, доступ к заданной цифре числа по индексу. Составить программу для тестирования класса. Если кому-то несложно или кто-нибудь знает, как осуществить подобное, прошу помочь, буду очень благодарен. Уже не знаю, к кому обратиться, надеюсь на понимание. Вот то, что уже получилось:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication16
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. VosemNumber bNum1;
  12. VosemNumber bNum2;
  13. VosemNumber bNum3;
  14. //Обработка исключений
  15. try
  16. {
  17. bNum1 = new VosemNumber("132");
  18. bNum2 = new VosemNumber("152");
  19. bNum3 = new VosemNumber("0");
  20. }
  21. catch (FormatException ex)
  22. {
  23. Console.WriteLine(ex.Message);
  24. Console.ReadLine();
  25. return;
  26. }
  27. Console.WriteLine("Первый Элемент: {0:d1}", bNum1);
  28. Console.WriteLine("Второй Элемент: {0:d1}", bNum2);
  29. Console.WriteLine("Третий элемент: {0:d1}", bNum3);
  30.  
  31. //Сравнение
  32. Console.WriteLine(bNum1.Equals(bNum2));
  33. }
  34. }
  35. public class VosemNumber
  36. {
  37. //Внутреннее значение числа
  38. private int vNumber;
  39. //Конструктор с проверкой формата параметра
  40. public VosemNumber(string bNumber)
  41. {
  42. bool res = bNumber.ToCharArray().Any(n => (n > '7'));
  43. if (res)
  44. throw new FormatException("Введено не восьмеричное число!!");
  45. vNumber = Convert.ToInt32(bNumber, 8);
  46. }
  47. //Перегрузка Equals
  48. public override bool Equals(object obj)
  49. {
  50. if (obj is VosemNumber)
  51. {
  52. if (this.ToString() == ((VosemNumber)obj).ToString())
  53. {
  54. Console.WriteLine("Элементы 1 и 2 эквивалентны");
  55. return true;
  56. }
  57. }
  58. Console.WriteLine("Элементы 1 и 2 неэквивалентны");
  59. return false;
  60. }
  61. //Перегрузка GetHashCode
  62. public override int GetHashCode()
  63. {
  64. return this.ToString().GetHashCode();
  65. }
  66. //Перегрузка ToString()
  67. public override string ToString()
  68. {
  69. return Convert.ToString(vNumber, 8);
  70. }
  71. }
  72. }

Решение задачи: «Класс для работы с восьмеричным числом, хранящимся в виде строки символов»

textual
Листинг программы
  1. Console.WriteLine("a = {0}", a);
  2. Console.WriteLine("b = {0}", b);
  3. Console.WriteLine("First digit from b = {0}", b[0]);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы