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

Вывод списка преподавателей для введенной пользователем кафедры, и подсчет их количества

28.12.2014, 16:55. Показов 3184. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работа со структурами. В данной программе все работает но я не знаю как добавить в нее такие функции:

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

Помогите разобраться, очень нужна ваша помощь.

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
public enum University { SMY, MMU }
 
    /// <summary>
    /// кафедра
    /// </summary>
    public enum Kafedra { Фармация, Педиатрия, Психиатрия}
 
    /// <summary>
    /// структура описывающая преподавателя
    /// </summary>
    public struct Person
    {
        string fio;//ФИО
        University university;//университет
        double stag;//стаж 
        
        Kafedra kafedra;//кафедра
 
        /// <summary>
        /// создает преподавателя
        /// </summary>
        /// <param name="university">университет</param>
        /// <param name="FIO">ФИО</param>
        /// <param name="stag">стаж</param>
        /// <param name="kafedra">кафедра</param>
        public Person(University univer, String FIO, double stag,Kafedra hairColor)
        {
            this.university = univer;
            this.fio = FIO;
            this.stag = stag;
     
            this.kafedra = hairColor;
        }
 
        public Person(Person person)
        {
            this.university = (University)person.Univer;
            this.fio = person.FIO;
            this.stag = person.stag;
  
            this.kafedra = (Kafedra)person.Kafedr;
        }
 
        /// <summary>
        /// университет
        /// </summary>
        public int Univer
        { get { return (int)this.university; } }
 
        /// <summary>
        /// ФИО
        /// </summary>
        public string FIO
        { get { return this.fio; } }
 
        /// <summary>
        /// стаж
        /// </summary>
        public double Stagg
        {
            get { return this.stag; }
            set { this.stag = value; }
        }
 
        /// <summary>
        /// кафедра
        /// </summary>
        public int Kafedr
        {
            get { return (int)this.kafedra; }
            set { this.kafedra = (Kafedra)value; }
        }
 
        public override string ToString()
        {
            return  fio + ", стаж: " + stag.ToString() + ", университет: " + university.ToString() + ", кафедра: " + kafedra.ToString();
        }
    }
 
    class PersonList
    {
        List<Person> persons;
 
        public PersonList()
        {
            persons = new List<Person>();
        }
 
        public PersonList(Person person)
        {
            persons = new List<Person>();
            Add(person);
        }
 
        public void Add(Person person)
        {
            persons.Add(person);
        }
 
        public void Del(Person person)
        {
            persons.Remove(person);
        }
 
        public void Del(int index)
        {
            persons.RemoveAt(index);
        }
 
        public Person GetPerson(int index)
        {
            return persons[index];
        }
 
        public void Change(Person oldPerson, Person newPerson)
        {
            persons.Remove(oldPerson);
            persons.Add(newPerson);
        }
 
        /// <summary>
        /// метод для изменения стажа
        /// </summary>
 
        public void Change(int index, double stagg)
        {
            Person p = new Person(persons[index]);
            p.Stagg = stagg;
            persons.RemoveAt(index);
            persons.Insert(index, p);
        }
        /// <summary>
        /// метод для изменения кафедры
        /// </summary>
 
        public void Change(int index, int kaff)
        {
            Person p = new Person(persons[index]);
            p.Kafedr = kaff;
            persons.RemoveAt(index);
            persons.Insert(index, p);
        }
 
        public int Count
        { get { return this.persons.Count; } }
    }
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
class Program
    {
        static void Main(string[] args)
        {
            PersonList pList = new PersonList();
            bool exit = false;
            do
            {
                Console.WriteLine("\nВведите что хотите сделать: ");
                Console.WriteLine("0. Посмотреть список преподавателей\n1. Добавить преподавателя\n2. Удалить преподавателя\n3. Изменить информацию о преподавателе\n4. Выйти\n");
                int toDo = int.Parse(Console.ReadLine());
                switch (toDo)
                {
                    case 0:
                        if (pList.Count > 0) WritePersonList(pList);
                        else Console.WriteLine("Список пуст");
                        break;
                    case 1:
                        pList.Add(CreatePerson());
                        break;
                    case 2:
                        if (pList.Count > 0) DelPerson(ref pList);
                        else Console.WriteLine("Список пуст");
                        break;
                    case 3:
                        if (pList.Count > 0)
                        {
                            Console.WriteLine("Выберите что хотите изменить:\n1. Университет\n2. Стаж\n3. Кафедру");
                            int c = int.Parse(Console.ReadLine());
                            switch (c)
                            {
                                case 1:
                                    ChangePersonUniversity(ref pList);
                                    break;
                                case 2:
                                    ChangePersonStag(ref pList);
                                    break;
                                case 3:
                                    ChangePersonKafedra(ref pList);
                                    break;
                            }
                        }
                        else Console.WriteLine("Список пуст");
                        break;
                    case 4:
                        exit = true;
                        break;
                }
            } while (!exit);
        }
 
        static void WritePersonList(PersonList pList)
        {
            for (int i = 0; i < pList.Count; i++)
            {
                Console.WriteLine(i.ToString() + ". " + pList.GetPerson(i).ToString());
            }
        }       
 
        static void ChangePersonStag(ref PersonList pList)
        {
            Console.WriteLine("Введите номер человека для изменения: ");
            WritePersonList(pList);
            int i = int.Parse(Console.ReadLine());
            Console.Write("Введите новый стаж:");
            pList.Change(i, double.Parse(Console.ReadLine()));
        }
 
        static void ChangePersonKafedra(ref PersonList pList)
        {
            Console.WriteLine("Введите номер человека для изменения: ");
            WritePersonList(pList);
            int i = int.Parse(Console.ReadLine());
            int j = 0;
            Console.WriteLine("Введите новую кафедру: ");
            foreach (string name in Enum.GetNames(typeof(Kafedra)))
            {
                Console.WriteLine(j.ToString() + ". " + name);
                j++;
            }
            j = int.Parse(Console.ReadLine());
            pList.Change(i, j);
        }
 
        static void ChangePersonUniversity(ref PersonList pList)
        {
            Console.WriteLine("Введите номер человека для изменения: ");
            WritePersonList(pList);
            int i = int.Parse(Console.ReadLine());
            int j = 0;
            Console.WriteLine("Введите новый университет: ");
            foreach (string name in Enum.GetNames(typeof(University)))
            {
                Console.WriteLine(j.ToString() + ". " + name);
                j++;
            }
            j = int.Parse(Console.ReadLine());
            pList.Change(i, j);
        }
 
 
        static void DelPerson(ref PersonList pList)
        {
            Console.WriteLine("Введите номер человека для удаления: ");
            WritePersonList(pList);
            pList.Del(int.Parse(Console.ReadLine()));
        }
 
        /// <summary>
        /// создает преподавателя
        /// </summary>
        /// <returns>преподавателя</returns>
        static Person CreatePerson()
        {
 
            Console.Write("Введите ФИО: ");
            string fio = Console.ReadLine();
            Console.WriteLine("Введите  университет. " + ((int)(University.SMY)).ToString() + ". " + University.SMY.ToString() + "\t" + ((int)(University.MMU)).ToString() + ". " + University.MMU.ToString());
            int university = int.Parse(Console.ReadLine());
            Console.Write("Введите стаж: ");
            double stagg = double.Parse(Console.ReadLine());
 
            Console.WriteLine("Введите кафедру: " );
            int j = 0;
            foreach (string name in Enum.GetNames(typeof(Kafedra)))
            {
 
                Console.WriteLine(j.ToString() + ". " + name);
                j++;
            }
            j = int.Parse(Console.ReadLine());
          
            return new Person((University)university, fio, stagg,(Kafedra)j);
 
            
 
           
 
        }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2014, 16:55
Ответы с готовыми решениями:

Запрос на подсчет количества : список преподавателей, которые ведут практические занятия
Здравствуйте. Помогите написать запрос: Для заданной кафедры напечатать список преподавателей, которые ведут практические занятия с...

БД повышения квалификации преподавателей кафедры
Студент, получил тему курсового проекта &quot;БД повышения квалификации преподавателей ИСЭ&quot;. И сейчас мучаюсь вопросом, что именно нужно...

Вывести те кафедры, в которых количество преподавателей превышает 50.
Добрый день, нужно заполнить структуру данных. Кафедру, зав. кафедры, кол-во преподавателей, кол-во потоков. В конце программы нужно...

10
Warrior
 Аватар для _exp10der_
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
28.12.2014, 18:37
1 Задание
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public enum University { SMY, MMU }
 
public enum Kafedra { Фармация, Педиатрия, Психиатрия }
 
public struct Person
{
    public string fio;
    public University university;
    public double stag;
    public Kafedra kafedra;
 
    public Person(University univer, string FIO, double Stag, Kafedra hairColor)
    {
        university = univer;
        fio = FIO;
        stag = Stag;
        kafedra = hairColor;
    }
    public override string ToString()
    {
        return fio + ", стаж: " + stag + ", университет: " + university.ToString() + ", кафедра: " + kafedra;
    }
}
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
using System;
using System.Collections.Generic;
using System.Linq;
 
class Program
{
    private static void Main()
    {
        var myList = new List<Person>()
        {
            new Person((University)1, "Алеша", 2.0,(Kafedra)2),
            new Person(0, "Степаша", 2.0,(Kafedra)1),
            new Person((University)1, "Иванов", 2.0,0),
            new Person(0, "Романов", 2.0,(Kafedra)1),
            new Person((University)1, "Умный", 2.0,(Kafedra)2),
        };
        Console.WriteLine("1: вывод списка преподавателей для введенной пользователем кафедры, и подсчет их количества");
        Console.WriteLine(new string('-',60));
 
        Console.WriteLine();
        Console.WriteLine("Введите кафедру 0-Фармация, 1-Педиатрия, 2-Психиатрия");
        int kaf = Convert.ToInt32( Console.ReadLine());
 
        foreach (var person in myList.Where(n => n.kafedra == (Kafedra)kaf))  // Забираем из myList те Personы которые при сравнении 
        {                                                                     // n.kafedra == (Kafedra)kaf) дают true
            Console.WriteLine(person);
        }
        Console.WriteLine("Количество: "+myList.Count(n => n.kafedra == (Kafedra)kaf));
        Console.ReadKey();
    }
}
К сожалению ваш код не осилил

Добавлено через 12 минут
А во втором задании нужно просто найти типа с самым большим стажем?
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 12
28.12.2014, 18:56  [ТС]
Да, нужно найти с самым большим стажем
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
28.12.2014, 19:00
Lendet,
1 c вашим кодом
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
        public static void Main(string[] args)
        {
            var person = new PersonList();
 
            person.Add(new Person(University.MMU, "Бобров", 25, Kafedra.Фармация));
            person.Add(new Person(University.MMU, "Рыжов", 45, Kafedra.Психиатрия));
            person.Add(new Person(University.MMU, "Петрушкин", 15, Kafedra.Психиатрия));
            person.Add(new Person(University.MMU, "Лилипутов", 5, Kafedra.Психиатрия));
            person.Add(new Person(University.MMU, "Прохоров", 65, Kafedra.Педиатрия));
 
            bool flag = true;
            Kafedra kaf = Kafedra.Фармация;
            while (flag)
            {
                Console.WriteLine("Выберите одну из кафедр:");
 
                var strings = Enum.GetNames(typeof (Kafedra));
                for (int i = 0; i < strings.Length; i++)
                {
                    Console.WriteLine("{0} - {1}", i, strings[i]);
                }
                
                try
                {
                    var k = Convert.ToInt32(Console.ReadLine());
                    kaf = (Kafedra) k;
                }
                catch (Exception e)
                {
                    Console.WriteLine("Введите допустимое число");
                }
                flag = false;
            }
 
            int counter = 0;
            for (int i = 0; i < person.Count; i++)
            {
                var p = person.GetPerson(i);
 
                if (p.Kafedr == (int) kaf)
                {
                    counter++;
                    Console.WriteLine(p);
                }
            }
 
            Console.WriteLine("Всего на кафедре работает {0} преподавателей", counter);
        }
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 12
28.12.2014, 19:10  [ТС]
Спасибо, не знаете как в моем коде сделать так чтоб при нажатии "посмотреть список преподавателей" выводился это лист с преподавателями
0
Warrior
 Аватар для _exp10der_
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
28.12.2014, 19:16
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
using System;
using System.Collections.Generic;
using System.Linq;
 
class Program
{
    private static void Main()
    {
        var myList = new List<Person>()
        {
            new Person((University)1, "Алеша", 2.0,(Kafedra)2),
            new Person(0, "Степаша", 2.0,(Kafedra)1),
            new Person((University)1, "Иванов", 2.0,0),
            new Person(0, "Романов", 2.0,(Kafedra)1),
            new Person((University)1, "Умный", 45.0,(Kafedra)2),
        };
        Console.WriteLine("1: вывод списка преподавателей для введенной пользователем кафедры, и подсчет их количества");
        
 
        Console.WriteLine();
        Console.WriteLine("Введите кафедру 0-Фармация, 1-Педиатрия, 2-Психиатрия");
        int kaf = Convert.ToInt32( Console.ReadLine());
 
        foreach (var person in myList.Where(n => n.kafedra == (Kafedra)kaf))  // Забираем из myList те Personы которые при сравнении 
        {                                                                     // n.kafedra == (Kafedra)kaf) дают true
            Console.WriteLine(person);
        }
        Console.WriteLine("Количество: "+myList.Count(n => n.kafedra == (Kafedra)kaf));
        Console.WriteLine(new string('-', 60));
        Console.WriteLine();
        Console.WriteLine("2: Выводим с максимальным стажем");
        Console.WriteLine();
        double max = myList.Max(n => n.stag);
        foreach (var person in myList.Where(n=> n.stag == max))
        {
            Console.WriteLine(person);
        }
 
        Console.ReadKey();
    }
}
1
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 12
29.12.2014, 18:57  [ТС]
Кто может объяснить каr объединить мой код и вышестоящий?

Добавлено через 22 часа 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
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
public class Prepodov
    {
 
        public struct Prepod
        {
 
            public string name; //
 
            public string kafedra; //
 
            public int stag; //
 
            public string university; //
 
 
            public Prepod(string name, string university, string kafedra, int stag)
            {
 
                this.name = name;
 
                this.university = university;
 
                this.kafedra = kafedra;
 
                this.stag = stag;
 
 
            }
       
        
        }
 
 
        public List<Prepod> Prep = new List<Prepod>();
 
        public void Dann(ref List<Prepod> Prep)
        {
 
            Prep.Add(new Prepod("Иванов Сергей Дмитриевич","Медицинский Институт"," Фармация",10));
            Prep.Add(new Prepod("Зайцева Светлана Юрьевна", "Технологический Институт", " Информационные технологии", 5));
            Prep.Add(new Prepod("Собакин Михайл Сергеевич", "Институт экономики и права", " Гражданское право", 15));
            Prep.Add(new Prepod("Кроликов Максим Викторович", "Институт экономики и права", " Иностранные языки", 8));
 
 
        }
 
        public void IzmDann(ref List<Prepod> Prep)
        {
 
            int num;
            int number;
            int x;
            bool flag = false;
            string temp;
 
            while (true)
            {
                Console.WriteLine("Введите номер соответствующий изменяемому элементу: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))//проверка, явл-ся ли вводимое число целым
                    break;
            }
 
            num--;
 
            Prepod Prep_temp = new Prepod();
            Prep_temp = Prep[num];
            try
            {
                do
                {
                    Console.WriteLine("Изменить \n1 - ФИО преподавателя\n2 - Название института\n3 - Название кафедры\n4 - Стаж\n5 - Выход");
                    temp = Console.ReadLine();
                    if (int.TryParse(temp, out number))
                    {
                        switch (number)
                        {
                            case 1:
                                Console.Write("Новое ФИО: ");
                                Prep_temp.name = Console.ReadLine();
                                break;
                            case 2:
                                do
                                {
                                    Console.Write("Новый стаж: ");
                                    temp = Console.ReadLine();
                                    if (int.TryParse(temp, out x)) break;
                                } while (true);
                                Prep_temp.stag = x;
                                break;
                            case 3:
                                Console.Write("Новый институт: ");
                                Prep_temp.university = Console.ReadLine();
                                break;
                            case 4:
                                Console.Write("Новая кафедра: ");
                                Prep_temp.kafedra = Console.ReadLine();
                                break;
                          case 5:
                                flag = true;
                                break;
                            default:
                                Console.WriteLine("Введено неправильное число!");
                                break;
                        }
                    }
                } while (!flag);
                Prep[num] = Prep_temp;
            }
            catch
            {
                Console.WriteLine("Произошла ошибка");
            }
 
        }
 
        public void Adding(string name, int stag, string university, string kafedra)
        {
            Prepod a = new Prepod();
            a.name = name;
            a.stag = stag;
            a.university = university;
            a.kafedra = kafedra;
            Prep.Add(a);
        }
 
        public void RemoveDann(ref List<Prepod> Prep)
        {
            int num;
            int number;
            int x;
            bool flag = false;
            string temp;
 
            while (true)
            {
                Console.WriteLine("Введите номер соответствующий удаляемому элементу: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))//проверка, явл-ся ли вводимое число целым
                    break;
            }
 
            num--;
 
            Prepod Prepods = new Prepod();
            Prepods = Prep[num];
 
            try
            {
                do
                {
                    Console.WriteLine("Удалить \n1 - ФИО преподавателя\n2 - Название института\n3 - Название кафедры\n4 - Стаж\n5 - Выход");
                    temp = Console.ReadLine();
                    if (int.TryParse(temp, out number))
                    {
                        switch (number)
                        {
                            case 1:
                                Console.Write("Удалить  ФИО: ");
                                Prepods.name = Console.ReadLine();
                                break;
                            case 2:
                                do
                                {
                                    Console.Write("Удалить стаж: ");
                                    temp = Console.ReadLine();
                                    if (int.TryParse(temp, out x)) break;
                                } while (true);
                                Prepods.stag = x;
                                break;
                            case 3:
                                Console.Write("Удалить институт: ");
                                Prepods.university = Console.ReadLine();
                              
                                break;
                            case 4:
                                Console.Write("Удалить кафедру: ");
                                Prepods.kafedra = Console.ReadLine();
                                break;
                            case 5:
                                flag = true;
                                break;
                            default:
                                Console.WriteLine("Введено неправильное число!");
                                break;
                        }
                    }
                } while (!flag);
                Prep[num] = Prepods;
            }
            catch
            {
                Console.WriteLine("Произошла ошибка");
            }
      
        }
 
        public void Del(Prepod prepod)
        {
            Prep.Remove(prepod);
        }
 
    }
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
class Program
    {
 
        public static void Input(out string a, out string b, ref int c, out string d)
        {
            Console.WriteLine("Введите ФИО преподавателя: ");
            a = Console.ReadLine();
            Console.WriteLine("Введите название института: ");
            b = Console.ReadLine();
            Console.WriteLine("Введите название кафедры: ");
            d = Console.ReadLine();
            string temp;
            do
            {
                Console.WriteLine("Введите стаж: ");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out c)) break;
            } while (true);
        }
 
        static void Main(string[] args)
        {
            string temp;
            string a, b, d;
            int c = 0, num;
            Prepodov q = new Prepodov();//экземпляр класса Work
            q.Dann(ref q.Prep); //заполнение по умолчанию
            bool flag = true;
            while (flag)
            {
                Console.WriteLine();
                Console.WriteLine("1) ФИО преподавателя    \n2) Стаж    \n3) Название института  \n4) Название кафедры  \n\n");
                foreach (Prepodov.Prepod z in q.Prep)
                {
                    Console.WriteLine("1) {0,-10} \n2) {1,-10} \n3) {2,-10}\n4) {3, -10}\n", z.name, z.stag, z.university, z.kafedra);
                }
                //вывод элементов
                Console.WriteLine();
                Console.WriteLine("1 - добавить информацию о преподавателе\n2 - изменить информацию о преподавателе\n3 - удалить\n4 - выход");
                temp = Console.ReadLine();
                if (int.TryParse(temp, out num))
                {
                    switch (num)//оператор выбора
                    {
                        case 1:
                            Input(out a, out b, ref c, out d);
                            q.Adding(a, c, b, d); //добавление
                            break;
                        case 2:
                            q.IzmDann(ref q.Prep); //изменение
                            break;
                        case 3:
                        
                            break; // удаление
                        case 4:
                            flag = false;
                            break;
                        default:
                            Console.WriteLine("Ошибка ввода");
                            break;
                    }
                }
 
                
 
 
 
 
 
            }
        }
        }
0
Warrior
 Аватар для _exp10der_
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
29.12.2014, 19:16
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;
 
class Program
{
    public struct Prepod
    {
        public string name;
        public string kafedra;
        public int stag;
        public string university;
 
        public Prepod(string name, string university, string kafedra, int stag)
        {
            this.name = name;
            this.university = university;
            this.kafedra = kafedra;
            this.stag = stag;
        }
 
        public override string ToString()
        {
            return name + " " + university + " " + kafedra + " " + stag;
        }
    }
    private static void Main()
    {
 
        List<Prepod> Prep = new List<Prepod>()
        {
           new Prepod("Иванов Сергей Дмитриевич","Медицинский Институт"," Фармация",10),
           new Prepod("Зайцева Светлана Юрьевна", "Технологический Институт", " Информационные технологии", 5),
           new Prepod("Собакин Михайл Сергеевич", "Институт экономики и права", " Гражданское право", 15),
           new Prepod("Кроликов Максим Викторович", "Институт экономики и права", " Иностранные языки", 8)
        };
 
        foreach (var prepod in Prep)
        {
            Console.WriteLine(prepod);
        }
 
        Console.WriteLine(new string('-',60));
        Console.WriteLine("Максимальный стаж");
 
        var max = Prep.Max(n => n.stag);
        foreach (var prepod in Prep.Where(n => n.stag == max))
        {
            Console.WriteLine(prepod);
        }
    }
}
1
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 12
29.12.2014, 20:17  [ТС]
Можете подсказать как сделать вывод преподавателей по введенной кафедре?
0
Warrior
 Аватар для _exp10der_
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
29.12.2014, 20:27
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
using System;
using System.Collections.Generic;
using System.Linq;
 
class Program
{
    public struct Prepod
    {
        public string name;
        public string kafedra;
        public int stag;
        public string university;
 
        public Prepod(string name, string university, string kafedra, int stag)
        {
            this.name = name;
            this.university = university;
            this.kafedra = kafedra;
            this.stag = stag;
        }
 
        public override string ToString()
        {
            return name + " " + university + " " + kafedra + " " + stag;
        }
    }
    private static void Main()
    {
 
        List<Prepod> Prep = new List<Prepod>()
        {
           new Prepod("Иванов Сергей Дмитриевич","Медицинский Институт","Фармация",10),
           new Prepod("Зайцева Светлана Юрьевна", "Технологический Институт", "Информационные технологии", 5),
           new Prepod("Собакин Михайл Сергеевич", "Институт экономики и права", "Гражданское право", 15),
           new Prepod("Кроликов Максим Викторович", "Институт экономики и права", "Иностранные языки", 8)
        };
 
        Console.WriteLine("Введите кафедру");
        string kaf = Console.ReadLine();
        foreach (var prepod in Prep.Where(n=> n.kafedra == kaf))
        {
            Console.WriteLine(prepod);
        }
    }
}
1
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
29.12.2014, 20:30
Lendet,
C#
1
2
3
4
5
  var pr = Prep.Where(a => a.kafedra == "Имя кафедры");
        foreach (var a in pr)
        {
            Console.WriteLine(a);
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.12.2014, 20:30
Помогаю со студенческими работами здесь

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

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

Подсчёт количества введенной буквы в каждом слове
дан одномерный массив, состоящий из слов. Подсчитать сколько раз в каждом слове встречается заданная буква(буква вводится с клавиатуры).

Подсчет количества символов в словах введенной строки
Всем привет. Необходимо подсчитать количество символов в словах введенной строки. И все бы хорошо, но вот условия для циклов получаются...

Подсчет количества дней от начала века до введенной даты
Написать прогу. посчитайте количество дней от начала века до введенной даты


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Кому нужен 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
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru