📄 0.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 + -