Предмет: Информатика, автор: yuri202020

Программа на C++
Создайте текстовый файл, содержащий сведения о пациентах глазной клиники: фамилия пациента, пол, возраст, место проживания (город), диагноз. Напишите программу, которая формирует двоичный файл, каждый элемент которого является структурой, составленной на основе данных текстового файла. Отсортируйте данные бинарного файла в алфавитном порядке фамилий пациентов. Выведите на экран информацию об иногородних пациентах с диагнозом J.

Ответы

Автор ответа: Temnij52
1

Ответ:

Отпишитесь если будут ошибки, т. к. кодил на мобилке.

Тело программы:

public static void Main (string[] args)

{

int man = 0;

int woman = 0;

String file = File. ReadAllText ("persons. txt");

List 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

{

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 StringToPersons (String FileContent)

{

List persons = new List ();

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. я не доктор, соответственно в плане диагноза я написал чушь.

Похожие вопросы
Предмет: Английский язык, автор: lisakashina
Предмет: Русский язык, автор: rusacomua
Предмет: Алгебра, автор: soldanays