ортом не знайдено! );
}
//-----------------------------------------
/* Перегляд елементів хеш-таблиці */view_hash_elements (struct NodeHash ** hashtable)
{* p; count=0; (int i=0; i lt; 97; i ++)
{= * (hashtable + i); (strcmp (p- gt; passport, 0000-000000 )!=0)
{( № паспорта:% s nФІО:% s Nгод народження:% i nАдрес:% s nЦель прибуття: %snnraquo;,p-gt;passport,p-gt;fio,p-gt;birthdayyear,p-gt;adress,p-gt;target);++;(p-gt;next==0) break;=p- gt; next;
}
} (count == 0) printsk ( nДанние отсутсвуют );
}
//-----------------------------------------
/* Очищення хеш-таблиці */clear_hash_table (struct NodeHash ** hashtable)
{* p, * p1, * p2; level=0; (int i=0; i lt; 97; i ++)
{= (* (hashtable + i));=0; (p- gt; next == 0 amp; amp; p- gt; birthdayyear!=0)//якщо елемент єдиний
{(p-gt;adress,laquo; raquo;);gt;birthdayyear=0;(p-gt;fio,laquo; raquo;);(p-gt;passport,laquo;0000-000000raquo;);(p-gt;target,laquo; raquo;);;
}
{= p- gt; next; (p2!=0)
{(level == 0)
{(p-gt;adress,laquo; raquo;);gt;birthdayyear=0;(p-gt;fio,laquo; raquo;);(p-gt;passport,laquo;0000-000000raquo;);(p-gt;target,laquo; raquo;);gt;next=0;++;
}
{= p2;=p2- gt; next; (p1); ++;
}
}
}
}
}
//-----------------------------------------
/* Пошук в хеш-таблиці по фио */findfio_hash_table (struct NodeHash ** hashtable, char * fio)
{* p; count=0; (int i=0; i lt; 97; i ++)
{= (* (hashtable + i)); (strcmp (p- gt; passport, 0000-000000 )!=0)
{(strcmp (p- gt; fio, fio) == 0)
{( № паспорта:% s nФІО:% s n n , p- gt; passport, p- gt; fio); ++;
} (p- gt; next == 0);=p- gt; next;
}
} (count == 0) printsk ( Співпадінь не знайдене. );
}
//-----------------------------------------
/* пошук в хеш-таблиці і списку по паспорту */findpassport_hash_table (struct NodeHash ** hashtable, char * passport, struct element * pbegin)
{* p; element * pv=pbegin; count=0; (int i=0; i lt; 97; i ++)
{= (* (hashtable + i)); (strcmp (p- gt; passport, 0000-000000 )!=0)
{(strcmp (p- gt; passport, passport) == 0)
{( № паспорта:% s nФІО:% s Nгод народження:% i nАдрес:% s nЦель прибуття:% s n n , p- gt; passport , p- gt; fio, p- gt; birthdayyear, p- gt; adress, p- gt; target); ++;
} (p- gt; next == 0);=p- gt; next;
}
} (count == 0)
{( Співпадінь не знайдене. ) ;;
} (strcmp ((pbegin) - gt; startdate, 00.00.0000 ) == 0)
{( Ні заселених зареєстрованих постояльців. ) ;;
} (pv!=0)
{(strcmp (pv- gt; passport, passport) == 0) ( nКліент зареєстрований у номері:% s raquo ;, pv- gt; Number);
(pv)=(pv) - gt; next;
}
}
//-----------------------------------------
/* Пошук збігів введеного паспорта та паспортів в хеш-таблиці */find_repeats (struct NodeHash ** hashtable, int hashkey, char * passport)
{NodeHash * tmp=* (hashtable + hashkey); (tmp!=0)
{(strcmp (tmp- gt; passport, passport) == 0) 1;=tmp- gt; next;
} 0;
}
Parserlib. h
/***************************************** *****
функції-парсери для перевірки валідності даних
****************************************** *****/pars_passport (char *);// Перевірка коректності номера паспортаpars_fio (char *);// Перевірка коректності ФІОpars_year (int);// Перевірка возрастаpars_number (char *);// Перевірка номери готельного номераpars_num (char *);// Перевірка, що всі символи лежать в діапазоні 0.9pars_bool (char *);// Перевірка y/n/yes/nopars_date (char *);// Перевірка датиprintsk (char * ,.);
parserlib. cpp