Прямий доступ та хешування. Організація даних у вигляді таблиць прямого доступу та хешованих таблиць, страница 4

                         }

            }

            void Search()

            {            Stud *ptr;

                          int pos;

                          char *str;

                          cout<<"\nInput string\n";

                          gets(str);                               // рядок, що вводиться

                          pos=Kesh(str);                      // обчислення номера списку для прізвища

                          ptr=p[pos]->curr;

                          if(ptr)

                        {            while((strcmp(ptr->name,str))&&(ptr))

                                      ptr=ptr->next;

                                      if(ptr)

                                      {        cout<<" is present on "<<pos<<" string\n";

                                                return;

                                       }  else

                                       {       cout<<str<<"  is absent\n";

                                                return;

                                       }

                           }

                         }

            void Death()

            {          Stud *ptr;

                         for(int i=0;i<RAZM;i++)

                        {   ptr=p[i]->curr;

                             while(ptr)

                           {       ptr=ptr->next;

                                    delete p[i]->curr;

                                    p[i]->curr=ptr;

                           }

                        }

               }

 void Update_File()

{          Stud *ptr;

             int len,o,i;

             char c;

             FILE *f;

             cout<<"Do you realy want to Update input File (y/n)\n";

             c=getch();

             if(c= ='n')

            return;

             if(c=='y')

             {           if((f=fopen("kesh.txt","w+t"))==NULL)

                         {            cout<<"Error writing           input file\n";

                                       getch();

                                       exit(1);

                         }

                                    for(i=0;i<RAZM;i++)

                        {            ptr=p[i];

                                       if(ptr)

                                     {            ptr=p[i]->curr;

                                                   while(ptr)

                                                 {         fputs(ptr->name,f);

                                                            fputs("\n",f);

                                                            ptr=ptr->next;

                                                  }

                                      }

                          }

                           fclose(f);

            }          else

                        return;

}

            void Menu()

            {            char c;

                         do

                         {         cout<<"\n"<<"Input need number\n";

                                    cout<<"1 - Search\n";

                                    cout<<"2 - Insert\n";

                                    cout<<"3 - Delete\n";

                                    cout<<"4 - Show\n";

                                    cout<<"5 - Update file\n";

                                    cout<<"6 - Exit\n";

                                    c=getche();

                                    switch(c)

                        {

                           case '1': Search();clrscr();Show();break;

                           case '2':  printf("\nInput string for insert\n");Insert();clrscr();Show();break;

                           case '3': printf("\nInput string for delete\n");Del();clrscr();Show();break;

                           case '4': clrscr();Show();break;

                           case '5': clrscr();Update_File();break;

                           case '6': return;cout<<"\nExit";break;

                           default: cout<<" - Error of input";getch();clrscr();Show();

                          }

                        }while(c!=28);

            }