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

📄 0.c

📁 addlist very good please download it
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#define	TRUE 1
#define FALSE 0

struct AddressNode;
typedef struct AddressNode *PNode;
struct AddressNode
{
	char address[20];
	char name[10];
	int no;
	PNode link;
};
typedef struct AddressNode *Linklist;
typedef Linklist *PLinklist;

int create_list(PLinklist plist)
{
	PNode p;
	p=(PNode)malloc(sizeof(struct AddressNode));
    if(p==NULL)
		return(FALSE);
	*plist=p;
	printf("Please input the infomation\n");
	printf("number:");
    scanf("%d",&p->no);
	printf("name:");
	scanf("%s",&p->name);
	printf("address:");
	scanf("%s",&p->address);
	p->link=NULL;
	return(TRUE);
}

int insert_list(PLinklist plist)
{
	PNode p,q;
	p=(PNode)malloc(sizeof(struct AddressNode));
	if(p==NULL)
		return(FALSE);
	q=*plist;
	p->no=q->no+1;
	printf("Please the infomation\n");
	printf("name:");
	scanf("%s",&p->name);
	printf("address:");
	scanf("%s",&p->address);
    p->link=*plist;
	*plist=p;
	return(TRUE);
}

void search_list(PLinklist plist,int i)
 {
	PNode p;
	int j,k;
	if(*plist==NULL)
		printf("No data!!\n");
	p=*plist;
	if(p->no<i)
		printf("This address not exist!!\n");
	k=p->no-i;
	for(j=0;j<k;j++)
		p=p->link;
	printf("Name:%s\n",&p->name);
	printf("Address:%s\n",&p->address);
}

void delete_list(PLinklist plist,int i)
{
	PNode p,q,r;
	int j,k;
	if(*plist==NULL)
		printf("No data!!\n");
	p=r=plist;
	if(p->no<i)
		printf("This address not exist!!\n");
	k=p->no-i;
	for(j=0;j<k-1;j++)
		p=p->link;
    p->link=p->link->link;
	q=p->link;
	printf("%s",&q->address);
	free(q);
	while(r!=p)
	{
		r->no--;
		r=r->link;
	}
}

void out_list(PLinklist plist)
{
	PNode p;
	p=*plist;
	while(p!=NULL)
	{
		printf("Name:%s\n",&p->name);
	    printf("Address:%s\n",&p->address);
		p=p->link;
	}
}

void Service_display()
{
	printf("\t\t\tAddress List Manger System\n");
	printf("1:Create a address list\n");
	printf("2:Insert a new address\n");
	printf("3:Search a address\n");
	printf("4:Delete a address\n");
	printf("5:Out the address list\n");
	printf("0:Exit the address list manger system\n");
	}

main()
{
	Linklist alist;

	int i,j,k,n,no;
	j=0;
	Service_display();
	do
	{
    	printf("\nPlease choose a service:");
		scanf("%d",&i);
	    switch(i)
		{
	    case 1:
            if(j==1)
			printf("Addlist exist!!\n");
    		else
			{
    		j=create_list(&alist);
	    	if(j==0)
	    		printf("Overflow!!\n");
			}
	    	break;
    	case 2:
    		k=insert_list(&alist);
	    	if(k==0)
		    	printf("Overflow!!\n");
	        break;
    	case 3:
    		printf("Please input address number:");
	    	scanf("%d",&no);
	    	search_list(&alist,no);
	    	break;
    	case 4:
	    	printf("Please input address number:");
	    	scanf("%d",&no);
	    	delete_list(&alist,no);
	    	break;
    	case 5:
	    	printf("All address:\n");
	    	out_list(alist);
	    	break;
    	case 0:break;
		}
	}while(i!=0);
	getch();
}


⌨️ 快捷键说明

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