Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2015, 16:58   #11
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Если не привязываться ко времени, тогда будет что-то примерно такое:

Код:
#include <iostream>
#include <vector>

using namespace std;

typedef struct _DocInfo{
    _DocInfo(string n, string q){
        name = n;
        qualification = q;
    }
    string name;
    string qualification;
}DocInfo;

int main()
{
    setlocale(LC_ALL, "rus");

    vector<DocInfo> FirstDocs;
    FirstDocs.push_back( DocInfo("name_1","qual_1") );
    FirstDocs.push_back( DocInfo("name_2","qual_1") );
    FirstDocs.push_back( DocInfo("name_3","qual_2") );

    vector<DocInfo> SecondDocs;
    SecondDocs.push_back( DocInfo("name_4","qual_2") );
    SecondDocs.push_back( DocInfo("name_5","qual_2") );
    SecondDocs.push_back( DocInfo("name_6","qual_1") );

    int choice;
    vector<DocInfo> *CurrDocs;

    for(int count=0;count<8;count++){
        if(count%2)CurrDocs=&SecondDocs;
        else CurrDocs=&FirstDocs;

        cout << "Выберите Имя врача и квалификацию, к которому хотите попасть на прием" << endl;
        cout << "0. Выйти" << endl;
        for(size_t i=0;i<CurrDocs->size();i++){
            cout << i + 1 << ". ";
            cout << CurrDocs->at(i).name << " ";
            cout << CurrDocs->at(i).qualification << endl;
        }

        cin >> choice;
        if(!choice) break;

        choice--;
        cout << "Ваш выбор: " << CurrDocs->at(choice).name << " " << CurrDocs->at(choice).qualification << endl;
        //  hospital(CurrDocs->at(choice).name, CurrDocs->at(choice).qualification)
    }

    return 0;
}
Можно еще добавить в структуру DocInfo переменную, которая будет отвечать за смену, тогда не нужно будет создавать 2 вектора, а все будет в одном, и нужно будет проверять эту переменную при выводе.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).

Последний раз редактировалось Krasiosoft; 27.07.2015 в 17:02.
Krasiosoft вне форума Ответить с цитированием
Старый 27.07.2015, 17:15   #12
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Krasiosoft Посмотреть сообщение
Если не привязываться ко времени, тогда будет что-то примерно такое:

Код:
#include <iostream>
#include <vector>

using namespace std;

typedef struct _DocInfo{
    _DocInfo(string n, string q){
        name = n;
        qualification = q;
    }
    string name;
    string qualification;
}DocInfo;

int main()
{
    setlocale(LC_ALL, "rus");

    vector<DocInfo> FirstDocs;
    FirstDocs.push_back( DocInfo("name_1","qual_1") );
    FirstDocs.push_back( DocInfo("name_2","qual_1") );
    FirstDocs.push_back( DocInfo("name_3","qual_2") );

    vector<DocInfo> SecondDocs;
    SecondDocs.push_back( DocInfo("name_4","qual_2") );
    SecondDocs.push_back( DocInfo("name_5","qual_2") );
    SecondDocs.push_back( DocInfo("name_6","qual_1") );

    int choice;
    vector<DocInfo> *CurrDocs;

    for(int count=0;count<8;count++){
        if(count%2)CurrDocs=&SecondDocs;
        else CurrDocs=&FirstDocs;

        cout << "Выберите Имя врача и квалификацию, к которому хотите попасть на прием" << endl;
        cout << "0. Выйти" << endl;
        for(size_t i=0;i<CurrDocs->size();i++){
            cout << i + 1 << ". ";
            cout << CurrDocs->at(i).name << " ";
            cout << CurrDocs->at(i).qualification << endl;
        }

        cin >> choice;
        if(!choice) break;

        choice--;
        cout << "Ваш выбор: " << CurrDocs->at(choice).name << " " << CurrDocs->at(choice).qualification << endl;
        //  hospital(CurrDocs->at(choice).name, CurrDocs->at(choice).qualification)
    }

    return 0;
}
Можно еще добавить в структуру DocInfo переменную, которая будет отвечать за смену, тогда не нужно будет создавать 2 вектора, а все будет в одном, и нужно будет проверять эту переменную при выводе.
Спасибо,буду разбираться .
Sterben вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
[mysql класс] вывод из базы sergeyrulit PHP 1 07.03.2011 15:29
Создайте класс ТЕКСТ. Обязательными методами класса являются ввод и вывод текста, редактирование и отобра Mars01 Паскаль, Turbo Pascal, PascalABC.NET 1 06.10.2010 13:43
Вывод данных.класс.(С++) zhenya.ya Помощь студентам 5 27.09.2010 02:17
Класс матрица, вывод результатов на экран Student_911 Помощь студентам 0 03.10.2009 20:55