Программирование на C / C++ / Лабораторная работа №7 / листинг 1
.docЛабораторная работа №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();
}