>
# include parserlib. h
# include lt; string. h gt;
//----------------------------------------
/* перевірка коректності номера паспорта */pars_passport (char * passport)
{(strcmp (passport, 0000-000000 ) == 0)
{( nНевозможний номер паспорта! ); 1;
} ((* (passport + 4)!= - ) | (strlen (passport)!=11) | (strlen (passport) == 0))
{( nНекорректний формат паспорта ); 1;
} (int i=0; i lt; 11; i ++) (i == 4) continue; if (! (* (passport + i) gt;= 0 amp; amp; * (passport + i) lt;= 9 ))
{( nНекорректний формат паспорта ); 1;
} 0;
}
//----------------------------------------
/* перевірка коректності введеного ПІБ */pars_fio (char * fio)
{(strlen (fio) == 0) 1; (int i=0; i lt; 100; i ++)
{(i == strlen (fio)) break; (((* (fio + i) gt;= A amp; amp; * (fio + i) lt;= laquo ; z )) || (* (fio + i) == ) || (* (fio + i) == - ) || (* (fio + i) == laquo ; '));
{( nНекорректний введення ПІБ ); 1;
}
} 0;
}
//-----------------------------------------
/* Перевірка коректності введеного року народження */pars_year (int year)
{(year lt;=1900 || year gt;=2010)
{( nНевозможний вік! ); 1;
} 0;
}
//----------------------------------------
/* перевірка коректності введеного номера готельного номера */pars_number (char * number)
{(strlen (number)!=4)
{( nНекорректний номер ); 1;
} (* number!= l amp; amp; * number!= p amp; amp; * number!= o amp; amp; * number!= m )
{( nНекорректний тип номера ); 1;
} (int i=1; i lt; 4; i ++) ((* (number + i) gt;= 0 ) amp; amp; (* (number + i) lt; = 9 ));
{( nНекорректний номер ); 1;
} 0;
}
//----------------------------------------
/* перевірка коректності введеного числа */pars_num (char * number)
{(strlen (number) == 0) 1; (unsigned int i=0; i lt; strlen (number); i ++)
{((* (number + i) gt;= 0 ) amp; amp; (* (number + i) lt;= 9 ));
{( nНекорректний введення ); 1;
}
} 0;
}
//----------------------------------------
/* перевірка коректності yes/no/y/n */pars_bool (char * letter)
{(strlen (letter) == 0) 1; (strcmp (letter, y )!=0 amp; amp; strcmp (letter, n )!=0 amp ; amp; strcmp (letter, yes ) amp; amp; strcmp (letter, no ))
{( Невірний введення ); 1;
} 0;
}
//----------------------------------------
/* перевірка коректності введеної дати */pars_date (char * date)
{countpoints=0; (strlen (date) == 0) 1; (strlen (date)!=10)
{( nНекорректний введення ); 1;
} (unsigned int i=0; i lt; strlen (date); i ++)
{((* (date + i) gt;= 0 ) amp; amp; (* (date + i) lt;= 9 ) || * (date + i) == laquo ;. )
{(* (date + i) == laquo ;. ) countpoints ++ ;;
}
{( nНекорректний введення ); 1;
}
} (countpoints gt; 2)
{( nНекорректний введення ); 1;
} (* (date + 2)!= laquo ;. amp; amp; * (date + 5)!= laquo ;. )
{( nНекорректний введення ); 1;
} 0;
}
Registration. h
/***************************************** *****
Робота з одинзв'язного списком,
функціональність: реєстрація вселення/виселення постояльця
****************************************** *****/
/* структура елемента списку */element
{passport [12];// № паспортаNumber [5];// № готельного номераstartdate [11];// Дати заїзду та виїзду в форматі dd. mm. yyyyend...