
Помогите, пожалуйста. Очень нужна помощь. Описать класс, соответствующий заданию, содержащий
поля, свойства, конструктор с параметрами. При необходимости вложить в свойства дополнительную логику проверки значений. ЗАДАЧА. Ввести информацию по N школьникам (Ф.И.О, пол, год рождения). Определить количество мальчиков и девочек. Вывести список каждых.

Ответы на вопрос

/*Описать класс, соответствующий заданию, содержащий поля, свойства, конструктор с параметрами.
* При необходимости вложить в свойства дополнительную логику проверки значений.
ЗАДАЧА. Ввести информацию по N школьникам (Ф.И.О, пол, год рождения).
Определить количество мальчиков и девочек. Вывести список каждых.*/
using System;
using System.Collections;
namespace restless
{
class Pupil
{
private string _fullName;
private string _gender;
private int _yearBirth;
public Pupil(string fullName, string gender, int yearBirth)
{
_fullName = fullName;
Gender = gender;
_yearBirth = yearBirth;
}
public void PrintInfo()
{
Console.WriteLine($"Ф.И.О: {_fullName}\nПол: {_gender}\nГод рождения: {_yearBirth}\n");
}
public int isMan()
{
if (_gender == "М" || _gender == "м")
return 1;
else if (_gender == "Ж" || _gender == "ж")
return 2;
return -1;
}
public string Gender
{
get
{
return _gender;
}
set
{
if (value.ToLower() == "м" || value.ToLower() == "ж")
_gender = value;
else
{
Console.WriteLine("Пол человека введен неверно! (М/Ж)");
_gender = "-";
}
}
}
}
class Program
{
static void Main(string[] args)
{
int N = 3;
ArrayList school = new ArrayList();
ArrayList boys = new ArrayList();
ArrayList girls = new ArrayList();
for(int i = 0; i < N; i++)
{
Console.Write("\nФИО: ");
string fn = Console.ReadLine();
Console.Write("Пол: ");
string g = Console.ReadLine();
Console.Write("Год рождения: ");
int db = Convert.ToInt32(Console.ReadLine());
school.Add(new Pupil(fn, g, db));
}
Console.WriteLine("\nОбщий список: ");
foreach (Pupil item in school)
{
item.PrintInfo();
if (item.isMan() == 1)
boys.Add(item);
else if (item.isMan() == 2)
girls.Add(item);
}
Console.WriteLine("\nСписок мальчиков: ");
foreach (Pupil item in boys)
{
item.PrintInfo();
}
Console.WriteLine("\nСписок девочек: ");
foreach (Pupil item in girls)
{
item.PrintInfo();
}
Console.WriteLine($"Количество мальчиков: {boys.Count}");
Console.WriteLine($"Количество девочек: {girls.Count}");
}
}
}




Конечно, я могу помочь вам создать класс для решения данной задачи на языке программирования C#. Вот пример класса для описания школьников:
csharpusing System;
using System.Collections.Generic;
class Student
{
// Поля класса
private string fullName;
private char gender;
private int birthYear;
// Свойства для доступа к полям с проверкой значений
public string FullName
{
get { return fullName; }
set
{
if (!string.IsNullOrWhiteSpace(value))
fullName = value;
else
throw new ArgumentException("Имя не может быть пустым или содержать только пробелы.");
}
}
public char Gender
{
get { return gender; }
set
{
if (value == 'М' || value == 'Ж')
gender = value;
else
throw new ArgumentException("Пол должен быть указан как 'М' (мальчик) или 'Ж' (девочка).");
}
}
public int BirthYear
{
get { return birthYear; }
set
{
int currentYear = DateTime.Now.Year;
if (value >= 1900 && value <= currentYear)
birthYear = value;
else
throw new ArgumentException("Некорректный год рождения.");
}
}
// Конструктор с параметрами для инициализации полей
public Student(string fullName, char gender, int birthYear)
{
FullName = fullName;
Gender = gender;
BirthYear = birthYear;
}
}
class Program
{
static void Main(string[] args)
{
// Создаем список для хранения школьников
List<Student> students = new List<Student>();
// Ввод информации о школьниках
Console.Write("Введите количество школьников (N): ");
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++)
{
Console.WriteLine($"Введите информацию о школьнике #{i + 1}:");
Console.Write("Ф.И.О.: ");
string fullName = Console.ReadLine();
Console.Write("Пол (М/Ж): ");
char gender = char.Parse(Console.ReadLine().ToUpper());
Console.Write("Год рождения: ");
int birthYear = int.Parse(Console.ReadLine());
// Создаем объект Student и добавляем его в список
students.Add(new Student(fullName, gender, birthYear));
}
// Определение количества мальчиков и девочек
int maleCount = students.Count(student => student.Gender == 'М');
int femaleCount = students.Count(student => student.Gender == 'Ж');
// Вывод результатов
Console.WriteLine($"Количество мальчиков: {maleCount}");
Console.WriteLine($"Количество девочек: {femaleCount}");
// Вывод списка мальчиков и девочек
Console.WriteLine("Список мальчиков:");
foreach (var student in students.Where(student => student.Gender == 'М'))
{
Console.WriteLine($"Имя: {student.FullName}, Год рождения: {student.BirthYear}");
}
Console.WriteLine("Список девочек:");
foreach (var student in students.Where(student => student.Gender == 'Ж'))
{
Console.WriteLine($"Имя: {student.FullName}, Год рождения: {student.BirthYear}");
}
}
}
Этот код создает класс Student
с полями для Ф.И.О, пола и года рождения, а также свойствами с проверкой значений. В методе Main
программы вводится информация о школьниках, определяется количество мальчиков и девочек, и выводится список каждой категории.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili