Обработка динамических массивов структур данных

Автор работы: Пользователь скрыл имя, 25 Ноября 2011 в 21:59, курсовая работа

Краткое описание

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
















Реализация алгоритма программы

Общая схема алгоритма

Содержание работы

Введение…………………………………………………………………….
Постановка задачи………………………………………………….......
Реализация алгоритма программы………………………………........
Общая схема алгоритма……………………………………………….
Алгоритм работы процедуры ввода данных………………………..
Алгоритм работы процедуры вывода данных...……………………….
Алгоритм работы процедуры вывода фамилии о работниках, чей стаж работы превышает значение, введенное с клавиатуры…………
Алгоритм процедуры сортировки………………………………………
2.6 Алгоритм работы процедуры «writef»………………………………...
2.7 Алгоритм работы процедуры «readf»…………………………………...
2.8 Алгоритм работы функции «main»……………………………………...
2.9 Стандартные процедуры и функции, используемые в программе……
3. Анализ результата…………………………………………………………
Заключение…………………………………………………………………...
Список литературы…………………………………………………………..
Приложение А………………………………………………………………..
Приложение Б………………………………………………………………...
Приложение В………………………………………………

Содержимое работы - 1 файл

моя прелесть.doc

— 1.96 Мб (Скачать файл)

for(int i=0;i<razmer_massiva;i++){

file.write((char *)&mass[i],sizeof(mass[i]));

};

file.close();

}; 

void readf(){

ifstream file,schet;

WORKER t;

razmer_massiva=0;

schet.open("WORKER.txt",ios::binary);

while(!schet.eof()){

schet.read((char *)&t,sizeof(t));

razmer_massiva++;

};

razmer_massiva--;

mass=new WORKER[razmer_massiva];

file.open("WORKER.txt",ios::binary);

for(int i=0;i<razmer_massiva;i++){

file.read((char *)&mass[i],sizeof(mass[i]));

};

file.close();

schet.close();

}; 
 

Приложение Б

(продолжение) 

int main(){

bool vyhod=false;

int i;

while(vyhod=true){

clrscr();

cout<<" "<<endl;

cout<<"VVEDITE 1 DLYA ZAPOLNENIYA MASSIVA S KLAVIATURY"<<endl;

cout<<"VVEDITE 2 DLYA ZAPOLNENIYA MASSIVA IZ FAILA"<<endl;

cout<<"VVEDITE 3 DLYA VYVODA IMEYUSHEGOSYA MASSIVA"<<endl;

cout<<"VVEDITE 4 DLYA SORTIROVKI IMEYUSHEGOSYA MASSIVA"<<endl;

cout<<"VVEDITE 5 DLYA VYVODA NA EKRAN INFORMACIYU O RABOTNIKAH CHEI STAZH PREVYSHAET UKAZANNYI"<<endl;

cout<<"VVEDITE 6 DLYA SOHRANENIYA MASSIVA V FAILE"<<endl;

cout<<"VVEDITE 7 DLYA VYHODA"<<endl;

cin>>i;

if(i==7){break;};

if(i==1){vvod();};

if(i==2){readf();};

if(i==3){vyvod();};

if(i==4){sortirovka();vyvod();};

if(i==5){vyvod_rabotnik();};

if(i==6){writef();};

};

}

 

Приложение  В

(обязательное) 

Меню пользователя:

VVEDITE 1 DLYA ZAPOLNENIYA MASSIVA S KLAVIATURY

VVEDITE 2 DLYA ZAPOLNENIYA MASSIVA IZ FAILA

VVEDITE 3 DLYA VYVODA IMEYUSHEGOSYA MASSIVA

VVEDITE 4 DLYA SORTIROVKI IMEYUSHEGOSYA MASSIVA

VVEDITE 5 DLYA VYVODA NA EKRAN INFORMACIYU O RABOTNIKAH CHEI STAZH PREVYSHAET UKAZANNYI

VVEDITE 6 DLYA SOHRANENIYA MASSIVA V FAILE

VVEDITE 7 DLYA VYHODA 

При выборе пункта 1 главного меню программа потребует  ввести количество записей:

Vvedite kolichestvo zapisey: 

Далее вводим данные: фамилию и инициалы работника, занимаемая должность, год поступления на работу:

Vvedite familiu i inicyaly  2 rabotnika:

Abbdulin V.L.

Vvedite dolzhnost'  2 rabotnika:

student

Vvedite god postupleniya na rabotu  2 rabotnika:

2007 

При выборе пункта 2 главного меню программа будет считывать данные с файла, но перед этим пользователю необходимо сохранить данные в файл с помощью пункта 6 главного меню. 

 

Приложение  В

(продолжение) 

При выборе пункта 3 главного меню программа распечатает  имеющийся массив:

Vash massiv

Esirkepov M.E.

student

2008

Abbdulin V.L.

student

2007

Shulgin A.A.

student

2007

Tupikov S.D.

student

2006

Coi P.L.

student

2006

Gorodnik M.L.

student

2008

Li M.I.

student

2005

Petrov P.P.

student

2008

Ivanov D.G.

student

2009

Darbuzov A.D.

student

2008

Для продолжения нажмите любую клавишу . . .

 

Приложение  В

(продолжение) 

При выборе пункта 4 главного меню программа сортирует  в алфавитном порядке  имеющийся  массив и выводит его на экран:

Vash massiv

Abbdulin V.L.

student

2007

Coi P.L.

student

2006

Darbuzov A.D.

student

2008

Esirkepov M.E.

student

2008

Gorodnik M.L.

student

2008

Ivanov D.G.

student

2009

Li M.I.

student

2005

Petrov P.P.

student

2008

Shulgin A.A.

student

2007

Tupikov S.D.

student

2006

Для продолжения  нажмите любую клавишу . . . 

При выборе пункта 5 главного меню программа потребует ввести стаж:

Vvedite stazh:

 

Приложение  В

(продолжение) 

Если мы введем 3, то программа выдаст список тех, у  кого стаж работы превышает это значение:

Vvedite stazh:

3

Coi

Li

Tupikov

Для продолжения  нажмите любую клавишу . . . 
 

При выборе пункта 6 главного меню программа сохранит массив в файле. 

При выборе пункта 7 главного меню программа завершит свою работу. 

Информация о работе Обработка динамических массивов структур данных