date [11]; element * next;
}; element * create (void);// Ініціалізірованіе ноди спіскаadd_registration (struct element **, char *, char *, char *, char *);// Додавання елемента в список (вселення постояльця) del_registration (struct NODE *, struct element **, char *, char *);// Видалення елемента зі списку (виселення постояльця) bubble_sort (struct element **);// Сортування пузирькомcheck_registration (struct element *, char *, char *);// Перевірка на подвійну реєстрацію одного постояльця в один номерcheck_reg (struct element *, char *);// Перевірка на спробу видалити зареєстрованого постояльця з базиfind_number (struct element *, char *);// Перевірка заселеності номераprintsk (char * ,.);
registration. cpp
# define _CRT_SECURE_NO_WARNINGS
# include lt; string. h gt;
# include lt; windows. h gt;
# include lt; stdio. h gt;
# include lt; conio. h gt;
# include registration. h
# include avl. h
//-----------------------------------------
/* Додавання нового елемента в список. */add_registration (struct element ** pbegin, char * passport, char * Number, char * startdate, char * enddate)
{element * tmp=* pbegin;
/* Створення першого елемента в списку. */(strcmp ((* pbegin) - gt; passport, ffff-ffffff ) == 0)
{((* pbegin) - gt; passport, passport); ((* pbegin) - gt; Number, Number); ((* pbegin) - gt; startdate, startdate); (( * pbegin) - gt; enddate, enddate) ;;
}
///--------------------------------- element * pv=new struct element;// Створюємо новий елемент (pv- gt; passport, passport);// Заповнюємо поля информацией(pv-gt;Number,Number);(pv-gt;startdate,startdate);(pv-gt;enddate,enddate);gt;next =0;
/* Вставка в кінець списку. */(tmp- gt; next!=0)=tmp- gt; next; gt; next=pv ;;
}
//---------------------------------------
/* Створення порожнього списку. */element * create (void)
{element * pv=new struct element;(pv-gt;passport,laquo;ffff-ffffffraquo;);(pv-gt;Number,laquo;l000raquo;);(pv-gt;startdate,laquo;00.00.0000raquo;);(pv-gt;enddate,laquo;00.00.0000raquo;);gt;next =0; pv;
}
//---------------------------------------
/* Видалення елемента списку */del_registration (struct NODE * Tree, struct element ** pbegin, char * passport, char * number)
{element * pv=* pbegin, * tmp, * prev=* pbegin; CountFreeBads, status; (pv!=0)
{((strcmp (pv- gt; passport, passport) == 0) amp; amp; (strcmp (pv- gt; Number, number) == 0))
{_ numbers (Tree, number, amp; status, amp; CountFreeBads, 1);// Збільшуємо кількість вільних місць в номері ((* pbegin) - gt; next == 0)//якщо елемент у списку єдиний
{(pv-gt;passport,laquo;ffff-ffffffraquo;);(pv-gt;Number,laquo;l000raquo;);(pv-gt;startdate,laquo;00.00.0000raquo;);(pv-gt;enddate,laquo;00.00.0000raquo;);(laquo;nokraquo;);
_ getch () ;;
} if (pv- gt; next == 0)//якщо елемент списку останній
{ gt; next=0; (pv); ( nok );
_ getch () ;;
} if (pv == (* pbegin))//видалення першого елемента
{= (* pbegin);
(* pbegin)=(* pbegin) - gt; next; (tmp); ( nok ) ;;
}//видалення з середини
{= pv; gt; next=pv- gt; next; (tmp); ( nok );
_ getch () ;;
}
}=pv;=pv- gt; next;
} ( nДанние введені неправильно або такого запису немає! );
_ getch ();
}
//---------------------------------------
/* Сортування списку бульбашкою */bubble_sort (struct element ** pbegin)
{status=1; replace=0; i=1; element * pv=* pbegin, * tmp, * prev=* pbegin, * next=(* pbegin) - gt; next; ( pv!=0)
{++;=pv- gt; next;
} ++; (status == 1)
{= * pbegin;=(* pbegin) - gt; next;=0; -;=1; (i lt; replace)
{(convertnum (pv- gt; Number) gt; convertnum (next- gt; Number))
{ gt; next=next- gt; next; gt; next=pv;=next;=pv;=tmp;=1;
} (i == 1)
* pbegin=...