Описать структуру с именем AEROFLOT, содержащую следующие поля:название пункта назначения рейса -номер рейса -тип самолета. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT- записи должны быть упорядочены по возрастанию номера рейса- вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры, если таких рейсов нет, выдать на дисплей соответствующее сообщение.- C++(Си)

    #include 
    #include 
    #include 
    using namespace std;
     
    int main()
    {
    	SetConsoleCP (1251);
    	SetConsoleOutputCP (1251);
     
    	char kuda[30];//Промежуточные значения пунктов назначения
    	int reis;     //при упорядочивании
    	char airtype[10];
     
    	int i,j;
    	char punkt[30];//для ввода пункта назначения с клавиатуры
     
    	struct AEROFLOT
    	{
    		char kudaletim[30];
    		int nomerreisa;
    		char planetype[10];
    	};
    	AEROFLOT Bort[7];
     
    //вводим значения структуры AEROFLOT
    	for (int i=0; i<=6; i++)
    	{
    		cout<<"Введите пункт назначения рейса "<<(i+1)<<" \n";
    			cin>>Bort[i].kudaletim;
    		cout<<"Введите номер рейса\n";
    			cin>>Bort[i].nomerreisa;
    		cout<<"Введите тип самолёта\n";
    			cin>>Bort[i].planetype;
    	}
    //Упорядочивание по номерам рейса
    	for( i=0; i<=5;i++)
    		for( j=i+1; j<=6;j++)
    			if(Bort[i].nomerreisa>Bort[j].nomerreisa)
    			{
    			    strcpy(kuda, Bort[i].kudaletim );//массивы строк сравниваются так!
    				reis= Bort[i].nomerreisa;        //целые числа сравниваются так
    				strcpy(airtype, Bort[i].planetype);
    				strcpy(Bort[i].kudaletim, Bort[j].kudaletim);
    				Bort[i].nomerreisa= Bort[j].nomerreisa;
    				strcpy(Bort[i].planetype, Bort[j].planetype);
    				strcpy(Bort[j].kudaletim, kuda);
    				Bort[j].nomerreisa=reis;
    				strcpy(Bort[j].planetype , airtype);
    			}
    //Вывод упорядоченных по номерам рейса данных
    	cout<<"-Пункт назначения-    -№ рейса-   -тип самолёта-\n";
    	for(int i=0; i<=6;i++)
             cout<<Bort[i].kudaletim<<"  "<<Bort[i].nomerreisa<<"  "<<Bort[i].planetype<<"\n";
    //Вывод рейсов, летящих до введённого пункта назначения
    	metka:int z;
    	z=0;
    	cout<<"Введите пункт назначения\n";
    	cin>>punkt;
    	for(int i=0; i<=6;i++)
    		if(strcmp(Bort[i].kudaletim,punkt)==0)
    		{
    		cout<<Bort[i].kudaletim<<"  "<<Bort[i].nomerreisa<<"  "<<Bort[i].planetype<<"\n";
    		z=1;	
    		}	
     
    	if(!z) cout<<"Рейсов по вашему запросу не найдено\n\n";
     
    	cout<<"Хотите ввести другой Пункт назначения?\n";
    	cout<<" Если да, введите - yes; если нет, введите - что угодно \n";
    	char qwert[]="yes";
    	char qwe[30];
    	cin>>qwe;
    	if(strcmp(qwe,qwert)==0) goto metka;
     
    	return 0;
    }
    

    Leave a Comment