pv; gt; next=pv;=pv;=pv- gt; next;=next- gt; next; ++;
}
}
}
//---------------------------------------
/* перевірка чи зареєстрований клієнт вже в цьому номері */check_registration (struct element * pbegin, char * passport, char * number)
{element * pv=pbegin; ((pv)!=0)
{(strcmp (pv- gt; passport, passport) == 0 amp; amp; (strcmp (pv- gt; Number, number) == 0))
{( Не можна заселити одного і того ж постояльця в один номер двічі ); 1;
}=pv- gt; next;
} 0;
}
//---------------------------------------
/* перевірка на спробу видалити зареєстрованого постояльця з бази */check_reg (struct element * pbegin, char * passport)
{element * pv=pbegin; ((pv)!=0)
{(strcmp (pv- gt; passport, passport) == 0) 1;=pv- gt; next;
} 0;
}
//---------------------------------------
/* Перевірка, чи є зареєстрований постоялець за запитом */find_number (struct element * pbegin, char * number)
{element * pv=pbegin; (pv!=0)
{(convertnum (pv- gt; Number) == atoi (number)) 1;=pv- gt; next;
} 0;
}
Main. cpp
/***************************************** *****
Курсова робота ПО ПРЕДМЕТУ САОД 2 КУРС 4 СЕМЕСТР
НА ТЕМУ: РЕЄСТРАЦІЯ постояльців В ГОТЕЛІ
****************************************** ****/
# define _CRT_SECURE_NO_WARNINGS
# include lt; stdio. h gt;
# include lt; conio. h gt;
# include lt; windows. h gt;
# include avl. h
# include hashtable. h
# include registration. h
# include parserlib. h
//----------------------------------------
/* Перетворення кодової таблиці для Windows */printsk (char * format,.)
{buf [+1000]; _ list ptr; (format, buf); _ start (ptr, format); (buf, ptr);
}
//----------------------------------------
/* меню */menu ()
{( Реєстрація постояльців в готелі n ); ( nВиберіте дію: n ); ( 1. Реєстрація нового постояльця n ); ( 2. Видалення даних про постояльця n ); ( 3. Перегляд всіх зареєстрованих постояльців n ); ( 4. Очищення даних про постояльців n ); ( 5. Пошук постояльця по № паспорта n raquo ;); ( 6. Пошук постояльця по ПІБ n ); ( 7. Додавання нового готельного номера n ); ( 8. Видалення відомостей про готельному номері n ); ( 9. Перегляд всіх наявних готельних номерів n ); ( 10. Очищення даних про готельних номерах n ); ( 11. Пошук готельного номера по № готельного номера n ); ( 12. Пошук готельного номера по обладнанню n ); ( 13. Реєстрація вселення постояльця n ); ( 14. Реєстрація виселення постояльця n ); ( 0. Вихід n );
} main ()
{H, choice, step=0; CountBads; CountFreeBads=- 1; CountRooms; status=0; status2; Number2; startdate [11]; enddate [11]; toilet; tmp [4] ; Number [4]; pass [12]; equipment [1000]; equip [1000]; NODE * Tree=(struct NODE *) malloc (sizeof (struct NODE));=NULL; element * pbegin=create ();
/*******************************
ініціалізіруем хеш-таблицю
********************************/hashkey=0; ** hashtable=( NodeHash **) malloc (97 * sizeof (NodeHash *)); (int i=0; i lt; 97; i ++)
{[i]=(NodeHash *) malloc (sizeof (NodeHash)); (hashtable [i] - gt; adress, 0 ); [i] - gt; birthdayyear= 0; (hashtable [i] - gt; fio, 0 ); [i] - gt; next=0; (hashtable [i] - gt; passport, 0000-000000 ); (hashtable [ i] - gt; target, 0 );
}
{( cls ); (); (stdin);=- 1; (% i raquo ;, amp; choice); (choice == 1)
{NodeHash * pv=new struct NodeHash; ( cls );
{( nВведіте № паспорта: ); (stdin); (% s , amp; pv- gt; passport);
} while (pars_passport (pv- gt; passport));=hash (pv- gt; passport); (find_repeats (hashtable, hashkey, pv- gt; passport))
{( nНевозможно зареєструвати двох постояльців з однаковими паспортами! );