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

Структура: описать структуру Работник

22.04.2012, 14:40. Показов 2123. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать структуру с именем Worker содержащую следующие поля:
Фамилия и имя;
Должность;
Стаж;
Зарплата.
Написать программу, которая выполняет следующие действия:
1.Ввод с клавиатуры или чтение из текстового файла данных в массив, состоящий из восьми элементов типа ;
2.Вывод записей, упорядоченных в алфавитном порядке фамилий;
3.Вывод информации о тех сотрудниках, чья зарплата ниже, чем введенное с клавиатуры значение (если таких нет, то вывести соответствующее сообщение);
4.Подсчитать средний стаж работы среди всех сотрудников.
Есть похожая задача:
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
namespace ConsoleApplication1
{
    struct Student
    {
        public string Surname;
        public string Name;
        public string Patronymic;
        public string Form;
        public string Faculty;
        public byte Course;
 
        public Student(string Surname, string Name, string Patronymic, string Form, string Faculty, byte Course)
        {
            this.Surname = Surname;
            this.Name = Name;
            this.Patronymic = Patronymic;
            this.Form = Form;
            this.Faculty = Faculty;
            this.Course = Course;
        }
    }
    class Program
    {
 
        static Student[] ReadFile(string path)
        {
            string[] lines = File.ReadAllLines(path, Encoding.Default);
            Student[] stud = new Student[lines.Length];
            for (int i = 0; i < lines.Length; i++)
            {
                string[] split = lines[i].Split('/');
                stud[i] = new Student(split[0], split[1], split[2], split[3], split[4], byte.Parse(split[5]));
            }
            return stud;
        }
 
        static void Vivod(Student[] students)
        {
            Console.WriteLine("Данные о студентах:");
            foreach (Student x in students)
                Console.WriteLine("{0} {1} {2}. {3} форма обучения. Факультет {4}, {5} курс.",
                x.Surname, x.Name, x.Patronymic, x.Form, x.Faculty, x.Course);
        }
 
        static void Printfak(Student[] students, string faculty)
        {
            Student[] st = students.Where(x => x.Faculty == faculty).ToArray();
            if (st.Length == 0)
                Console.WriteLine("Студентов на факультете {0} нет.", faculty);
            else
                Vivod(st);
        }
 
        static void Translation(Student[] students)
        {
            for (int i = 0; i < students.Length; i++)
                students[i].Course++;
        }
 
        static void SortAndPrint(Student[] students)
        {
            Vivod(students.OrderBy(x => x.Surname).ToArray());
        }
        static void Main()
        {
            Student[] students = ReadFile("c:\\temp\\st.txt");
            Vivod(students);
            Console.WriteLine();
 
            Console.WriteLine("Введите факультет");
            string fakultet = Console.ReadLine();
            Printfak(students, fakultet);
            Console.WriteLine();
 
            string yes = "да";
            string no = "нет";
            Console.WriteLine("Перевести студентов на следующий курс?");
            string da = Console.ReadLine();
            string net = Console.ReadLine();
            if (yes == da)
            {
                Translation(students);
                Vivod(students);
                Console.WriteLine();
            }
            if (no == net) Console.WriteLine();
 
            Console.WriteLine("Сортировка по алфавиту: ");
            SortAndPrint(students);
            Console.ReadKey();
        }
    }
}
как переделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2012, 14:40
Ответы с готовыми решениями:

описать структуру
описать структуру, с ипоользованием implicit и explicit, а также переопределить метод ToString()

Описать структуру
1. Описать структуру с именем TRAIN, содержащую следующие поля: NAZN – название пункта назначения; NUMR – номер поезда; TIME – время...

Описать структуру NOTE
Столкнулся с такой проблемой. Дана задачка: Описать структуру с именем NOTE, содержащую следующие поля: -фамилия, имя; -номер...

1
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
22.04.2012, 17:52
Вот все кроме сортировки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct Worker
{
    public string Фамилия;
    public string Имя;
    public string Должность;
    public int Стаж;
    public int Зарплата;
 
    Worker( string фамилия, string имя, string должность, int стаж, int зарплата )
    {
        Фамилия = фамилия;
        Имя = имя;
        Должность = должность;
        Стаж = стаж;
        Зарплата = зарплата;
    }
}
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main( string[] args )
        {
            Worker[] workers = new Worker[8];
 
            Console.WriteLine( "Введите данные в формате (фамилия имя должность стаж зарплата)" );
 
            for ( int i = 0; i < workers.Length; i++ )
            {
                string all = Console.ReadLine();
                string[] check = null;
 
                check = all.Split( new string[] { " " }, StringSplitOptions.RemoveEmptyEntries );
 
                workers[i].Фамилия = check[0];
                workers[i].Имя = check[1];
                workers[i].Должность = check[2];
                workers[i].Стаж = int.Parse(check[3]);
                workers[i].Зарплата = int.Parse(check[4]);
 
                Console.WriteLine( "Повторите данную операцию еше {0} раз", workers.Length - i - 1 );
            }
 
            Console.Clear();
 
            start:
            Console.WriteLine( "1.Вывод информации о тех сотрудниках, чья зарплата ниже, чем введенное с клавиатуры значение." );
            Console.WriteLine( "2.Подсчитать средний стаж работы среди всех сотрудников." );
            int sw = int.Parse( Console.ReadLine() );
            switch ( sw )
            {
                case 1:
                    Console.Write( "Введите зарплату: " );
                    int zar = int.Parse( Console.ReadLine() );
                    int l = 0;
 
                    for ( int i = 0; i < workers.Length; i++ )
                    {
                        if ( workers[i].Зарплата < zar )
                        {
                            Console.WriteLine( "У рабочего номер: {0} зарплата меньше {1} и составляет {2}",
                                i + 1, zar, workers[i].Зарплата );
                            l++;
                        }
                    }
 
                    if ( l == 0 )
                        Console.WriteLine( "Рабочих с зарплатой менее {0} не найденно", zar );
                    break;
                case 2:
                    double middle = 0;
 
                    for ( int i = 0; i < workers.Length; i++ )
                    {
                        middle += workers[i].Стаж;
                    }
 
                    middle = Math.Round( middle / workers.Length, 10 );
                    Console.WriteLine( "Средний стаж среди рабочих: {0}", middle );
                    break;
            }
 
            Console.WriteLine("Повторить? \"+\", \"-\"");
            if ( Console.ReadLine() == "+" )
            {
                Console.Clear();
                goto start;
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.04.2012, 17:52
Помогаю со студенческими работами здесь

Описать структуру с именем Student
Помогите пожалуйста с решением задачи. Описать структуру с именем Student, содержащую следующие поля: • Фамилия, имя, отчество; ...

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

Описать структуру с именем Student
нужно описать структуру с именем Student , содержащую следующие поля: name=ф.и.о. group= номер группы ses=успеваемость (массив из 5...

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

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


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

Или воспользуйтесь поиском по форуму:
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru