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