Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
17.04.2015
Размер:
29.18 Кб
Скачать

Московский Государственный Университет Леса

ФЭСТ ВТ-11

Лабораторная работа №9.

Программирование на языках высокого уровня

Тема: “ Структуры ”

Выполнил: студент Музалёв Д.В.

Проверил : Ларионов Н.В.

Москва 2012.

Вариант 12

1. Описать структуру с именем NOTE, содержащую следующие поля:

• фамилия, имя;

• номер телефона;

• день рождения (массив из трех чисел).

2. Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа

NOTE; записи должны быть упорядочены но датам дней рождения;

• вывод на экран информации о человеке, номер телефона которого введен с

клавиатуры;

• если такого нет, выдать на дисплей соответствующее сообщение.

Листинг программы:

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

#include<dos.h>

#include<stdlib.h>

struct NOTE

{char fi[20];

char nt;

int dr[3];

}

spisok[8];

sort_function(const void *a,const void *b)

{return(strcmp((char *)a,(char *)b));

}

void sortirovka(NOTE *a)

{int i,j,f;

char list[8][100];

struct NOTE tmp[8];

for(i=0;i<4;i++)

strcpy(list[i],a[i].fi);

qsort((void *)list,4,sizeof(list[0]),sort_function);

for(i=0;i<8;i++)

for(j=0;j<8;j++)

if(stricmp(list[i],a[j].fi)==0)

{tmp[i]=a[j];

break;}

for(i=0;i<8;i++)

a[i]=tmp[i];

return;}

void main(void)

{clrscr;

for (int i=0;i<8;i++)

{clrscr();

cout<<"fi "<<i<<"\n";

cout<<"Vvedite familiy i imia: ";

cin>>spisok[i].fi;

cout<<"Vvedite nomer telefona: ";

cin>>spisok[i].nt;

cout<<"Vvedite datu rogdenia: ";

cin>>spisok[i].dr;

cout<<"\n";};

clrscr() ;

sortirovka(spisok);

for(i=0;i<8;i++)

cout<<"dr "<<i<<" : "<<spisok[i].dr<<"\n";

cout<<"\n";

getchar() ;

char *str;

cout<<"Vvedite nomer telefona abonenta : ";

cin>>str;

int k=0;

for (i=0;i<8;i++)

{if (stricmp(str,spisok[i].nt)==0)

{cout<<"Familia i imai: "<<spisok[i].fi<<"\n";

cout<<"data rogdenia: "<<spisok[i].dr<<"\n";

k++;};

}

if (k==0) cout<<"Takogo abonenta net";

getchar() ;

}