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

Создайте перечисление, в котором будут содержаться должности сотрудников как имена констант

23.05.2022, 12:23. Показов 1273. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Создайте перечисление, в котором будут содержаться должности сотрудников как имена констант. Присвойте каждой константе значение, задающее количество часов, которые должен отработать сотрудник за месяц.
2) Создайте класс Accauntant с методом bool AskForBonus (Post worker, int hours), отражающее давать или нет сотруднику премию. Если сотрудник отработал больше положенных часов в месяц, то ему положена премия.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
 
namespace Z_2
{
    class Program
    {
        enum employees
        {
            chiefExecutiveOfficer = 220,
            chiefTechnologyOfficer = 235,
            juniorDeveloper = 245,
            middleDeveloper = 215,
            seniorDeveloper = 240,
            qualityAssuranceEngineers = 215
        }
Добавлено через 3 часа 8 минут
Ну вроде что-то написал. Укажите на явные ошибки пожалуйста
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
class Accauntant
    {
        public enum Employees
        {
            ChiefExecutiveOfficer = 220,
            ChiefTechnologyOfficer = 250,
            JuniorDeveloper = 210,
            MiddleDeveloper = 240,
            SeniorDeveloper = 220,
            QualityAssuranceEngineers = 270
        }
        public void AskForBonus(Employees postWorker, int hours)
        {                              
            if ((int)postWorker < hours)
            {
                Console.WriteLine("Необходимо начислить премию");
            }
            else
            {
                Console.WriteLine("Начислять премию не нужно");
            }
        }    
    }
    class Program
    {
        static void Main(string[] args)
        {
            Accauntant с = new Accauntant();
            с.AskForBonus(Accauntant.Employees.ChiefExecutiveOfficer, 240);
            с.AskForBonus(Accauntant.Employees.ChiefTechnologyOfficer, 220);
            с.AskForBonus(Accauntant.Employees.JuniorDeveloper, 235);
            с.AskForBonus(Accauntant.Employees.MiddleDeveloper, 225);
            с.AskForBonus(Accauntant.Employees.SeniorDeveloper, 240);
            с.AskForBonus(Accauntant.Employees.QualityAssuranceEngineers, 215);
        }
    }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2022, 12:23
Ответы с готовыми решениями:

Сформировать файл записей, в котором будут содержаться фамилии и имена участников соревнований многоборья
Сформировать файл записей, в котором будут содержаться фамилии и имена участников соревнований многоборья, а также их сумму баллов по...

А можно ли организовать массив, в котором будут содержаться картинки Word?
А можно ли организовать массив, в котором будут содержаться диаграммы Word? Очень неохота рисовать 40 одинаковых форм для OLE-объектов. К...

Создайте словарь в котором будет содержаться информация о факультетах и учениках
ключом будет факультет, а значением список с несколькими учениками. Используйте одно имя из списка, который является значением у...

4
 Аватар для Kloshar
56 / 43 / 27
Регистрация: 19.12.2013
Сообщений: 204
23.05.2022, 16:30
Почему бы вам не проверить как работает ваш класс? Например так:
C#
1
2
Console.WriteLine(с.AskForBonus(Accauntant.Employees.ChiefExecutiveOfficer, 240));
Console.ReadKey();
Сразу увидите ошибку в коде...

Добавлено через 2 минуты
ой,не заметил, что решили писать в консоли нужно ли давать премию. Но в задании указано, что метод AskForBonus должен возвращать булевое значение
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
23.05.2022, 18:08
Цитата Сообщение от Aletom Посмотреть сообщение
Укажите на явные ошибки пожалуйста
  1. Вынести перечисление из класса.
  2. Почему такие странные значения у элементов перечисления?
  3. Убрать консоль из класса
1
3 / 2 / 1
Регистрация: 27.06.2021
Сообщений: 37
23.05.2022, 19:04  [ТС]
2) А почему странные? Кол-во часов, которое необходимо отработать для получения премии. Нормально вроде бы, или я что-то не понимаю?
3) Можно узнать для чего? (если вас не затруднит ответить)

Добавлено через 12 минут
А как тогда правильно реализовать этот метод? return true и false? В консоли тогда вообще ничего не показывает. Можете подсказать?

