📄 studentcommunicationsmanagementsystem.cpp
字号:
#include<iostream>
#include<stdlib>
#include<string>
#include<fstream>
struct Book
{
char name[10];
char sex[5];
int num;
char add[20];
Book *next;
};
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;
}
void BookSize(Book *Head) //求表长
{
Book *p=Head;
int i=0;
while(p!=NULL)
{
i++;
p=p->next;
}
cout<<"通讯录中的人数:"<<i<<endl;
}
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;
}
}
void InsertBook(Book *&Head) //向表中插入元素
{
Book *new1;
new1=new Book;
cout<<"请输入姓名:";
cin>>new1->name;
cout<<"请输入性别:";
cin>>new1->sex;
cout<<"请输入联系电话:";
cin>>new1->num;
cout<<"请输入联系地址:";
cin>>new1->add;
{
new1->next=Head;
Head=new1;
}
}
void FindBook(Book * Head) //查询一个元素
{
char x[10];
Book *p=Head;
cout<<"请输入你想要查找的人的姓名:";
cin>>x;
if(p==NULL)cout<<"没有资料。"<<endl;
else
{
while(strcmp(p->name,x)!=0)
{
p=p->next;
if(p==NULL)break;
}
if(p==NULL) cout<<"对不起,找不到你要查找的人。"<<endl;
else
{
cout<<" 姓名:"<<p->name<<"\t性别:"<<p->sex<<endl;
cout<<" 电话:"<<p->num<<"\t地址:"<<p->add<<endl;
}
}
}
void UpdateBook(Book *Head) //修改一个元素
{
char x[10];
Book *p=Head;
cout<<"请输入你想要修改的人的姓名:";
cin>>x;
if(p==NULL)cout<<"没有资料。"<<endl;
else
{
while(strcmp(p->name,x)!=0)
{
p=p->next;
if(p==NULL)break;
}
if(p==NULL) cout<<"对不起,找不到你要修改的人。"<<endl;
else
{
cout<<"请输入新的资料:"<<endl;
cout<<"请输入姓名:";
cin>>p->name;
cout<<"请输入性别:";
cin>>p->sex;
cout<<"请输入联系电话:";
cin>>p->num;
cout<<"请输入联系地址:";
cin>>p->add;
}
}
}
void DeleteBook(Book *&Head) //删除一个元素
{
if(Head==NULL)cout<<"没有资料。"<<endl;
else
{
char x[10];
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;
}
}
}
void writein(Book * Head) //存盘
{
Book *p=Head;
ofstream f1("G:\\xuyaohua.txt");
while(p!=NULL)
{
f1<<p->name<<"\t"<<p->sex<<"\t"<<p->num<<"\t"<<p->add<<"\n";
p=p->next;
}
f1.close();
}
void readout(Book * Head) //读出
{
Book *p=Head;
ifstream f2("G:\\xuyaohua.txt");
while(p!=NULL)
{
f2>>p->name>>p->sex>>p->num>>p->add;
cout<<p->name<<"\t"<<p->sex<<"\t"<<p->num<<"\t"<<p->add<<"\n";
p=p->next;
}
f2.close();
}
void main()
{
cout<<"★欢迎来到学生通讯录管理系统★"<<endl;
cout<<endl;
cout<<"按(1):成员总名单查看;"<<endl;
cout<<"按(2):增加一位成员资料;"<<endl;
cout<<"按(3):删除一位成员资料;"<<endl;
cout<<"按(4):修改一位成员资料;"<<endl;
cout<<"按(5):查询成员资料;"<<endl;
cout<<"按(6):成员资料写入文件;"<<endl;
cout<<"按(7):从文件读出成员资料;"<<endl;
cout<<"按(8):清空通讯录;"<<endl;
cout<<"按(9):安全退出;"<<endl;
cout<<endl;
cout<<"★制作人:※***※"<<endl;
cout<<endl;
cout<<"★请选择:";
char a;
cin>>a;
Book *z;
InitBook(z);
while(1)
{
switch(a)
{
case '1':TraverseBook(z);
BookSize(z);
cout<<"★请选择:";
break;
case '2':InsertBook(z);
cout<<"★请选择:";
break;
case '3':DeleteBook(z);
cout<<"★请选择:";
break;
case '4':UpdateBook(z);
cout<<"★请选择:";
break;
case '5':FindBook(z);
cout<<"★请选择:";
break;
case '6':writein(z);
cout<<"★请选择:";
break;
case '7':readout(z);
cout<<"★请选择:";
break;
case '8':ClearBook(z);
cout<<"★请选择:";
break;
case '9':exit(0);
default :cout<<"★输入错误请重新选择:";
}
cin>>a;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -