
Вопрос задан 31.07.2023 в 23:04.
Предмет Информатика.
Спрашивает Макаров Дава.
C# Дан текстовый файл, содержащий сведения о пациентах глазной клиники. Каждая строка файла
содержит: фамилию, имя, отчество пациента, пол, возраст, место проживания(город), диагноз. Вывести по запросу данные - о количестве пациентов-мужчин и количестве пациентов-женщин - о пациентах с заданным диагнозом в алфавитном порядке

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

Отвечает Яблонская Вероника.
Отпишитесь если будут ошибки,т.к. кодил на мобилке.
Тело программы:
public static void Main(string[] args)
{
int man = 0;
int woman = 0;
String file = File.ReadAllText("persons.txt");
List<Person> persons = StringToPersons(file);
foreach(Person p in persons)
if(p.Sex == "Мужской")
man++;
else if(p.Sex == "Женский")
woman++;
Console.WriteLine("Женщин: {0}\nМужчин: {1}",woman,man);
persons = persons.OrderBy(p => p.LastName).ToList();
for(int i = 0;i<persons.Count;i++)
{
Person p = persons[i];
Console.WriteLine("Пациент # {0}\nФИО: {1} {2} {3},Пол: {4},Возраст: {5} лет,Место проживания: {6}, Диагноз: {7}.",i+1,p.LastName,p.FirstName,p.Patronymic,p.Sex,p.Age,p.City,p.Main);
}
}
public static List<Person> StringToPersons(String FileContent)
{
List<Person> persons = new List<Person>();
String[] lines = FileContent.Split(';');
foreach(String line in lines)
{
String[] data = line.Split(':');
if(data.Length>7)
{
throw new Exception("Error read persons file");
}
Person person = new Person(data[0],data[1],data[2],data[3],data[4],data[5],data[6]);
persons.Add(person);
}
return persons;
}
}
public class Person
{
public String LastName;
public String FirstName;
public String Patronymic;
public String Sex;
public String Age;
public String City;
public String Main;
public Person(String LastName,String FirstName,String Patronymic,String Sex,String Age,String City,String Main)
{
this.LastName = LastName;
this.FirstName = FirstName;
this.Patronymic = Patronymic;
this.Sex = Sex;
this.Age = Age;
this.City = City;
this.Main = Main;
}
}
Текстовый файл:
Сергеев:Иван:Алексеевич:Мужской:34:Санкт-Петербург:Кариес;
Белоусова:Элина:Станислава:Женщина:27:Москва:Ангина;
Павлов:Николай:Дмитриевич: Мужской:89:Астрахань:Сахарный диабет
P.s. я не доктор, соответственно в плане диагноза я написал чушь.
Тело программы:
public static void Main(string[] args)
{
int man = 0;
int woman = 0;
String file = File.ReadAllText("persons.txt");
List<Person> persons = StringToPersons(file);
foreach(Person p in persons)
if(p.Sex == "Мужской")
man++;
else if(p.Sex == "Женский")
woman++;
Console.WriteLine("Женщин: {0}\nМужчин: {1}",woman,man);
persons = persons.OrderBy(p => p.LastName).ToList();
for(int i = 0;i<persons.Count;i++)
{
Person p = persons[i];
Console.WriteLine("Пациент # {0}\nФИО: {1} {2} {3},Пол: {4},Возраст: {5} лет,Место проживания: {6}, Диагноз: {7}.",i+1,p.LastName,p.FirstName,p.Patronymic,p.Sex,p.Age,p.City,p.Main);
}
}
public static List<Person> StringToPersons(String FileContent)
{
List<Person> persons = new List<Person>();
String[] lines = FileContent.Split(';');
foreach(String line in lines)
{
String[] data = line.Split(':');
if(data.Length>7)
{
throw new Exception("Error read persons file");
}
Person person = new Person(data[0],data[1],data[2],data[3],data[4],data[5],data[6]);
persons.Add(person);
}
return persons;
}
}
public class Person
{
public String LastName;
public String FirstName;
public String Patronymic;
public String Sex;
public String Age;
public String City;
public String Main;
public Person(String LastName,String FirstName,String Patronymic,String Sex,String Age,String City,String Main)
{
this.LastName = LastName;
this.FirstName = FirstName;
this.Patronymic = Patronymic;
this.Sex = Sex;
this.Age = Age;
this.City = City;
this.Main = Main;
}
}
Текстовый файл:
Сергеев:Иван:Алексеевич:Мужской:34:Санкт-Петербург:Кариес;
Белоусова:Элина:Станислава:Женщина:27:Москва:Ангина;
Павлов:Николай:Дмитриевич: Мужской:89:Астрахань:Сахарный диабет
P.s. я не доктор, соответственно в плане диагноза я написал чушь.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи вам потребуется использовать язык программирования C# и работать с файлами. Вот пример кода, который поможет вам выполнить указанные запросы:
csharpusing System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Program
{
static void Main()
{
string filePath = "path/to/your/textfile.txt"; // Замените на путь к вашему файлу
List<Patient> patients = ReadPatientsFromFile(filePath);
Console.WriteLine("Количество пациентов-мужчин: " + patients.Count(p => p.Gender == Gender.Male));
Console.WriteLine("Количество пациентов-женщин: " + patients.Count(p => p.Gender == Gender.Female));
Console.Write("Введите диагноз для поиска: ");
string searchDiagnosis = Console.ReadLine().Trim();
List<Patient> patientsWithDiagnosis = patients.Where(p => p.Diagnosis == searchDiagnosis)
.OrderBy(p => p.FullName)
.ToList();
Console.WriteLine($"Пациенты с диагнозом '{searchDiagnosis}' в алфавитном порядке:");
foreach (var patient in patientsWithDiagnosis)
{
Console.WriteLine(patient.FullName);
}
}
static List<Patient> ReadPatientsFromFile(string filePath)
{
List<Patient> patients = new List<Patient>();
string[] lines = File.ReadAllLines(filePath);
foreach (string line in lines)
{
string[] parts = line.Split(';');
if (parts.Length >= 7)
{
string lastName = parts[0];
string firstName = parts[1];
string middleName = parts[2];
Gender gender = (parts[3].ToLower() == "м") ? Gender.Male : Gender.Female;
int age = int.Parse(parts[4]);
string city = parts[5];
string diagnosis = parts[6];
patients.Add(new Patient(lastName, firstName, middleName, gender, age, city, diagnosis));
}
}
return patients;
}
}
enum Gender
{
Male,
Female
}
class Patient
{
public string LastName { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public Gender Gender { get; set; }
public int Age { get; set; }
public string City { get; set; }
public string Diagnosis { get; set; }
public Patient(string lastName, string firstName, string middleName, Gender gender, int age, string city, string diagnosis)
{
LastName = lastName;
FirstName = firstName;
MiddleName = middleName;
Gender = gender;
Age = age;
City = city;
Diagnosis = diagnosis;
}
public string FullName => $"{LastName} {FirstName} {MiddleName}";
}
Важно убедиться, что путь к вашему текстовому файлу правильно указан в переменной filePath
. Код читает информацию из файла, разбивает каждую строку на поля и создает список объектов типа Patient
. Затем он производит запросы по количеству пациентов-мужчин и пациентов-женщин, а также ищет пациентов с заданным диагнозом и выводит их в алфавитном порядке.


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