Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 14
1

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

19.05.2014, 14:08. Показов 2123. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности.

help...

 Комментарий модератора 
Перечитайте правила форума.
Один вопрос - одна тема.
Заголовок темы должен быть осмысленным и отражать суть вопроса.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2014, 14:08
Ответы с готовыми решениями:

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

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

Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию
Разработать программу: -записи подготовленных данных во внешний файл с именем dan.dat; -обработки...

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

9
Заблокирован
19.05.2014, 14:14 2
XaQ, конкретизируйте задачи:
где хранятся данные? (БД, файл)
если ли возможность добавлять работников?
как организовывать выборку?(опять таки средставми БД или методами класса) и прочее.

Не по теме:

P.S : одна задача - одна тема

0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 14
19.05.2014, 14:21  [ТС] 3
Ev_Hyper , ну если конкретно то надо через структуры делать.
0
Заблокирован
19.05.2014, 14:24 4
Лучший ответ Сообщение было отмечено XaQ как решение

Решение

XaQ, входные данные предоставите?
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 14
19.05.2014, 14:25  [ТС] 5
нет входных данных.
0
Заблокирован
19.05.2014, 18:27 6
XaQ, реализация через класс не подойдет?
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 14
20.05.2014, 00:53  [ТС] 7
Ev_Hyper ,конечно пойдет.
0
Заблокирован
20.05.2014, 08:35 8
Лучший ответ Сообщение было отмечено XaQ как решение

Решение

XaQ, тогда вот:
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
    public partial class Form1 : Form
    {
        //BindingList<Rabotniki> sp = new BindingList<Rabotniki>();
        List<Rabotniki> sp = new List<Rabotniki>();
        public Form1()
        {
            InitializeComponent();
            Read();
            dataGridView1.DataSource = sp;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (String.IsNullOrEmpty(textBox1.Text) ||
                    String.IsNullOrEmpty(textBox2.Text) ||
                    String.IsNullOrEmpty(textBox3.Text))
                    throw new ArgumentException("Все поля обязательны к заполнению!");
                label6.Text = "Список всех сотрудников";
                dataGridView1.DataSource = null;
                dataGridView1.DataSource = sp;
                sp.Add(new Rabotniki((double)numericUpDown1.Value, (double)numericUpDown2.Value,
                    textBox1.Text, textBox2.Text, textBox3.Text));
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
 
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            string str="";
            foreach (Rabotniki q in sp)
                str += String.Format("{0} {1} {2} {3} {4}\r\n", q.Name, q.SurName, q.Post, q.Salary, q.Experience);
 
            File.WriteAllText("F://str.txt", str);
        }
 
 
        private void Read()
        {
            string[] text = File.ReadAllLines("F://str.txt");
            foreach (string strp in text)
            {
                string [] temp = strp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                sp.Add(new Rabotniki(Double.Parse(temp[3]), Double.Parse(temp[4]), temp[0], temp[1], temp[2]));
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            label6.Text = "Список сотрудников со стажем свыше 10 лет";
            var query = (from k in sp
                        where k.Experience > 10
                        select new
                        {
                            Name  = k.Name,
                            Surname = k.SurName,
                            Post = k.Post,
                            Salary = k.Salary,
                            Experience = k.Experience
                            
                        }).ToList();
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = query;
 
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            
            double query = sp.Average(z => z.Salary);
            label6.Text = String.Format("Список сотрудников с з/п ниже средней ({0})",query);
            var q1 = (from k in sp
                      where k.Salary < query
                      select new
                      {
                          Name = k.Name,
                          Surname = k.SurName,
                          Post = k.Post,
                          Salary = k.Salary,
                          Experience = k.Experience
                      }).ToList();
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = q1;
 
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            label6.Text = "Список всех сотрудников";
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = sp;
        }
    }
    public class Rabotniki
    {
        private string name;
        private string surname;
        private double salary;
        private double experience;
        private string post;
 
        public string Name
        {
            set { name = value; }
            get { return name; }
 
        }
        public string SurName
        {
            set { surname = value; }
            get { return surname; }
        }
        public string Post
        {
            set { post = value; }
            get { return post; }
        }
        public double Salary
        {
            set { salary = value; }
            get { return salary; }
        }
        public double Experience
        {
            set { experience = value; }
            get { return experience; }
        }
 
        public Rabotniki(double a, double b, string c,
            string d, string e)
        {
            name = c;
            salary = b;
            experience = a;
            surname = d;
            post = e;
        }
 
    }
Путь к файлу с данными не забудьте поменять на свой. А также установить границы з/п и стажа работы.

Мой вариант расположения элементов формы на скиншоте
Миниатюры
Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию  
0
Заблокирован
20.05.2014, 08:44 9
Лучший ответ Сообщение было отмечено XaQ как решение

Решение

Забыл добавить текстовый файл. Нормальные данные вставите сами.
Вложения
Тип файла: txt str.txt (326 байт, 24 просмотров)
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 14
20.05.2014, 09:14  [ТС] 10
Ev_Hyper _ спасибо)
0
20.05.2014, 09:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2014, 09:14
Помогаю со студенческими работами здесь

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

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

Найти фамилии работников данного предприятия, чья заработная плата за месяц ниже средней по этому предприятию
Привет всем! Помогите решить задачу. 148. Найти фамилии работников данного предприятия, чья...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru