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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

Факультет электроники и системотехники.

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

по программированию на языке высшего уровня С

Тема: «Структуры»

Выполнил студент: Галкин И.В. ВТ-11

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

Москва 2011

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

• название товара;

• название магазина, в котором продается товар;

• стоимость товара в руб.

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

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

PRICE; записи должны быть размещены в алфавитном порядке по названиям

магазинов;

• вывод на экран информации о товарах, продающихся в магазине, название

которого введено с клавиатуры;

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

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

#include<dos.h>

#include<stdlib.h>

struct PRICE

{char tovar[20];

char mag[20];

int stoim;

}

spisok[8];

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

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

}

void sortirovka(PRICE *a)

{int i,j,f;

char list[8][100];

struct PRICE tmp[8];

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

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

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].tovar)==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<<"Tovar ь "<<i<<"\n";

cout<<"Vvedite nazvanie tovara: ";

cin>>spisok[i].tovar;

cout<<"Nazvanie magazina, v kotorom tovar prodaetsya: ";

cin>>spisok[i].mag;

cout<<"Stoimost tovara: ";

cin>>spisok[i].stoim;

cout<<"\n";};

clrscr() ;

sortirovka(spisok);

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

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

cout<<"\n";

getchar() ;

char *str;

cout<<"Vvedite nazvanie tovara, informaciyu o kotorom vi hotit uznat: ";

cin>>str;

int k=0;

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

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

{cout<<"Magazin: "<<spisok[i].mag<<"\n";

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

k++;};

}

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

getchar() ;

}