Добавлено через 15 минут
В итоге вышло нечто подобное:
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
public enum Employees
    {
        ChiefExecutiveOfficer = 220,
        ChiefTechnologyOfficer = 250,
        JuniorDeveloper = 210,
        MiddleDeveloper = 240,
        SeniorDeveloper = 220,
        QualityAssuranceEngineers = 270
    }
 
    class Accauntant
    {
        public bool AskForBonus(Employees postWorker, int hours)
        {                              
            if ((int)postWorker < hours)
            {
                return true;
            }
            else
            {
                return false;
            }
        }    
    }
    class Program
    {
        static void Main(string[] args)
        {
            Accauntant с = new Accauntant();
            Console.WriteLine(с.AskForBonus(Employees.ChiefExecutiveOfficer, 240));
            Console.WriteLine(с.AskForBonus(Employees.ChiefTechnologyOfficer, 220));
            Console.WriteLine(с.AskForBonus(Employees.JuniorDeveloper, 235));
            Console.WriteLine(с.AskForBonus(Employees.MiddleDeveloper, 225));
            Console.WriteLine(с.AskForBonus(Employees.SeniorDeveloper, 240));
            Console.WriteLine(с.AskForBonus(Employees.QualityAssuranceEngineers, 215));
        }
    }
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
23.05.2022, 19:29
Лучший ответ Сообщение было отмечено Aletom как решение

Решение

Aletom, потому что сегодня директор решил, что за переработка это 100 часов, а завтра 1000. И что теперь? Пересобирать приложение?
Можно как-то так, но надо решить как задавать базовое число часов
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
internal class Program
    {
        static void Main(string[] args)
        {
            Accauntant с = new Accauntant();
            var hours = new int[] { 240, 220, 235, 225, 240, 215 };
            с.AskForBonus(Employees.ChiefExecutiveOfficer, 240);
            с.AskForBonus(Employees.ChiefTechnologyOfficer, 220);
            с.AskForBonus(Employees.JuniorDeveloper, 235);
            с.AskForBonus(Employees.MiddleDeveloper, 225);
            с.AskForBonus(Employees.SeniorDeveloper, 240);
            с.AskForBonus(Employees.QualityAssuranceEngineers, 215);
            var posts = Enum.GetValues(typeof(Employees));
            var i = 0;
            foreach (var post in posts)
            {
                Console.WriteLine((Employees)post);
                var c = new Accauntant();
                if (c.AskForBonus((Employees)post, hours[i++]))
                {
                    Console.WriteLine("Необходимо начислить премию");
                }
                else
                {
                    Console.WriteLine("Начислять премию не нужно");
                }
            }
        }
    }
 
    public enum Employees
    {
        ChiefExecutiveOfficer,
        ChiefTechnologyOfficer,
        JuniorDeveloper,
        MiddleDeveloper,
        SeniorDeveloper,
        QualityAssuranceEngineers
    }
 
    class Accauntant
    {
        private int[] hours = { 220, 250, 210, 240, 220, 270 };
 
        public bool AskForBonus(Employees postWorker, int hours)
        {
            return hours >= this.hours[(int)postWorker];
        }
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2022, 19:29
Помогаю со студенческими работами здесь

Строка: Создать массив строк, в котором будут содержаться буквы вашего имени и фамилии...
Всем привет. Очень нужна помощь про одномерный массив. Есть задача: Создать одномерный массив строк, в котором будут содержаться...

Вывести должности и подсчитать количество сотрудников по каждой должности
Хэлпаните пожалуйста. Вывести должности и подсчитать количество сотрудников по каждой должности. Столбик назвать «Количество_сотрудников»...

Получить текстовый файл, в котором будут содержаться данные для excel, чтобы построить графики
Помогите срочно, прошу. нужно написать в паскале программу чтобы получился файл текстовой в котором будут содержаться данные для excel...

Файлы последовательного доступа. Сформировать второй файл, в котором будут содержаться отрицательные числа из первого файла
Дан файл действительных чисел. Сформировать второй файл, в котором будут содержаться отрицательные числа из первого файла .

Создать базу из трех сотрудников, где будут храниться их имена
суть задачи: нужно создать базу из трех сотрудников, где будут храниться их имена, з.п, должности, дата приема на работу. должность должна...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru