Тема: Структури
Я не можу зрозуміти в чому код працює некоректно, допоможіть
1. Описати структуру з ім'ям WORKER, що містить наступні поля:
- прізвище і ініціали працівника;
- назва посади;
- рік надходження на роботу.
2. Написати програму, що виконує наступні дії:
- введення з клавіатури даних у масив, що складається з десяти структур типу WORKER;
- записи повинні бути розміщені за алфавітом;
- вивід на дисплей прізвищ працівників, чий стаж роботи в організації перевищує значення, введене з клавіатури;
- якщо таких працівників немає, вивести на дисплей відповідне повідомлення.
#include <iostream>
#include <conio.h>
#include <string.h>
#include <windows.h>
#include <clocale>
using namespace std;
struct worker
{
char pib[40];
char posada[40];
int year;
};
int main()
{
setlocale(LC_ALL,"Rus");
int stazh, st, flag;
char buf[40];
worker brig[10];
for (int i=0; i<10; i++)
{
cout<<"Анкета № "<<i+1<<"."<<endl;
cout<<"Прiзвище працiвника\t";
cin>> brig[i].pib;
cout<<"Назва посади\t";
cin>> brig[i].posada;
cout<<"Рiк надходження на роботу\t";
cin>> brig[i].year;
cout<<endl;
}
for (int j=0; j<10; j++)
{
for (int i=0; i<10; i++)
{
if (strcmp(brig[i].pib, brig[i+1].pib)>0)
{
strcpy(buf, brig[i].pib);
strcpy(brig[i].pib, brig[i+1].pib);
strcpy(brig[i+1].pib, buf);
}
}
}
cout<<"введiть стале значення стажу: ";
cin>>st;
for (int i=0; i<10; i++)
{
stazh=(2015-brig[i].year);
if (stazh>st)
{
flag=1;
cout<<brig[i].pib;
cout<<"\n";
}
}
if (flag==0)
cout<<"працiвникiв якi пiдходять пiд данi критерiї немає";
getch();
return 0;
}