Пример #1
0
void nlp::Plsa::save_args(std::string &path)
{
	std::string term_path = path + "/term_probs";
	std::string doc_path = path + "/doc_probs";

	std::ofstream term_out(term_path.c_str());
	std::ofstream doc_out(doc_path.c_str());

	for (int i = 0; i < _terms_nums; i++)
	{
		term_out<<i<<" ";
		for (int k = 0; k < _topics_nums; k++)
		{
			term_out<<_term_probs[i][k]<<" ";
		}
		term_out<<std::endl;
	}
	for (int i = 0; i < _docs_nums; i++)
	{
		doc_out<<i<<" ";
		for (int k = 0; k < _topics_nums; k++)
		{
			doc_out<<_doc_probs[i][k]<<" ";
		}
		doc_out<<std::endl;
	}
	term_out.close();
	doc_out.close();
}
Пример #2
0
// меню работы с врачами
void doc_menu(node **doc, hash_tab *tab, refferal **ref_head, refferal **ref_tail)
{
	bool end(false); // флаг остановки работы(возврат в главное меню)
	svector_doc search; // вектор найденных данных врачей
	int choice; // выбор критерия
	string answer; // ответ на вопрос д\н

	while(!end) 
	{
		system("cls");
		cout<<"======= Работа с докторами =======\n"
			<<" 1. Добавить нового врача\n"
			<<" 2. Удаление сведений о враче\n"
			<<" 3. Список всех врачей\n"
			<<" 4. Удаление данных о всех врачах\n"
			<<" 5. Поиск\n"
			<<" 0. Назад в меню\n"
			<<"==================================\n"
			<<"\nВведите команду: ";
		choice = input_control(5, 0);
		if (!(*doc) && (choice >= 2 && choice <= 5))
		{
			cout << "\nБД докторов пуста! Пункты #2 - #4 недоступны.\n";
			system("pause");
			choice = -1;
		}
		switch(choice)
		{
		case 1:
			cout<<" Регистрация врача:\n";
			*doc = add_node(*doc, doc_init());
			cout << "\n=== Специалист добавлен ===\n";
			system("pause");
			break; 
		case 2:
			doc_del_menu(doc, search, ref_head, ref_tail);
			system("pause");
			break;
		case 3:
			//debug_out(*doc, 0);
			doc_out(*doc);
			system("pause");
			break;
		case 4:
			cout << " Удалить данные о всех врачах? \n(Также удалится вся информация о выданных направлениях на прием) д/н ";
			answer_control(answer);
			if (answer[0] == 'д')
			{
				remove_all_doc(doc);
				del_list(ref_head, ref_tail);
				cout << " Записи удалены.\n";
				system("pause");
			}
			else
			{
				cout << " Записи НЕ удалены.\n";
				system("pause");
			}
			break;
		case 5:
			doc_search_menu(*doc, tab, *ref_head, search);
			system("pause");
			break;
		case 0:
			end = true;
			break;
		default:
			break;
		}
		search.clear();
		search.shrink_to_fit();
	}
}