Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/30: Рейтинг темы: голосов - 30, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 5

Описать структуру с именем WORKER (упорядочение данных по алфавиту)

09.06.2012, 17:44. Показов 5982. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне надо до завтра написать программу. Вот задание:
Описать структуру с именем WORKER, содержащую следующие поля:
-фамилия и инициалы работника;
-название занимаемой должности;
-год поступления на работу.
Написать программу, выполняющую следующие действия:
-ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER (записи должны быть упорядочены по алфавиту);
-вывод на экран фамилий работников, стаж работы которых превышает значение, введенное с клавиатуры (если таких работников нет, вывести соответствующее сообщение).
Выполнить задание, используя для хранения экземпляров разработанных классов стандартные параметризованные коллекции. Во всех классах реализовать интерфейс IComparable и перегрузить операции отношения для реализации значимой семантики сравнения объектов по какому-либо полю на усмотрение студента.

в целом все вроде правильно, но не получается упорядочить по алфавиту данные((((
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication9
{
    class labrab9and10
    {
        static void Main(string[] args)
        {
            int max;
 
            Console.WriteLine("Введите число работников:");
            max = Convert.ToInt32(Console.ReadLine());
 
            WORKER[] rab = new WORKER[max];
 
            for (int i = 0; i < max; ++i)
            {
                string name, lastname, dolzhnost;
                Int64 god;
                Console.WriteLine("Добавление работника...");
                Console.WriteLine("Введите имя:"); 
                name = Console.ReadLine();
                Console.WriteLine("Введите фамилию:"); 
                lastname = Console.ReadLine();
                Console.WriteLine("Введите год поступления на работу:"); 
                god = Convert.ToInt64(Console.ReadLine());
                Console.WriteLine("Введите название занимаемой должности:"); 
                dolzhnost = Console.ReadLine();
                rab[i] = new WORKER(name, lastname, dolzhnost, god);
            }
            Console.WriteLine("Идёт сортировка...");
            Array.Sort(rab);
            for (int i = 0; i < rab.Length; ++i)
                Console.WriteLine(rab[i]);
 
            while (true)
            {
                Console.WriteLine("Введите стаж работы:");
                try
                {
                    Int64 god = Convert.ToInt64(Console.ReadLine());
                    bool was = false;
                    for (int i = 0; i < rab.Length; ++i)
                        if (rab[i].God > god)
                        {
                            Console.WriteLine(rab[i]);
                            was = true;
                            break;
                        }
                    if (!was)
                        Console.WriteLine("Клиента с таким номером нет в базе.");
                }
                catch (FormatException)
                {
                    Console.WriteLine("До свидания.");
                    break;
                }
            }
        }
    }
 
 
    public struct WORKER : IComparable
    {
        private string Name, LastName, Dolzhnost;
        private Int64 god;
 
        public Int64 God 
        { 
            get { return god; }
        }
        public WORKER(string name, string lastname, string dolzhnost, Int64 god)
        {
            Name = name;
            LastName = lastname;
            Dolzhnost = dolzhnost;
            this.god = god;
        }
 
        public override string ToString()
        {
            return Name + ' ' + LastName + "; " + Dolzhnost +" ; " + God;
        }
 
 
 
 
 
        public int CompareTo(object obj)
        {
            if (obj is WORKER)
            {
                Здесь должна быть сортировка
            }
            else
            { throw new Exception(); }
 
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2012, 17:44
Ответы с готовыми решениями:

Описать структуру с именем Worker
Пожалуйста, помогите, особенно с чтением из файла, такого не нашел :( Описать структуру с именем Worker содержащую следующие поля: ...

Описать структуру с именем WORKER
. Описать структуру с именем WORKER, содержащую следующие поля: • фамилия и инициалы работника; • название занимаемой должности; •...

Описать структуру с именем WORKER
Описать структуру с именем WORKER , содержащую следующие поля: • фамилия и инициалы работника; • название занимаемой должности; • год...

8
 Аватар для Aow
6 / 6 / 2
Регистрация: 08.05.2012
Сообщений: 116
09.06.2012, 18:15
Используй Array.Sort(); для сортировки
0
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 5
09.06.2012, 18:22  [ТС]
я его и так использую(35 строка). но нужно "реализовать" правила сортировки в структуре...
0
 Аватар для Aow
6 / 6 / 2
Регистрация: 08.05.2012
Сообщений: 116
09.06.2012, 18:38
я у тебя косяк в 47 строке заметил! Ты сравниваешь год поступления со стажем, но ведь стаж не может быть равен например "2000"!!!
0
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 5
09.06.2012, 18:39  [ТС]
ааа, точняк. спасибо!!! но вопрос о сортировки остается открытым)))
0
 Аватар для Aow
6 / 6 / 2
Регистрация: 08.05.2012
Сообщений: 116
09.06.2012, 18:40
Сорри! Увы помочь не смогу, т.к. я с интерфейсами и CompareTo не особо "дружу"!
0
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 5
09.06.2012, 20:05  [ТС]
спасибо за отзывчивость!!!
очень жаль(((((
Жду помощи... мне до завтра надо, так что очень срочно!!!!!!!!!

Добавлено через 1 час 23 минуты
мне надо именно через IComparable.....
0
29 / 31 / 2
Регистрация: 14.04.2012
Сообщений: 152
09.06.2012, 21:08
Как нужно отсортировать?
0
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 5
09.06.2012, 22:41  [ТС]
по имени и фамилии

Добавлено через 1 час 21 минуту
ВСЁ, УЖЕ НЕ НАДО!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.06.2012, 22:41
Помогаю со студенческими работами здесь

Описать структуру с именем WORKER
Описать структуру с именем WORKER, содержащую следующие поля: &gt; фамилия и инициалы работника &gt; название занимаемой должности &gt;...

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

Описать структуру с именем worker, содержащую указанные поля
Описать структуру с именем WORKER, содержащую следующие поля: - фамилия и инициалы работника; - название занимаемой должности; - год...

Описать структуру с именем WORKER
Ребят, помогите: Вариант 6 Описать структуру с именем WORKER, содержащую следующие поля: фамилия и инициалы работника; название...

Описать структуру с именем WORKER
Описать структуру с именем WORKER, содержащую следующие поля: а) фамилии и инициалы б)название занимаемой должности в)год поступление...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru