Проект "Медицинские карты пациента" - регистратура. C++. Бинарное дерево.

  • В проекте описан класс "Медицинские карты пациента". 
  • Каждая запись карты содержит дату приёма пациента, диагноз, назначение.
  • Предусмотрена возможность формирования данных карты с клавиатуры и из файла. 
  • Возможна печать всех медицинских карт пациентов, карты определённого пациента, записей пациентов, сделанных в конкретный день.
  • Возможны добавление и удаление записей, сохранение в файл. 
  • Программа содержит меню, позволяющее осуществить проверку работы всех методов класса. 
  • Для оптимизации поиска медицинских карт пациентов использовано бинарное дерево сортировки.

Фрагмент программного кода 

Процедура рекурсивного поиска и дальнейшего вывода карты конкретного пациента 

void Registry::PrintPacient(int day, int month, int year, string name, string sname, string fname, Card *&karta)
{
	Card *cur = karta;
	if (cur->byear == year)
	{
		if (cur->bmonth == month)
		{
			if (cur->bday == day)
			{
				int i = 0;
				Card* cur1 = cur;
				while (cur1 != NULL)
				{
					if (cur1->name == name && cur1->sname == sname && cur1->fname == fname) // в случае совпадения всех параметров, начинаю вывод
					{
						cout << endl;
						cout << " Медицинская карта пациента" << endl << " Дата рождения и ФИО: ";
						cout << cur1->bday << "." << cur1->bmonth << "." << cur1->byear << " ";
						cout << (cur1->name) << " " << (cur1->sname) << " " << (cur1->fname) << endl;
						if (cur1->note == NULL)
							cout << "  Kарта пуста" << endl << endl;
						else
							Look(cur1->note);
						PrintOneToFile("Вывод искомого больного.txt", cur1); // вывожу данные этого больного в отдельный файл
					}
					cur1 = cur1->next;
				}

			}
			else
				if (cur->bday > day)
					PrintPacient(day, month, year, name, sname, fname, cur->left);
				else
					PrintPacient(day, month, year, name, sname, fname, cur->right);
		}
		else

			if (cur->bmonth > month)
				PrintPacient(day, month, year, name, sname, fname, cur->left);
			else
				PrintPacient(day, month, year, name, sname, fname, cur->right);

	}
	else

		if (cur->byear > year)
			PrintPacient(day, month, year, name, sname, fname, cur->left);
		else
			PrintPacient(day, month, year, name, sname, fname, cur->right);

}

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Публикуй

Опиши работу, прикрепи файлы и назначь цену.

Зарабатывай

Получай пассивный доход с продажи работ.

Тебе понадобится 5 минут для публикации работы на сайте.
Похожие работы
Другие работы автора
Купить

1300,00 

(без учета комиссии 3,8 %)

Карты.rar
5652376
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (0)

MadamTat

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Проект "Медицинские карты пациента" - регистратура. C++. Бинарное дерево.
Реализация проекта с использованием бинарного дерева, односвязных списков и рекурсивных функций.
Категория: Образование
Стоимость: 1300,00