.NET 4.x Вычисление среднего возраста - C#
Формулировка задачи:
Есть вычисление возраста с выводом в переменную vozrast
Количество человек вроде можно взять тут
Код не мой но мне нужно сделать вычисление среднего возраста из всех кто есть в датагриде.
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; }
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; } }
Вот весь код, ибо что-то мне подсказывает инфы мало.
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; } } } }
До моего вмешательства вот такая была реакция на нажатие
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; } }
Решение задачи: «.NET 4.x Вычисление среднего возраста»
textual
Листинг программы
int temp=0; for (int i = 0; i < Convert.ToInt32(textBox6.Text); i++) { temp+= mass[i].GetBirthDay(); } средний возраст = temp / Convert.ToInt32(textBox6.Text)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д