.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)