Struct proizv

{char gorod[Lmax], zavod[Lmax], fam[Lmax];

};

Struct tvSet

{

char name[Lmax], color;

proizv pr;

int price, diag;

};

void input (tvSet *tv, int *k) //ввод массива телевизоров

{ int i;

do

{

printf("enter number of TV ");

scanf("%d", k); //k – указатель на количество структур

}

while (*k<=0 || *k>Kmax);

CLR; /* необходим пропуск символов до конца строки, т.к. дальше функция gets - читается строка */

for (i=0; i<*k; i++)

{

printf("TV # %d\n", i+1);

printf("Name: "); gets(tv[i].name);

printf("Price: "); scanf("%d", &tv[i].price);

printf("Diagonal size: "); scanf("%d", &tv[i].diag);

CLR; //цветной или ч\б обозначается одной буквой (ц или ч)

printf("Image color(c - means color): "); tv[i].color=getchar();

CLR; //пропуск символа ‘\n’

printf("City: "); gets(tv[i].pr.gorod);

printf("Factory: "); gets(tv[i].pr.zavod);

printf("Surname: "); gets(tv[i].pr.fam);

printf("\n");

}

printf("Input is over\n");

getchar();

}

//вывод массива телевизоров

void output (tvSet *tv, int k)

{

int i;

printf("list of TV sets: \n");

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

{

printf("TV # %d\n", i+1);

printf("Name: %s\n", tv[i].name);

printf("Price: %d\n", tv[i].price);

printf("Diagonal size: %d\n", tv[i].diag);

printf("Image color: %c\n", tv[i].color);

printf("City: %s\n", tv[i].pr.gorod);

printf("Factory: %s\n", tv[i].pr.zavod);

printf("Surname: %s\n", tv[i].pr.fam);

printf("Press any key to continue...\n");

Getchar();//ожидание нажатия клавиши

}

printf("End of list\n");

printf("Press any key to continue...\n");

}

//формирование массива городов (города в массиве не повторяются)

void search (tvSet *tv, char goroda[][Lmax], int k, int *kg)

{

int min=LONG_MAX, i, j;

for(i=0; i<k; i++) //поиск телевизора с минимальной ценой

if (tv[i].price<min) min=tv[i].price;

//формирование массива городов

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

if (tv[i].price==min) //если цена совпадает с минимальной

{

//проверка отсутствия города в массиве городов

for(j=0; j<*kg && strcmp(tv[i].pr.gorod, goroda[j]); j++);

if (j==*kg) //если отсутствует, запишем город в массив

strcpy(goroda[(*kg)++], tv[i].pr.gorod);

}

}

Main()

{

tvSet tv[Kmax];

int k, kg=0, i;

char goroda[Kmax][Lmax];

input(tv, &k); // ввод массива телевизоров


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: