Срочно! написать программу на структуры...

  • Автор темы Wolt111
  • Дата начала
W

Wolt111

Гость
#1
Написать программу для обработки информации о сотрудниках фирмы. Информация включает в себя:
ФИО сотрудника.
Год рождения.
Пол.
Должность.
Срок работы в фирме.
Заработная плата.
Программа должна позволять пользователю:
Считывать данные с клавиатуры и заносить их в файл.
Считывать данные из файла и выводить на экран список сотрудников женского пола, для которых срок работы в фирме меньше указанного.


Код:
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>


struct sotrydniki
{
unsigned int id;//Идентификатор элемента
unsigned int next;//Идентификатор следующего элемента
unsigned int number;//Номер сотрудника
char nam[15]; // Имя сотрудника 
char fam[20]; // Фамилия сотрудника
char otch[20]; // Отчество сотрудника
char birthday[5];// год рождения
char sex[20];// пол
char doljnost[20];// должность
};

sotrydniki * sotrydniki_1;//Список
unsigned int num_;//Кол-во элементов списка

//Процедура ввода данных
void InputData()
{
int result;
unsigned int num;

//Запрашиваем кол-во сотрудников
//Далее используем подобные циклы для возращения к вводу при некорректных данных
do
{
printf("\nВведите количество сотрудников:");
result=scanf("%u",&num);
if(!result)
{
printf("\nОшибка!\n");
//Чистим буфер ввода
fflush(stdin);
}
}while(!result);
//Цикл ввода сотрудников
while(num)
{

//динамически меняем размер списка при добавлении нового элемента
sotrydniki_1=( sotrydniki*)realloc(sotrydniki_1,(num_ sotrydniki_1+1)*sizeof(sotrydniki)+1 );
if(sotrydniki_1!=NULL)
{
//присваеваем идентификатор элементу
sotrydniki_1[num_sotrydniki_1].id=num_ sotrydniki_1;
//связываем список
if(num_ sotrydniki_1) sotrydniki_1 [(num_ sotrydniki_1-1)].next= sotrydniki_1 [num_ sotrydniki_1].id;

//увеличиваем количество записей
num_ sotrydniki_1++;

//ввод номера сотрудника
//зацикливаем если некорректный ввод
do
{
printf("\nВведите номер сотрудника:");
result=scanf("%u",&sotrydniki_1[(num_ sotrydniki_1-1)].number);
if(!result){printf("\nНеверный номер!\n");fflush(stdin);}
}while(!result);


//ввод имени и фамилии сотрудника
printf("Введите имя сотрудника:");
scanf("%s",& sotrydniki_1 [(num_ sotrydniki_1-1)].nam);
printf("Введите фамилию сотрудника:");
scanf("%s",& sotrydniki_1 [(num_ sotrydniki_1-1)].fam);
printf("Введите отчество сотрудника:");
scanf("%s",& sotrydniki_1 [(num_ sotrydniki_1-1)].otch);
printf("Введите год рождения сотрудника:");
scanf("%s",& sotrydniki_1 [(num_ sotrydniki_1-1)]. birthday);
printf("Введите пол сотрудника:");
scanf("%s",& sotrydniki_1 [(num_ sotrydniki_1-1)].sex);
printf("Введите должность сотрудника:");
scanf("%s",& sotrydniki_1 [(num_ sotrydniki_1-1)]. doljnost);



}
num--;
}
}

//Процедура вывода всех элементов списка
void ListAll()
{
//если кол-во элементов - 0 - выводим сообщение
if(!num_ sotrydniki_1){printf("\nСписок пуст!\n");}
else
{
unsigned int num=0;
//иначе - вывод списка в цикле
while(num<num_sotrydniki_1)
 
W

Wolt111

Гость
#2
помогите осуществить :Срок работы в фирме.
Заработная плата. Считывать данные из файла и выводить на экран список сотрудников женского пола, для которых срок работы в фирме меньше указанного.
 

xKlonx

Well-Known Member
Lotus team
10.09.2009
410
0
#3
rrrFer
так Wolt111 вроде какой то код выложил,а вы цитатами его....
 
E

etc

Гость
#4
Так а что тогда автору надо? Код есть, можно сдавать..
 

xKlonx

Well-Known Member
Lotus team
10.09.2009
410
0
#5
Wolt111 помогите осуществить :Срок работы в фирме.
Заработная плата. Считывать данные из файла и выводить на экран список сотрудников женского пола, для которых срок работы в фирме меньше указанного.
 
E

etc

Гость
#6
Разрешите выполнять?

Добавлено: А этож форум для двоешников, тогда ладно, тут можно и не пробовать самому... :)