public: Manage() { person=0; Load();
}
~Manage() { Person *p; p=person; while(p) { p=p->next; delete person; person=p; }
person=0;
}
void Find(char Name[20]);//按姓名查找 void Find(string ID);//按编号查找 void Add(); //添加加信息 void Delete(); //删除信息
void Modify(string ID); //修改信息 void Query(); //查询信息 void TJ(); //清除文件信息 void Save(); //保存数据 void Load(); //读入数据 void Look();//预览 void DesTory(); void Output(Person *p) { cout<<\学号: \ cout<<\姓名: \
cout<<\性别: \ 11
cout<<\年龄: \ cout<<\联系电话: \ cout< } }; void Manage::Add() { system(\ Person *p,*p2; //新结点指针 string No,Age,Tel; char Name[20],Sex[10]; char c; cout<<\新增学生通讯录 **\\n\ //输入学生信息 cout<<\输入学号:\\t\ cin>>No; cout< } else { p1=p1->next; } } if(p1!=NULL) { cout<<\该学号已存在,是否修改该学生信息(Y/N) \ 12 cin>>c; if(toupper(c)=='Y') { cout<<\该学生信息为:\ Find(No); cout< } else return ; } } cout<<\输入姓名:\\t\cin>>Name; cout< cout<<\输入性别:\\t\cin>>Sex; cout< cout<<\输入年龄:\\t\cin>>Age; cout< cout<<\输入联系方式:\\t\cin>>Tel; cout< p=new Person(No,Name,Sex,Age,Tel); p->next=0; //学生结点加入链表 if(person) //若已经存在结点 { p2=person; while(p2->next) //查找尾结点 { p2=p2->next; 13 } p2->next=p; //连接 } else //若不存在结点(表空) { person=p; //连接 } system(\ cout<<\添加成功***\\n\ cout<<\是否继续添加(Y/N) \ cin>>c; if(toupper(c)=='Y') { Add(); return ; } else return ; } void Manage::Delete() //删除人员 { system(\ char c; string No; cout<<\删除信息 **\\n\ cout<<\输入要删除的学生ID:\\t\ cin>>No; cout< //查找要删除的结点 Person *p1,*p2; p1=person; while(p1) { if(p1->No==No) 14 break; else { p2=p1; p1=p1->next; } } //删除结点 if(p1!=NULL)//若找到结点,则删除 { cout<<\所要删除的学生的信息如下:\\n\ Output(p1); cout<<\确定是否删除(Y/N): \ cin>>c; if(toupper(c)!='Y') return; // system(\ if(p1==person) //若要删除的结点是第一个结点 { person=p1->next; delete p1; } else //若要删除的结点是后续结点 { p2->next=p1->next; delete p1; } cout<<\删除成功***\\n\ cout<<\是否继续删除(Y/N) \ cin>>c; if(toupper(c)=='Y') { Delete(); return ; 15