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(); }
// меню работы с врачами 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(); } }