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

Лабораторная работа №7

Тема: структуры.

Цель работы: Знакомство и получение навыков обработки структурных данных и массивов структур на языке С++.

Задание : Структура FLAT, поля: адрес, количество комнат, общая площадь, стоимость квадратного метра. Поиск двухкомнатной квартиры в пределах заданной суммы.

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

#include <iostream.h>

#include <string.h>

#include <conio.h>

const int L=31;

struct flat

{

char adr [L];

int kk;

int plo;

int skm;

};

struct gruppa

{

char adr [L];

int kk;

int plo;

int skm;

};

void input(flat x[ ],int n);

void output(flat x[ ],int n);

void outputgr(gruppa y[ ],int n);

void input(flat x[ ],int n)

{int i;

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

{

cout<<"adress";

cin>>x[i].adr;

cout<<"kol komnat";

cin>>x[i].kk;

cout<<"obch plochad";

cin>>x[i].plo;

cout<<"stoim kv metra";

cin>>x[i].skm;

cout<<endl;

}

}

void output(flat x[ ],int n)

{

int i;

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

cout << i + 1 <<" "<< x[i].adr <<" "<< x[i].kk <<" "<< x[i].plo <<" "<< x[i].skm << endl;

}

void outputgr(gruppa y[ ],int n)

{

int i;

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

cout << i + 1 <<" "<< y[i].adr <<" "<< y[i].kk <<" "<< y[i].plo <<" "<< y[i].skm << endl;

}

void main()

{

clrscr();

const int N=100;

flat a[N];

gruppa b[N];

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

{

a[i].adr[0] = NULL;

a[i].kk = 0;

a[i].plo = 0;

a[i].skm = 0;

b[i].adr[0] = NULL;

b[i].kk = 0;

b[i].plo = 0;

b[i].skm = 0;

}

int i, k, s, m, v;

cout<<"kol kvartir";

cin>>m;

input(a,m);

cout<<"ishodn massiv";

output(a,m);

cout<<"vvedite stoim";

cin>>s;

k=0;

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

{

v=a[i].plo*a[i].skm;

if((a[i].kk == 2) && (v<=s))

{

strcpy (b[k].adr,a[i].adr);

k++;

}

}

cout<<"perechen";

outputgr(b,k);

getch();

}

Соседние файлы в папке Лабораторная работа №7