Всем привет! Вот условие задачи:
Известна информация о сотрудниках некоторого предприятия:
-Фамилия
-Год рождения
-Должность
-Стаж
-Оклад
Сформировать двоичный файл, записав в него всю известную информацию о каждом сотруднике. Отсортировать файл в алфавитном порядке. Определить количество пенсионеров (старше 60 лет), и количество молодых специалистов (моложе 25 лет).
Я написал вроде как прогу, но она не работает почему то) Может кто знает что исправить нужно, или напишет свой вариант?
вот прога :
- #include<iostream>
#include<string>
using namespace std;
void main()
{
struct sot
{
char name[6];
int data;
char dolj[6];
int staj;
int okl;
};
int n=3,i,j,sump=0,summ=0;
sot t;
sot *a;
FILE *f1;
f1=fopen("D://abc1.dat","wb");
fwrite(&n,sizeof(int),1,f1);
for(i=0;i<n;i++)
{
cin>>a[i].name>>a[i].data>>a[i].dolj>>a[i].staj>>a[i].okl>>"/n";
fwrite(&t,sizeof(sot),1,f1);
}
fclose(f1);
FILE *f;
f=fopen("D://abc.dat","rb");
fread(&n,sizeof(int),1,f);
a=new sot[n];
fread(a,sizeof(sot),n,f);
for(i=0;i<n;i++)
{
cout<<a[i].name<<a[i].data<<a[i].dolj<<a[i].staj<<a[i].okl<<"/n";
if (2010-a[i].data>60)sump++;
if (2010-a[i].data<25)summ++;
}
fclose(f);
//Сортировка
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i;j++)
{
if(strcmp(a[j].name,a[j+1].name)>0)
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
cout<<endl<<a[i].name;
for(j=0;j<6;j++)
cout<<a[i].dolj[j]<<"\t";
for(i=0;i<n;i++)cout<<a[i].name<<a[i].data<<a[i].dolj<<a[i].staj<<a[i].okl<<"/n";
cout<<"summ molodej="<<summ<<"summ pensionerov="<<sump<<"\n";
}
}
Добавлено через 15 минут 18 секунд
Данные заносить примерно так:
-petrov 1950 injener 22 2500
кстате у кого если получится сделать, скидывайте вэбмани, я вам денег на пивас кину
Добавлено через 2 часа 28 минут 33 секунды
Ребята помогите, я заплачу денег!
Добавлено через 1 день 5 часов
УЖЕ СДЕЛАЛ ВСЁ, И ТЕПЕРЬ ПОХУЙ
![embarrasment](images/smilies/redface.gif)