МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

ГЛАВА 4 СХЕМЫ АЛГОРИТМОВ РАБОТЫ ПРИЛОЖЕНИЯ





 

Выше представлена схема функции поиска отдела по количеству работников в нем. Код данной функции:

 

 

void searchByNumberOfWorkers(department *head)

{

system("cls");

printf("ПОИСК ОТДЕЛА ПО КОЛИЧЕСТВУ РАБОТНИКОВ\n");

int numberOfWorkers;

printf("Введите количество работников: ");

scanf("%d", &numberOfWorkers);

department *tempPtr = head;

system("cls");

printTableD();

while (tempPtr != NULL)

{

if (tempPtr->numberOfWorkers == numberOfWorkers)

{

printDepartment(tempPtr);

}

tempPtr = tempPtr->next;

}

system("pause");

return;

}

 

Где функция void printTableD() создает шапку таблицы данных. Код данной функции :

 

void printTableD()

{

 

for (int i = 0; i < 90; ++i) printf("-");

printf("\n|Название отдела");

for (int i = 0; i < 9; i++) printf(" ");

printf("|Количество работников");

for (int i = 0; i < 8; i++) printf(" ");

printf("|id отдела");

for (int i = 0; i < 19; i++) printf(" ");

printf("|\n");

for (int i = 0; i < 90; ++i) printf("-");

printf("\n");

}

 

Выше представлена схема функции поиска работника по его фамилии и отделу, в котором он числится. Код данной функции:

 

void searchBySurnameDept(department *head)

{

system("cls");

printf("ПОИСК РАБОТНИКА ПО ФАМИЛИИ И ОТДЕЛУ\n");

char surname[20], Department[20];

printf("Введите фамилию: ");

scanf("%s", &surname);

printf("Введите отдел: ");

scanf("%s", &Department);

department *tempDept = head;

worker *tempW;

system("cls");

printTableW();

while (tempDept != NULL)

{

if (strcmp(tempDept->departmentName, Department) == 0)

{

tempW = tempDept->workers;

while (tempW != NULL)

{

if (strcmp(tempW->workerSurname, surname) == 0)

{

printWorker(tempDept, tempW);

}

tempW = tempW->next;

}

}

tempDept = tempDept->next;

}

system("pause");

return;

}

 

Схема функции основного меню

Выше представлена схема функции основного меню. Код данной функции:

 

int main()

{

SetConsoleOutputCP(1251);

SetConsoleCP(1251);

char a, b;

department *head = NULL;

mainMenu(head);

return 0;

}

 

void mainMenu(department *head)

{

while (true)

{

switch (menu(1))

{

case 1:

if (checkAdmin() == false)

{

printf("Данные аутентификации были введены не верно.\n");

system("pause");

 

}

else adminMenu(head);

break;

case 2:

if (checkUser() == false)

{

printf("Данные аутентификации были введены не верно.\n");

system("pause");

}

else userMenu(head);

break;

case 0:

return;

default:

printf("Ошибка ввода.\n");

system("pause");

break;

}

}

}

 

bool checkAdmin()

{

FILE *adminFile;

char login[20], password[20], rightLogin[20], rightPassword[20];

system("cls");

adminFile = fopen("adminData.txt", "r+");

printf("Введите логин: ");

scanf("%s", &login);

printf("Введите пароль: ");

scanf("%s", &password);

fscanf(adminFile, "%s ", &rightLogin);

fscanf(adminFile, "%s", &rightPassword);

if (strcmp(login, rightLogin) == 0 && strcmp(password, rightPassword) == 0)

{

fclose(adminFile);

return true;

}

fclose(adminFile);

return false;

}

 

 

bool checkUser()

{

users *usersPtr = NULL;

readUsers(&usersPtr);

char login[20], password[20];

system("cls");

printf("Введите ваш логин: ");

scanf("%s", &login);

printf("Введите ваш пароль: ");

scanf("%s", &password);

while (usersPtr != NULL)

{

if (strcmp(usersPtr->login, login) == 0 && strcmp(usersPtr->password, password) == 0) return true;

else usersPtr = usersPtr->next;

}

return false;

}

 

 

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.