⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 通讯录.cpp

📁 通讯录系统
💻 CPP
字号:
#include<iostream.h>
#include<string.h>
typedef struct telephonbook{
	char Nodenum[5];
	char Name[8];
	char Sex;
	char Telnum[10];	
	char Address[20];
	struct telephonbook* next;
}nodetel,*Linktel;//通讯录类型
Linktel Creat_telbook()//建立通讯录
{Linktel G=NULL;
	cout<<"现在开始建立通讯录:"<<endl;
	char n='y';
	while(n=='y')
	{Linktel T;
	  T=new nodetel;
      cout<<"请输入编号,姓名,性别,电话和地址(用空格隔开):"<<endl;
	  cin>>T->Nodenum>>T->Name>>T->Sex>>T->Telnum>>T->Address;	 
	  T->next=G;
	  G=T;
	  cout<<"继续建立请按y,如果要结束建立通讯录按其他键 :";
	  cin>>n;
	}
   return G;
}
nodetel* Insert_telbook(nodetel *G){//插入
	nodetel* T;
	cout<<"请输入您要插入人的编号,姓名,性别,电话和地址(用空格隔开):"<<endl;
	T=new nodetel;
	cin>>T->Nodenum;
	cin>>T->Name;
	cin>>T->Sex;
	cin>>T->Telnum;
    cin>>T->Address;
	T->next=G;G=T;
	return G;}
   nodetel* Search_telbook(nodetel* G){
	Linktel T;char m;
	T=G;
	cout<<"请选择查询的类型(按编号查询请输入0,按姓名查询请按其他键):";
	cin>>m;
	if(m=='0')
	{
		char numtemp[8];
		cout<<"请输入要查询的编号:";
		cin>>numtemp;
		while(strcmp(T->Nodenum,numtemp)&&T)
			T=T->next;
        if(T){cout<<"查询结果是:"<<endl;
		cout<<T->Nodenum<<'\t'<<T->Name<<'\t'<<T->Sex<<'\t'<<T->Telnum<<'\t'<<T->Address<<endl;}
			else cout<<"没有查询到结果!"<<endl;
	}
	else
	{
		char nametemp[8];cout<<"请输入要查询的姓名:";cin>>nametemp;
	while(strcmp(T->Name,nametemp)&&T) 
		T=T->next;
		if(T){cout<<"查询结果是:"<<endl;
		cout<<T->Nodenum<<'\t'<<T->Name<<'\t'<<T->Sex<<'\t'<<T->Telnum<<'\t'<<T->Address<<endl;
		T=T->next;}
		else cout<<"没有查询到结果!"<<endl;
	}
	return G;
}//查询
nodetel* Del_telbook(nodetel* G){
	Linktel T,P=NULL,k;
	char m;
	T=G;
	cout<<"请选择要删除的类型(按编号删除请输入0,按姓名删除请按其他键):";
		cin>>m;
	if(m=='0'){
		char numtemp[8];
	    cout<<"请输入要删除的编号:";
	    cin>>numtemp;
		while(strcmp(T->Nodenum,numtemp))
			{P=T;T=T->next;}
		if(T){if(P)P->next=T->next;
		      else{ P=T->next;G=P;}
        cout<<T->Nodenum<<'\t'<<T->Name<<'\t'<<T->Sex<<'\t'<<T->Telnum<<'\t'<<T->Address<<endl;
		char key;
		cout<<"是否确定要删除此通讯录(y或者n)?";
		cin>>key;if(key=='y'||key=='Y')
		      delete T;}
		else cout<<"没有输入的编号的记录!"<<endl;}
	else{char nametemp[8];
	     cout<<"请输入要删除的姓名:";
	     cin>>nametemp;
		 while(T) {       
		 while(strcmp(T->Name,nametemp))
		 {P=T;T=T->next;}
	   if(T)
	   {if(P)P->next=T->next;
		    else {P=T->next;G=P;	}
		cout<<T->Nodenum<<'\t'<<T->Name<<'\t'<<T->Sex<<'\t'<<T->Telnum<<'\t'<<T->Address<<endl;
		char key;
		cout<<"是否确定要删除此通讯录(y或者n)?";
		cin>>key;
		if(key=='y'||key=='Y')
		{
			k=T;
			T=T->next;
		
		delete k;
		}
	   }
       else cout<<"没有输入的姓名的记录!"<<endl;
	 }
	}
	
	return G;
}//删除
void Print_telbook(nodetel* G){
	Linktel P;
	P=G;
	if(!P){cout<<"通讯录中没有记录!"<<endl;
	return;}
	cout<<"编号\t"<<"姓名\t"<<"性别\t"<<"电话\t"<<"地址:"<<endl;
	while(P)
	{cout<<P->Nodenum<<'\t'<<P->Name<<'\t'<<P->Sex<<'\t'<<P->Telnum<<'\t'<<P->Address<<endl;
	P=P->next;}
	return;}//输出
void main()
{
	nodetel *G;
	G=Creat_telbook();
	char m;
A:	cout<<"请输入您的操作(1.插入通讯录 2.通讯录查询 3.通讯录删除 4.输出通讯录 其他:退出):";cin>>m;
	switch(m)
	{
	case '1':{G=Insert_telbook(G);goto A;}
	case '2':{G=Search_telbook(G);goto A;}
	case '3':{G=Del_telbook(G);goto A;}
	case '4':{Print_telbook(G);goto A;}
	default:cout<<"退出通讯录管理系统!"<<endl;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -