Функция автоматического формирования иерархии.Должности вписала на английском.на русском не выходит..как сделать на русском???что нужно? - вопрос №1078282

Разработать программу, которая осуществляет рассылку писем. Сформировать иерархию групп. Осуществить рассылку писем… вот код.
#include <iostream>
#include <vector>
#include <queue>
#include <map>
#include <string>
#include <windows.h>

using namespace std;


class Messange {
public:
int prior;
string position;
string messeng;
Messange(){};
Messange(int prioritet, string Position, string Messeng) :
prior(prioritet), position(Position), messeng(Messeng){}
};

//создаем очередь приритетов с помощью векторного контейнера
priority_queue<Messange, vector<Messange>, less<vector<Messange>::value_type> > pqMessange;

// hierarchy — ассоциативный массив для хранения приоритетов (номеров групп) иерархии.
map <string, int> hierarchy;
typedef pair <string, int> bufHierarchy;


//переопределение операторов сравнения,
bool operator< (const Messange& structMessange1, const Messange &structMessange2)
{
return structMessange1.prior > structMessange2.prior;
}
bool operator> (const Messange& structMessange1, const Messange &structMessange2)
{
return structMessange1.prior > structMessange2.prior;
}

//------------------------------------------------------------------------
// Функция вывода иерархии групп.
int printHierarchy()
{

if (hierarchy.empty())
return 1;

cout << «Иерархия.\nНаименование — номер группы (приоритет):\n»;
for (map <string, int>::iterator cur = hierarchy.begin(); cur != hierarchy.end(); cur++)
cout << (*cur).first << " — " << (*cur).second << endl;

return 0;
}
//------------------------------------------------------------------------

//------------------------------------------------------------------------
// Функция автоматического формирования иерархии.
int forHierarchyA()
{

hierarchy.insert(bufHierarchy(«Decan», 0));
hierarchy.insert(bufHierarchy(«Zav.kaf», 1));
hierarchy.insert(bufHierarchy(«Profesor», 2));
hierarchy.insert(bufHierarchy(«Dosent», 3));
hierarchy.insert(bufHierarchy(«Prepodavatel», 4));
hierarchy.insert(bufHierarchy(«Студент», 5));

printHierarchy();

cout << "\nАвтоматическое формирование иерархии групп выполнено.\n";

return 0;
}
//------------------------------------------------------------------------


//------------------------------------------------------------------------
// Функция обработки рассылки (рассылка).
int list()
{

while (!pqMessange.empty())
{
//сортирует по заданому полю
pqMessange.top().prior; //находим элемент с наивысшим приоритетом
const Messange& messange = pqMessange.top();

cout << "\n\n" << messange.position << endl << messange.messeng << endl;

pqMessange.pop();//удаляем

}

return 0;
}
//------------------------------------------------------------------------

int AddMessage()
{
char key = '1';

do
{
cout << «Введите должность: »;
string position;


fflush(stdin);
getline(cin, position);
fflush(stdin);

cout << "\nВведите сообщение: ";
string mes;

fflush(stdin);
getline(cin, mes);
fflush(stdin);


if (hierarchy.find(position) != hierarchy.end())
pqMessange.push(Messange(hierarchy.find(position)->second, position,mes));
else
{
cout << "\nКатегория не найдена!";
}

cout << "\nВвести новое сообщение (1)";
cout << "\nВыход (0)";
cout << "\n\t\t-->";

fflush(stdin);
cin >> key;
fflush(stdin);

} while (key != '0');


return 0;
}


//------------------------------------------------------------------------
// Функция обработки ошибок.
int mainErrors(int error)
{
if (error == 1)
cout << «Ошибка! Иерархия пуста. Сформируйте иерархию.\n»;
if (error == 2)
cout << «Ошибка! Очередь рассылки пуста. Сформируйте рассылку.\n»;


return 0;
}
//------------------------------------------------------------------------


int main()
{

setlocale(LC_ALL, «Russian»);


int ch;
while (true)
{
system(«CLS»);
cout << «1) Автоматическое формирование иерархии групп.\n2) Вывод иерархии групп.\n3) Сформировать рассылку.\n4) Рассылка.\n0) Выход.\n->»;
cin >> ch;
switch (ch)
{
case 1: system(«CLS»); mainErrors(forHierarchyA()); break;
case 2: system(«CLS»); mainErrors(printHierarchy()); break;
case 3: system(«CLS»); mainErrors(AddMessage()); break;
case 4: system(«CLS»); mainErrors(list()); break;
case 0: exit(0);
}
system(«PAUSE»);
};

return 0;
}

02.06.14
0 ответов
Ответов пока нет
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store