Мы проанализировали и исследовали задачу курсовой работы, выбрали метод проектирования алгоритма, определили функции и возможности, которые будет предоставлять программа. Теперь можно приступить непосредственно к разработке программы по её модулям.
Блок-схема программы
Програмный код
#include «stdafx.h» .
#include.
#include.
using namespace std;
#define Num 5.
struct WORKER.
{char NAME[80];
char POS[20];
int YEAR;
};
WORKER TABL[Num];
void main ().
{setlocale (LC_ALL, «Russian»);//Объявляем локализацию текста в консоли
for (int i = 0; iЗаполнение структуры данными
{system («cls»);
cin.get (); cout"" Введите ФИО работника: «; cin. getline (TABL[i]. NAME, 80);
cout"" Введите должность работника: «; cin"TABL[i]. POS;
cout"" Введите год поступления на работу: «; cin"TABL[i]. YEAR;
}.
//Сортировка по Алфавиту
for (int i = 0; i.
{for (int j = 0; j.
{if (TABL[i]. NAME[0] < TABL[j]. NAME[0]).
{swap (TABL[i], TABL[j]);
}.
else if (TABL[i]. NAME[0] == TABL[j]. NAME[0]).
{if (TABL[i]. NAME[1] < TABL[j]. NAME[1]).
{swap (TABL[i], TABL[j]);
}.
}.
}.
}.
//Вывод работников по алфавиту
system («cls»);
for (int i = 0; i.
{cout"" ФИО работника: ««TABL[i]. NAME"endl;
cout"" Должность работника: ««TABL[i]. POS"endl;
cout"" Год поступления на работу: ««TABL[i]. YEAR"endl;
cout"endl;
}.
//Поиск работников имеющих стаж работы отличный от введенного числа
system («pause»); system («cls»);
short Year; bool flag = false; //Объявляем переменные
cout"" Введите нужный вам год и вы узнаете работников имеющих стаж работы не меньше года: «;
AskYear: cin"Year; system («cls»); //Ввод года и очистка консоли от записей
if (Year <= 0).
{cout"" Вы ввели недопустимый год! Введите корректный год :"; goto AskYear; //Запрос на повторный ввод значения «год»
}.
else.
{for (int i = 0; iЦикл перебора массива структур TABL поля NAME
{if (TABL[i]. YEAR < Year)//Условие проверяющее стаж работника с введенным годом с клавиатуры
{for (int j = 0; jЦикл проверки строки NAME
{if (TABL[i]. NAME[j] == ' ')//Проверка символов на равенство «пробел» или нет.
{break; //Вывод из цикла если «пробел»
}.
else.
{cout"TABL[i]. NAME[j]; //Вывод символа если не равен «пробелу»
}.
}.
cout"endl;
flag = true;
}.
}.
}.
if (flag == false) cout"" Работников со стажем не найдено. «;//Вывод сообщения (сотрудников со стажем не найдено)
system («pause»);
}.