Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 25.08.2014
Сообщений: 33
1
.NET 4.x

Вычисление среднего возраста

29.12.2015, 10:43. Показов 2869. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть вычисление возраста с выводом в переменную vozrast
C#
1
2
3
4
5
6
7
8
9
10
11
12
public int GetBirthDay()//Метод определения возраста
        {
            int vozrast = 0;
            string pattern = @"\d{4}";
            string[] Info = BirthDay.Split(new char [] {'.'}, StringSplitOptions.RemoveEmptyEntries);
            foreach (string value in Info)
            {
                if (Regex.IsMatch(value,pattern)) vozrast = (2015- Convert.ToInt32(value));
            }
 
            return vozrast;
        }
Количество человек вроде можно взять тут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    private void button2_Click(object sender, EventArgs e)//Заполнение данных в datagrid
        {
           vybory workers = new vybory(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
 
            dataGridView1.RowCount = Convert.ToInt32(textBox6.Text);
            dataGridView1.Rows[schetchik].Cells[0].Value = textBox1.Text;
            dataGridView1.Rows[schetchik].Cells[1].Value = textBox2.Text;
            dataGridView1.Rows[schetchik].Cells[2].Value = textBox3.Text;
            dataGridView1.Rows[schetchik].Cells[3].Value = textBox4.Text;
            dataGridView1.Rows[schetchik].Cells[4].Value = textBox5.Text;
 
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
 
            mass[schetchik] = workers;
 
            schetchik += 1;
        }
        }
Код не мой но мне нужно сделать вычисление среднего возраста из всех кто есть в датагриде.

Добавлено через 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
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
using System.Windows.Forms;
 
namespace Practica_Variant__3
{
 
    public partial class Form1 : Form
    {
        int schetchik = 0;//Счетчик для заполнения 
        vyboryArray mass = new vyboryArray (255);//Экземпляр класса с масивом данных
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)//Определяем размерность размерность datagrid
        {
            dataGridView1.RowCount = int.Parse(textBox6.Text);   
            textBox6.Enabled = false;
        }
 
        private void button2_Click(object sender, EventArgs e)//Заполнение данных в datagrid
        {
           vybory workers = new vybory(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
 
            dataGridView1.RowCount = Convert.ToInt32(textBox6.Text);
            dataGridView1.Rows[schetchik].Cells[0].Value = textBox1.Text;
            dataGridView1.Rows[schetchik].Cells[1].Value = textBox2.Text;
            dataGridView1.Rows[schetchik].Cells[2].Value = textBox3.Text;
            dataGridView1.Rows[schetchik].Cells[3].Value = textBox4.Text;
            dataGridView1.Rows[schetchik].Cells[4].Value = textBox5.Text;
 
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
 
            mass[schetchik] = workers;
 
            schetchik += 1;
        }
 
        private void button3_Click(object sender, EventArgs e)//Сохранение информации в файле
        {
            StreamWriter act = new StreamWriter("Исходные данные.txt");
 
            for (int i = 0; i<Convert.ToInt32(textBox6.Text);i++)
            {
            act.WriteLine("Фамилия: "+mass[i].Profession+", Имя: "+mass[i].Partia+", Отчество: "+
                mass[i].Otchestvo+", Дата Рождения: "+mass[i].BirthDay+", Округ: "+mass[i].Okrug);
            }
 
            MessageBox.Show("Исходные данные записаны в файл");
            act.Close();
        }
 
        public void button4_Click(object sender, EventArgs e)//Поиск самого старого и молодого канда
        {
            StreamWriter act = new StreamWriter("Статистика.txt");
            string MinVozrast = "";
            int sred = 0;
            for (int i = 0; i < Convert.ToInt32(textBox6.Text); i++)
            {
              if 
              {
                  sred = vozrast\ ;
              }
            }
 
            act.WriteLine("Средний возраст кандидатов: "+min+"лет,"+"Его место округ: "+MinVozrast+";");
            MessageBox.Show("Статистика сохранена");
            act.Close();
        }
    }
 
 
   public class vybory //Класс с данными
    {
        public string Profession;
        public string Partia;
        public string Otchestvo;
        public string BirthDay;
        public string Okrug;
 
        public vybory()
        {}
 
        public vybory(string profession, string partia, string otchestvo, string birthday, string okrug)
        {
            this.Profession = profession;
            this.Partia = partia;
            this.Otchestvo = otchestvo;
            this.BirthDay = birthday;
            this.Okrug = okrug;
        }
 
        public string GetProfession()
        {
            return "Профессия:"+ Profession;
        }
 
        public string GetPartia()
        {
            return "Название партии:"+Partia;
        }
 
