数据结构课程设计-C++通讯录管理系统设计 第2页

 

switch(response)
 {
 case 'a':
   cin.ignore(80,'\n');
      cout<<"请输入要删除的人的姓名:";
      char nam[15];
      cin.getline(nam,strlen(nam));
   if(IsEmpty())
    cout<<"没有记录系统为空!";
   else
   {
    
     Item<type> * pf=Head;
     Item<type> * pt=pf->next;
     while(pf&&(pf->data).IsThisName(nam))
     {
      (pf->data).print();
      cout<<"确定要删除?Y/N..";
      cin>>response;
      cin.ignore(80,'\n');
      if(response=='y'||response=='Y')
      {
       Head=Head->next;
       pf=Head;
      }
      if(pf==0) return;
     }
     pt=pf->next;
     while(pt)
     {

      if((pt->data).IsThisName(nam))
      {
       (pt->data).print();
          cout<<"确定要删除?Y/N..";
          cin>>response;
          cin.ignore(80,'\n');
          if(response=='y'||response=='Y')
       {
          pf->next=pt->next;
          pt=pf->next;
       }
          else
       {
          pf=pf->next;
          pt=pf->next;
       }
      }
     }
   }
   break;
 case 'b':
   cin.ignore(80,'\n');
      cout<<"请输入要删除的人的电话号码:";
      char pho[15];
      cin.getline(pho,strlen(pho));
   if(IsEmpty())
    cout<<"没有记录系统为空!";
   else
   {
    
     Item<type> * pf=Head;
     Item<type> * pt=pf->next;
     while(pf&&(pf->data).IsThisPho(pho))
     {
      (pf->data).print();
      cout<<"确定要删除?Y/N..";
      cin>>response;
      cin.ignore(80,'\n');
      if(response=='y'||response=='Y')
      {
       Head=Head->next;
       pf=Head;
      }
      else
      {
       pf=pf->next;
       pt=pf->next;
      }
     }
         
 
     while(pt)
     {

      if((pt->data).IsThisPho(pho))
      {
       (pt->data).print();
          cout<<"确定要删除?Y/N..";
          cin>>response;
          cin.ignore(80,'\n');
          if(response=='y'||response=='Y')
       {
          pf->next=pt->next;
          pt=pf->next;
       }
          else
       {
          pf=pf->next;
          pt=pf->next;
       }
      }
     }
   }
   break;
 }
 


template <class type>
void List<type>::print()
{
 int cnt=0;
 if(Head==0)
 {
  cout<<"empty\n";
 }
 Item<type> * pt=Head;
 while(pt)
 {
  cout<<"No."<<++cnt<<endl;
  (pt->data).print();
  pt=pt->next;
 }
 cout<<"\n\n";
 
}
template <class type>
void List<type>::modefy()
{
 char response;
 cout<<"请选择修改方式..a.通过姓名b.通过电话号码..";
 cin>>response;
 cin.ignore(80,'\n');
 switch(response)
 {
 case 'a':
      cout<<"请输入要修改的人的姓名:";
      char nam[15];
      cin.getline(nam,strlen(nam));
   if(IsEmpty())
    cout<<"没有记录系统为空!";
   else
   {
    Item<type> * pt=Head;
    while(pt)
    {

     if((pt->data).IsThisName(nam))
     {
      (pt->data).print();
      cout<<"确定修改?Y/N..";
      cin>>response;
      cin.ignore(80,'\n');
      if(response=='y'||response=='Y')
      {
       (pt->data).modefy();
       pt=pt->next;
      }
      else
       pt=pt->next;
     }
    }
   }
   break;
 case 'b':
   cout<<"请输入要修改的人的电话号码:";
      char pho[15];
      cin.getline(pho,strlen(pho));
   if(IsEmpty())
    cout<<"没有记录系统为空!";
   else
   {
    Item<type> * pt=Head;
    while(pt)
    {
        if((pt->data).IsThisPho(pho))
     {
      (pt->data).print();
      cout<<"确定要修改?Y/N..";
      cin>>response;
      cin.ignore(80,'\n');
      if(response=='y'||response=='Y')
      {
       (pt->data).modefy();
       pt=pt->next;
      }
      else
       pt=pt->next;
     }
    }
   }
   break;
 }

template <class type>
void List<type>::append()
{
 Item<type> * pt=new Item<type>;
 if(IsEmpty())
  Head=End=pt;
 else
 {

    End->next=pt;
 End=pt;
 }
}

template <class type>
bool List<type>::IsEmpty()
{
 return(Head==0);
}

上一页  [1] [2] [3] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有