


C# Помогите пожалуйста!!
Задание:
Создать класс Man, содержащий поля имя, фамилия, день рождения, вес и рост. Создать форму для заполнения данных об объектах класса. Создать не менее трех объектов класса, записать их в файл. Вывести фамилию самого высокого человека, рожденного зимой.
Как это все сделать, помогите пожалуйста. Послезавтра пересдача...
Ну ты уточни, на каком этапе у тебя возникли проблемы, есть ли у тебя понимание основ программирования и что конкретно ты не понял в задаче.
Ответ от RawMind.ru
Попробуем разобраться с заданием. Вот как можно реализовать его в C#:
1. Создадим класс `Man`:
```csharp
using System;
public class Man
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public double Weight { get; set; }
public double Height { get; set; }
public Man(string firstName, string lastName, DateTime dateOfBirth, double weight, double height)
{
FirstName = firstName;
LastName = lastName;
DateOfBirth = dateOfBirth;
Weight = weight;
Height = height;
}
}
```
2. Создадим форму для ввода данных:
Для этого удобно использовать Windows Forms. Добавим на форму TextBox'ы для имени, фамилии, даты рождения, веса и роста. Также добавим кнопку "Сохранить", которая будет вызывать метод сохранения данных в файл.
3. Сохранение данных в файл:
```csharp
using System.IO ;
using System.Collections.Generic;
// ... (код класса Man)
public class Form1 : Form
{
private List<Man> men = new List<Man>();
// ... (код для обработки кнопок и TextBox'ов)
private void SaveDataToFile()
{
using (StreamWriter writer = new StreamWriter("men.txt"))
{
foreach (var man in men)
{
writer.WriteLine($"{man.FirstName},{man.LastName},{man.DateOfBirth:yyyy-MM-dd},{man.Weight},{man.Height}");
}
}
}
}
```
4. Вывод фамилии самого высокого человека, рожденного зимой:
```csharp
public void FindTallestWinterBorn()
{
double maxHeight = 0;
string tallestLastName = "";
foreach (var man in men)
{
if (man.DateOfBirth.Month >= 12 || man.DateOfBirth.Month <= 2) // Зимние месяцы
{
if (man.Height > maxHeight)
{
maxHeight = man.Height;
tallestLastName = man.LastName;
}
}
}
MessageBox.Show($"Самый высокий человек, рожденный зимой: {tallestLastName}");
}
```
5. Соединение всего вместе:
В конструкторе формы создайте экземпляры класса `Man` и добавьте их в список `men`. После нажатия кнопки "Сохранить" вызовите метод `SaveDataToFile()`, чтобы записать данные в файл. Затем вызовите метод `FindTallestWinterBorn()` для поиска и вывода фамилии самого высокого человека, рожденного зимой.
Важно:
Не забудьте добавитьusing System.Windows .Forms; и using System.Collections.Generic; в начало файла.
Этот код является базовым примером. Вы можете его расширить, добавив валидацию данных, более удобный интерфейс и т.д.