Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/64: Рейтинг темы: голосов - 64, средняя оценка - 4.61
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 25

Описать класс, реализующий шестнадцатеричный счетчик

22.11.2012, 11:01. Показов 12270. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Срочно нужна помощь!!
Помогите пожалуйста написать программу на C# консоль!!

Описать класс, реализующий шестнадцатеричный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне. Предусмотреть инициализацию счетчика значениями по умолчанию и произвольными значениями. Счетчик имеет два метода: увеличения и уменьшения, — и свойство,позволяющее получить его текущее состояние. При выходе за границы диапазона выбрасываются исключения.
Написать программу, демонстрирующую все разработанные элементы класса.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2012, 11:01
Ответы с готовыми решениями:

Описать класс, реализующий шестнадцатеричный счетчик
Описать класс, реализующий шестнадцатеричный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном...

класс,реализующий шестнадцатеричный счетчик
Здравствуйте! помогите пожалуйста написать программу на с#... Описать класс,реализующий шестнадцатеричный счетчик,который может...

Описать класс, реализующий двоичный счетчик
Всем привет! Никак не могу написать программу на C# по данному условию, помогите! Условие: Описать класс, реализующий двоичный счетчик,...

12
27 / 27 / 6
Регистрация: 15.05.2010
Сообщений: 187
22.11.2012, 11:31
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Counter
   {
       public Counter(int a)
       {
           this.number = a;
       }
 
       public Counter()
       {
       }
 
       private int number;
 
       public int Number
       {
           get { return number; }
           set { number = value; }
       }
 
       public string Incr(int a,int count)
       {
           return Convert.ToString(a + count,16);
       }
 
       public string Decr(int a,int count)
       {
           return Convert.ToString(a - count, 16);
       }
   }
C#
1
2
3
4
5
6
7
8
9
10
11
private static void Main()
        {
            Counter counter = new Counter();
            counter.Number = 11;
            Console.WriteLine(Convert.ToString(counter.Number,16));
          
            Console.WriteLine(counter.Incr(12, 1));
            Console.WriteLine(counter.Decr(11, 1));
            Console.ReadKey();
           
        }
это скелет, а дальше его под себя доделай...
2
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
22.11.2012, 11:35
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Country
{
    class Program
    {
        public static void Main(string[] args)
        {
            Counter cn = new Counter();
            cn.ShowCount();
            cn.CountUp();
            cn.ShowCount();
            cn = new Counter(17);
            cn.ShowCount();
        }
     }
 
    class Counter
    {
        private int count;
 
        public Counter()
        {
            count = 8;
        }
        public Counter(int count)
        {
            this.count = Count;
        }
        private int Count
        {
            get { return count; }
            set { count = (value > 0 && value <= 16) ? value : 0; }
        }
 
        public void CountDown()
        {
            count--;
        }
        public void CountUp()
        {
            count++;
        }
        public void ShowCount()
        {
            Console.WriteLine("Текущее значение счетчика: "+ Count);
        }
    }
}
1
27 / 27 / 6
Регистрация: 15.05.2010
Сообщений: 187
22.11.2012, 11:49
порадовало

Цитата Сообщение от buntar Посмотреть сообщение
C#
1
2
cn = new Counter(17);
cn.ShowCount();
и вывод 0...мб я что-то не так понял.... но там не ШЕСТАНДЦАТИРАЗРЯДНЫЙ...там ШЕСТАДЦАТИРИЧНЫЙ счетчик)))
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
22.11.2012, 11:51
Цитата Сообщение от Александе еть я Посмотреть сообщение
но там не ШЕСТАНДЦАТИРАЗРЯДНЫЙ...там ШЕСТАДЦАТИРИЧНЫЙ счетчик)))
да, поспешил, и не так понял. сейчас напишу.
0
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 25
22.11.2012, 11:58  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Counter
    {
        public const int Max = int.MaxValue;
        public const int Min = int.MinValue;
        public int Current { get; private set; }
 
        public Counter() : this(0) { }
 
        public Counter(int start)
        {
            Current = start;
        }
 
        public void Increase()
        {
            if (Current == Max)
                throw new Exception("Max value reached.");
            Current++;
        }
 
        public void Decrease()
        {
            if (Current == Min)
                throw new Exception("Min value reached.");
            Current--;
        }
 
        public override string ToString()
        {
            return string.Format("{0:X}", Current);
        }
    }
Как дальше быть?
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
22.11.2012, 12:30
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class Program
    {
        public static void Main(string[] args)
        {
            Counter.SetBorder(0, 500);
            Counter cn = new Counter(200);
            cn.ShowCount();
            cn.CountUp();
            cn.ShowCount();
            cn = new Counter(800);//выход за пределы
            cn.ShowCount();
            cn.CountDown();
            cn.ShowCount();
        }
     }
 
    class Counter
    {
        private int count;
        private static int i_border, y_borfer;
 
        public static void SetBorder(int i, int y)
        {
            if (i >= 0 && y > 1)
            {
                i_border = i;
                y_borfer = y;
            }
            else
            {
                i_border = 0;
                y_borfer = 100;
            }
        }
        public Counter()
        {
            count = 125;
        }
        public Counter(int count)
        {
            if (count > i_border && count <= y_borfer)
                this.count = count;
 
            else this.count = -1;
        }
        private int Count
        {
            get { return count; }
        }
 
        public void CountDown()
        {
            count--;
        }
        public void CountUp()
        {
            count++;
        }
        public void ShowCount()
        {
            Console.WriteLine("Текущее значение счетчика: "+ Convert.ToString(Count, 16));
        }
    }