        public string GetOtchestvo()
        {
            return "Отчество:"+Otchestvo;
        }
 
        public int GetBirthDay()//Метод определения возраста
        {
            int vozrast = 0;
            string pattern = @"\d{4}";
            string[] Info = BirthDay.Split(new char [] {'.'}, StringSplitOptions.RemoveEmptyEntries);
            foreach (string value in Info)
            {
                if (Regex.IsMatch(value,pattern)) vozrast = (2015- Convert.ToInt32(value));
            }
 
            return vozrast;
        }
 
        public string Getokrug()
        {
            return "Округ:" + Okrug;
        }
    }
 
 
 
 
   class vyboryArray//Класс с массивом данных
   {
       public vybory[] _mass;
 
       public vyboryArray(int kolvo)
       {
           _mass = new vybory[kolvo];
       }
 
       public vybory this[int index]
       {
           get { return _mass[index]; }
           set { _mass[index] = value; }
       }
   }
}


Добавлено через 9 минут
До моего вмешательства вот такая была реакция на нажатие
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void button4_Click(object sender, EventArgs e)//Поиск самого старого и молодого сотрудника
        {
            StreamWriter act = new StreamWriter("Статистика.txt");
            string MinVozrast = "", MaxVozrast = "";
            int min = 100;
            int max = 0;
            for (int i = 0; i < Convert.ToInt32(textBox6.Text); i++)
            {
              if (mass[i].GetBirthDay() < min)
              {
                  min = mass[i].GetBirthDay();
                  MinVozrast = mass[i].Okrug;
              }
 
              if (mass[i].GetBirthDay() > max)
              {
                  max = mass[i].GetBirthDay();
                  MaxVozrast = mass[i].Okrug;
              }
 
            }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2015, 10:43
Ответы с готовыми решениями:

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

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

Вычисление среднего значения из коллекции
Здравствуйте. Такой вопрос, создаю List &lt;ushort&gt;, потом в него попадают 10 значений. После этого...

Функция, вычисление среднего арифметического
Вычислить среднее арифметическое четырех вводимых чисел, с использованием функции. Не могу понять в...

5
33 / 32 / 10
Регистрация: 07.08.2012
Сообщений: 148
29.12.2015, 10:47 2
Лучший ответ Сообщение было отмечено Alex_Chapman как решение

Решение

возможно так ?
C#
1
2
3
4
5
6
  int temp=0;
for (int i = 0; i < Convert.ToInt32(textBox6.Text); i++)
{
           temp+=  mass[i].GetBirthDay();
}
средний возраст = temp / Convert.ToInt32(textBox6.Text)
0
2 / 2 / 0
Регистрация: 25.08.2014
Сообщений: 33
29.12.2015, 10:59  [ТС] 3
Выходит это и ругается на тип: Не удается неявно преобразовать тип "int" в "string". в строке SredVozrast = temp / Convert.ToInt32(textBox6.Text);
C#
1
2
3
4
5
6
7
8
9
10
11
12
 private void button4_Click(object sender, EventArgs e)//Поиск самого старого и молодого сотрудника
        {
            StreamWriter act = new StreamWriter("Статистика.txt");
            string SredVozrast = "";
            int temp = 0;
            for (int i = 0; i < Convert.ToInt32(textBox6.Text); i++)
            {
                temp += mass[i].GetBirthDay();
            }
            SredVozrast = temp / Convert.ToInt32(textBox6.Text);
 
            }
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
29.12.2015, 11:06 4
Alex_Chapman, а почему у вас средний возраст типа string?
0
2 / 2 / 0
Регистрация: 25.08.2014
Сообщений: 33
29.12.2015, 11:19  [ТС] 5
Для последующей записи в файл
0
33 / 32 / 10
Регистрация: 07.08.2012
Сообщений: 148
29.12.2015, 11:37 6
Код
 SredVozrast = Convert.ToString(temp / Convert.ToInt32(textBox6.Text));
0
29.12.2015, 11:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2015, 11:37
Помогаю со студенческими работами здесь

Вычисление суммы и среднего арифметического из файла
Здравствуйте! Нужно ввести с клавиатуры последовательность из 10 чисел и записать ее в файл,затем...

Вычисление возраста сотрудника и расчёт среднего возраста
Народ ПОМОГИТЕ пожалуйста!!! В Access не силён (на уровне пользователя). Имеется база данных с...

функция определения среднего возраста
функция определения среднего возраста пользователей (поле age) возвращает число Структура...

Подсчет среднего возраста в таблице
Здравствуйте есть таблица и в ней надо найти средний возраст пассажиров. В этой сфере новичек....


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

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