通讯录信息系统的管理

通讯录信息系统的管理,第1张

通讯录信息系统的管理
知识方面需要熟练掌握链表相关的算法知识即可完成相关系统
了解更多数据结构实验报告方面的内容
点击链接有惊喜在等你哦

#include 
#include 
#include 
#include 
typedef struct  {  //通讯录结点类型
  char num[5];   //编号
  char name[9];  //姓名
  char sex[3];    //性别
  char phone[13]; //电话
  char addr[31];  //地址
} DataType;
typedef struct node {   //结点类型定义
   DataType data;    //结点数据域(注意存放的是上面结构体的数据类型)
   struct node *next;  //结点指针域
} ListNode,*LinkList;
LinkList head;//头指针
ListNode *p;//用作更新新的节点使用

//函数说明
int menu_select();
LinkList CreateList();//通讯录链表的建立 
void InsertNode(LinkList head,ListNode *p);//插入 
ListNode *ListFind(LinkList head);//查询联系人 
void DelNode(LinkList head);//删除节点 
void PrintList(LinkList head);//输出所有联系人 
int main()
{
	printf("******************************\n");
	printf("**       欢迎使用通讯录     **\n");
	printf("**--------------------------**\n");
	printf("**                          **\n");
	printf("**    0.  创建通讯录    **\n");
	printf("**    1.  添加联系人信息    **\n");
	printf("**    2.  查询联系人信息    **\n");
	printf("**    3.  删除联系人信息    **\n");
	printf("**    4.  输出联系人信息    **\n");
	printf("**    5.  退出    **\n");
	printf("**                          **\n");
	printf("******************************\n");
	int m=menu_select();
	head=(LinkList)malloc(sizeof(ListNode));
	while(m!=5) {
		if(m==0){
			head=CreateList();
			printf("创建成功\n");
		}
		if(m==1){
			InsertNode(head, p);
		}
		if(m==2){
			LinkList s=(LinkList)malloc(sizeof(ListNode));
			printf("请输入联系人姓名:");
			s=ListFind(head);
			if(s){
				printf("联系人的基本信息:%s %s %s %s %s\n",s->data.num,s->data.name,s->data.sex,s->data.phone,s->data.addr);
			}
			else{
				printf("Not Found\n");
			}
		}
		if(m==3){
			DelNode(head);
		}
		if(m==4){
			PrintList(head);
		}
		m=menu_select();
	}
	printf("退出管理系统\n"); 
	return 0;
}
int menu_select()
{
	
	int n;
	scanf("%d",&n);
	return n;
}
LinkList CreateList()
{
	LinkList L=(LinkList)malloc(sizeof(ListNode));
	L->next=NULL;
	return L;
}
void InsertNode(LinkList head,ListNode *p)
{
	p=(LinkList)malloc(sizeof(ListNode));
	while(head->next!=NULL)
	{
		head=head->next;
	 } 
	printf("请输入联系人的基本信息:");
	scanf("%s%s%s%s%s",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);
	p->next=head->next;
	head->next=p;
}
ListNode *ListFind(LinkList head) 
{
	char Name[10];
	scanf("%s",Name);
	while(head->next)
	{
		head=head->next;
		if(strcmp(head->data.name,Name)==0)
		return head;
	}
	return NULL;
}
void DelNode(LinkList head)
{
	char Name[10];
	printf("请输入要删除的联系人姓名:");
	scanf("%s",Name);
	while(head->next)
	{
		
		if(strcmp(head->next->data.name,Name)==0){
			head->next=head->next->next;
			break;
		}
		head=head->next;
	}	
}
void PrintList(LinkList head)
{
	while(head->next){
		head=head->next;
		printf("联系人的基本信息:%s %s %s %s %s\n",head->data.num,head->data.name,head->data.sex,head->data.phone,head->data.addr);
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1325786.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-12
下一篇2022-06-12

发表评论

登录后才能评论

评论列表(0条)

    保存