1
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 25
22.11.2012, 12:48  [ТС]
Прога чёт не робит, а где тут ввод данных?, она запускается и выключается...
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
22.11.2012, 12:55
Цитата Сообщение от DJONII Посмотреть сообщение
Прога чёт не робит, а где тут ввод данных?, она запускается и выключается...
Допиши Console.ReadKey(); в конец Main()
но проще запускать через Ctrl+F5

Ввод данных?
Установка границ - Counter.SetBorder(int i, int y);
Установка значения - через конструктор класса.
1
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 25
22.11.2012, 13:09  [ТС]
Цитата Сообщение от buntar Посмотреть сообщение
Допиши Console.ReadKey(); в конец Main()
но проще запускать через Ctrl+F5

Ввод данных?
Установка границ - Counter.SetBorder(int i, int y);
Установка значения - через конструктор класса.
он выдаёт:


это как так?

вот программный код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace WindowsFormsApplication5
{
    class Program
    {
        public static void Main(string[] args)
        {
            Counter.SetBorder(0, 500);
            Counter cn = new Counter(200);
            cn.ShowCount();
            cn.CountUp();
            cn.ShowCount();
            cn = new Counter(800);//выход за пределы
            cn.ShowCount();
            cn.CountDown();
            cn.ShowCount();
            Console.ReadKey();
        }
    }
 
    class Counter
    {
        private int count;
        private static int i_border, y_borfer;
 
        public static void SetBorder(int i, int y)
        {
            if (i >= 0 && y > 1)
            {
                i_border = i;
                y_borfer = y;
            }
            else
            {
                i_border = 0;
                y_borfer = 100;
            }
        }
        public Counter()
        {
            count = 125;
        }
        public Counter(int count)
        {
            if (count > i_border && count <= y_borfer)
                this.count = count;
 
            else this.count = -1;
        }
        private int Count
        {
            get { return count; }
        }
 
        public void CountDown()
        {
            count--;
        }
        public void CountUp()
        {
            count++;
        }
        public void ShowCount()
        {
            Console.WriteLine("Текущее значение счетчика: " + Convert.ToString(Count, 16));
        }
    }
}
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
22.11.2012, 13:18
Цитата Сообщение от DJONII Посмотреть сообщение
это как так?
вот программный код:
Что вы у меня спрашиваете? это вам нужен был шестнадцатеричный счетчик, или кому?, вот он вам и выдает значения в шестнадцатеричном виде, а что вы хотели?
1
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 25
22.11.2012, 13:47  [ТС]
Цитата Сообщение от buntar Посмотреть сообщение
Что вы у меня спрашиваете? это вам нужен был шестнадцатеричный счетчик, или кому?, вот он вам и выдает значения в шестнадцатеричном виде, а что вы хотели?
Вот вроде как эта программа, только она на формах, можно ли в консоле её сделать?

Сщетчик.zip
0
27 / 27 / 6
Регистрация: 15.05.2010
Сообщений: 187
23.11.2012, 13:45
Цитата Сообщение от buntar Посмотреть сообщение
C#
1
2
3
4
cn = new Counter(800);//выход за пределы
 cn.ShowCount();
 cn.CountDown();
 cn.ShowCount();
после этого что-то не понятное начинает происходить))) мб нужно исключение выбрасывать и его перехватывать?)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        public static void Main(string[] args)
        {
            try
            {
                Counter.SetBorder(0, 500);
                Counter cn = new Counter(11);
                cn.ShowCount();
                cn.CountUp();
                cn.ShowCount();
                cn = new Counter(800);//выход за пределы
                cn.ShowCount();
                cn.CountDown();
                cn.ShowCount();
                Console.ReadKey();
 
            }
            catch (ArgumentException)
            {
 
                Console.WriteLine("EXEPTION!!! COUNTER OVERFLOW");
            }
            finally
            {
                Console.ReadKey();
            }
 
        }
    }
 
    class Counter
    {
        private int count;
        private static int i_border, y_borfer;
 
        public static void SetBorder(int i, int y)
        {
            if (i >= 0 && y > 1)
            {
                i_border = i;
                y_borfer = y;
            }
            else
            {
                i_border = 0;
                y_borfer = 100;
            }
        }
        public Counter()
        {
            count = 125;
        }
        public Counter(int count)
        {
            if (count > i_border && count <= y_borfer)
                this.count = count;
 
            else throw new ArgumentException();
        }
        private int Count
        {
            get { return count; }
        }
 
        public void CountDown()
        {
            count--;
        }
        public void CountUp()
        {
            count++;
        }
        public void ShowCount()
        {
            Console.WriteLine("Текущее значение счетчика: " + Convert.ToString(Count, 16));
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2012, 13:45
Помогаю со студенческими работами здесь

Описать класс, реализующий десятичный счетчик
Может кто нибудь создать форму по этому коду Описать класс, реализующий десятичный счетчик, который может увеличивать или уменьшать...

Описать класс, реализующий десятичный счетчик
Задание 1. Описать класс, реализующий десятичный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном...

Описать класс, реализующий десятичный счетчик
Описать класс, реализующий десятичный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне. ...

Описать класс, реализующий десятичный счетчик
Помогите пожалуйста! Можете объяснить что нужно найти: Описать класс, реализующий десятичный счетчик, который может увеличивать или...

Описать класс, реализующий единичный четырехразрядный счетчик
Завтра экзамен, потому помощь нужна срочно с кодами. Под Visual Studio 2008. Задание пишу в том же виде, в котором мне их предоставили. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru