Описать структуру с именем AEROFLOT - C (СИ) (156925)
Формулировка задачи:
1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
- название пункта назначения рейса;
- номер рейса;
- тип самолета.
2. Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть упорядочены по возрастанию номера рейса;
- вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры;
- если таких рейсов нет, выдать на дисплей соответствующее сообщение.
Код С
подскажите в чем ошибка , если можно исправьте
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j;
int k;
int min=0;
struct aeroflot
{
char *punkt[20];
char *tip[20];
int *nomer[10];
}x[7];
for(i=0;i<3;i++)
{printf("Dannie o smalete %d \n",i+1);
*x[i].punkt=(char*)malloc(20*sizeof(char)); //выделение памяти
printf("Vvedite nazvanie punkta naznacheniya\n");
scanf("%s",&x[i].punkt);
*x[i].nomer=(int*)malloc(10*sizeof(int));
printf("Vvedite nomer reysa\n");
scanf("%d",&x[i].nomer);
*x[i].tip=(char*)malloc(20*sizeof(char));
printf("Vvedite tip samoleta\n");
scanf("%s",&x[i].tip);
}
for(i=0;i<3;i++);
{
k=i;
min=**x[i].nomer ;
for(j=i+1;j<3;j++)
{
if (**x[j].nomer<min)
{
k=j;
min=**x[j].nomer;
}
**x[k].nomer=**x[i].nomer;
**x[i].nomer=min;}
}
for(i=0;i<3;i++)
{
printf("Punkt naznacheniya-%s\n",x[i].punkt);
printf("Nomer reysa-%d\n",*x[i].nomer);
printf("Tip samoleta-%s\n",x[i].tip);
}
return 0;
}Решение задачи: «Описать структуру с именем AEROFLOT»
textual
Листинг программы
printf("Vvedite punkt naznacheniya:");
char dest[20];
scanf("%s",dest);
for (int i=0; i<3;++i)
{
if (!strcmp(dest,x[i].punkt))
{
printf("\nNomer reysa-%d\n",x[i].nomer);
printf("Tip samoleta-%s\n",x[i].tip);
}
}
Объяснение кода листинга программы
- Программа запрашивает у пользователя ввод пункта назначения.
- Введенный пункт назначения сохраняется в массив типа char с именем dest.
- Создается цикл, который выполняется три раза.
- Внутри цикла происходит проверка, совпадает ли введенный пункт назначения с одним из пунктов, хранящихся в структуре x.
- Если пункт назначения совпадает с одним из пунктов в структуре x, то выводится номер рейса и тип самолета, соответствующие этому пункту.