学生通讯系统

这是一个学生通讯系统管理
头文件book1.h
struct Book
{
 char name[8];
 char sex[2];
 int  num;
 char add[20];
 Book *next;
};
void InitBook(Book *&Head);//初始化链表
void ClearBook(Book *&Head);//清空链表
int BookSize(Book *Head);//求表长
bool BookEmpty(Book *Head);//检查表是否为空
void TraverseBook(Book *Head);//遍历表
void InsertBook(Book *&Head);//向表中插如元素
void FindBook(Book * Head);//查询一个元素
void UpdateBook(Book *Head);//修改一个元素
void DeleteBook(Book *&Head);//删除一个元素
book2.cpp
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<fstream.h>
#include"book1.h"
void InitBook(Book *&Head)
{
 Head=NULL;
}
void ClearBook(Book *&Head)
{
 Book *cp,*np;
 cp=Head;
 while(cp!=NULL)
 {
  np=cp->next;
  delete cp;
  cp=np;
 }
 Head=NULL;
}
int BookSize(Book *Head)
{
 Book *p=Head;
 int i=0;
 while(p!=NULL)
 {
  i++;
  p=p->next;
 }
 return i;
}
bool BookEmpty(Book *Head)
{
 return (Head==NULL);
}
void TraverseBook(Book *Head)
{
 cout<<"姓名/t性别/t电话/t住址/n";
 
 Book *p=Head;
 while(p!=NULL)
 {
  cout<<p->name<<"/t"<<p->sex<<"/t"<<p->num<<"/t"<<p->add<<endl;
  p=p->next;
 }
 cout<<endl;
}
void InsertBook(Book *&Head)
{
 
 Book *new1;
 new1=new Book;
 cout<<"请输入姓名:";
 cin>>new1->name;
 
 cout<<endl;
 cout<<"请输入性别:";
 cin>>new1->sex;
 
 cout<<endl;
 cout<<"请输入联系电话:";
 cin>>new1->num;
 
 cout<<endl;
 cout<<"请输入联系地址:";
 cin>>new1->add;
 

 {
  new1->next=Head;
  Head=new1;
 }
}
void FindBook(Book * Head)
{

 char x[8];
 Book *p=Head;
    cout<<"请输入你想要查找的人的姓名:";
 cin>>x;
 while(p!=NULL)
 {
  while(strcmp(p->name,x)!=0)
  {
   p=p->next;
  }
  break;
   
 }
cout<<"======================================="<<endl;
cout<<endl;
cout<<" 姓名:"<<p->name<<"/t性别:"<<p->sex<<endl;    
cout<<" 电话:"<<p->num<<"/t地址:"<<p->add<<endl;      
             
cout<<endl;
cout<<"========================================"<<endl;
}
void UpdateBook(Book *Head)
{
 char x[8];
 Book *p=Head;
    cout<<"请输入你想要修改的人的姓名:";
 cin>>x;
 while(p!=NULL)
 {
  while(strcmp(p->name,x)!=0)
  {
   p=p->next;
  }
  cout<<"请输入新的资料"<<endl;
  cout<<"请输入姓名:";
     cin>>p->name;
   
     cout<<"请输入性别:";
     cin>>p->sex;
    
     cout<<"请输入联系电话:";
     cin>>p->num;
   
     cout<<"请输入联系地址:";
     cin>>p->add;
       
  break;
 }
}
void DeleteBook(Book *&Head)
{
 
   if(Head==NULL)
    cout<<"没有资料"<<endl;
   else
   {
    char x[8];
    cout<<"请输入要删除的人的姓名:";
    cin>>x;
    Book *p=Head,*q=NULL;
   
    while(p!=NULL)
     if(strcmp(p->name,x)==0)
      break;
     else
     {
      q=p;
      p=p->next;
     }
     if(p==NULL)
      cout<<"对不起,找不到你要删除的人。"<<endl;
     else
     {
      if(q==NULL)
       Head=Head->next;
      else
       q->next=p->next;
      delete p;
      cout<<"此人以删除"<<endl;
     }
   }
 
}
book3.cpp
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<fstream.h>
#include"book1.h"
void main()
{
    cout<<"+++++++欢迎来到羽★残通讯录系统管理系统++++++++"<<endl;
    cout<<endl;                                                 
    cout<<"         按(0):成员总名单查看;"<<endl;
    cout<<"         按(1):增加一位成员资料;"<<endl;
    cout<<"         按(2):删除一位成员资料;"<<endl;
    cout<<"         按(3):修改一位成员资料;"<<endl;
    cout<<"         按(4):查询成员资料;"<<endl;
    cout<<"         按(5):清空通讯录;"<<endl;
    cout<<"         按(6):安全退出;"<<endl;
    cout<<endl;
    cout<<"++++++制作人:fishsoul·羽++++++"<<endl;
 
 cout<<"※请选择:";
 int a;
 cin>>a;
    Book *z;
    InitBook(z);
 while(a!=6)
 {
 switch(a)
 {
 case 0: TraverseBook(z);
      int i;
            i=BookSize(z);
         cout<<"通讯录中的人数:"<<i<<endl;
      cout<<"※请选择:";
      break;
 case 1:InsertBook(z);
      cout<<"※请选择:";     
   break;  
 case 2:DeleteBook(z);
      cout<<"※请选择:";  
   break;   
 case 3:UpdateBook(z);
      cout<<"※请选择:";    
   break;
 case 4:FindBook(z);
      cout<<"※请选择:";     
   break;
 case 5:ClearBook(z);
           cout<<"※请选择:";
     break;
 case 6:
  exit(0);
 default:cout<<"输入错误请重新选择:";  
 }
 cin>>a;
 }
}
  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值