Ну все вроде все получилось: Код | #include "stdafx.h" #include "iomanip.h" #include "iostream.h" #include "stdio.h" #include "string.h"
class Zayavka_na_aviabilet { public: char punkt_naznacheniya[80]; int nomer_reisa; char familiya[80]; int data[10]; };
void main() { Zayavka_na_aviabilet f[10]; char ch='y'; int p=0,i=0, str1[10],str2[10]; while(ch=='y') { cout<<"\nVvedite punkt naznacheniya "; cin>>f[p].punkt_naznacheniya; cout<<"\nVvedite nomer reisa "; cin>>f[p].nomer_reisa; //номер рейса - только числа printf("\nVvedite familiyu i iniciali "); gets(f[p].familiya); cout<<"\nVvedite god= "; cin>>f[p].data[0]; cout<<"\n mesac= "; cin>>f[p].data[1]; //вводим месяц без "0" , например просто 3 cout<<"\n deni= "; cin>>f[p].data[2]; //вводим день тоже без "0" p++; //увеличиваем счетчик чтобы знать сколько всего записей cout<<"\nJelaete essho sdelati zayavku na aviabilet? (n/y)"; cin>>ch; //Продолжаем вводить или выходим } cout<<"\nVvedite pervii interval: "; cout<<"\nVvedite god= "; cin>>str1[0]; cout<<"\n mesac= "; cin>>str1[1]; cout<<"\n deni= "; cin>>str1[2]; cout<<"\nVvedite vtoroi interval: "; cout<<"\nVvedite god= "; cin>>str2[0]; cout<<"\n mesac= "; cin>>str2[1]; cout<<"\n deni= "; cin>>str2[2]; cout<<"\n Punkt naznacheniya Nomer reisa Familiya Data vileta\n\n"; for(i=0; i<p; i++) { if((str1[0]<=f[i].data[0]) && (str2[0]>=f[i].data[0])) {goto label1;} else{continue;} label1: { if((str1[0]==f[i].data[0]) && (str2[0]==f[i].data[0])) {if ((str1[1]<=f[i].data[1]) && (str2[1]>=f[i].data[1])) {goto label2;} } if((str1[0]<f[i].data[0]) && (str2[0]>f[i].data[0])) {goto label3;} if(str1[0]==f[i].data[0]) {if(str1[1]<=f[i].data[1]) {if(str2[0]>f[i].data[0]) {goto label2;} }} if(str2[0]==f[i].data[0]) {if(str2[1]>=f[i].data[1]) {if(str1[0]<f[i].data[0]) {goto label2;} }} continue; } label2: { if((str1[1]==f[i].data[1]) && (str2[1]==f[i].data[1])) {if ((str1[2]<=f[i].data[2]) && (str2[2]>=f[i].data[2])) {goto label3;} } if(str1[1]==f[i].data[1]) {if(str1[2]<=f[i].data[2]) {if(str2[1]>f[i].data[1]) {goto label3;} }} if((str1[1]<f[i].data[1]) && (str2[1]>f[i].data[1])) {goto label3;} if(str2[1]==f[i].data[1]) {if(str2[2]>=f[i].data[2]) {if(str1[1]<f[i].data[1]) {goto label3;} }} continue; } label3: { cout<<setw(12)<<f[i].punkt_naznacheniya <<setw(16)<<f[i].nomer_reisa <<setw(22)<<f[i].familiya <<setw(13)<<f[i].data[0]<<"."<<f[i].data[1]<<"."<<f[i].data[2] <<endl<<endl; } } }
|
|