Top.Mail.Ru
Ответы
Аватар пользователя
4мес
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

C# Помогите пожалуйста!!

Задание:

Создать класс Man, содержащий поля имя, фамилия, день рождения, вес и рост. Создать форму для заполнения данных об объектах класса. Создать не менее трех объектов класса, записать их в файл. Вывести фамилию самого высокого человека, рожденного зимой.

Как это все сделать, помогите пожалуйста. Послезавтра пересдача...

По дате
По рейтингу
Аватар пользователя
Новичок
4мес

Ну ты уточни, на каком этапе у тебя возникли проблемы, есть ли у тебя понимание основ программирования и что конкретно ты не понял в задаче.

Аватар пользователя
Ученик
4мес

Ответ от 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; в начало файла.
Этот код является базовым примером. Вы можете его расширить, добавив валидацию данных, более удобный интерфейс и т.д.