Shk

来源:互联网 发布:mac怎么使用百度云 编辑:程序博客网 时间:2024/05/17 01:30
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "addresslist.h"
void headdisplay()
{
 printf("*******************************************************\n");
 printf("*               welcome to address book               *\n");
 printf("*                                                     *\n");
 printf("*           A) Add the information of friends         *\n");
 printf("*           B) Show all friends information           *\n");
 printf("*           C) Search for the friend                  *\n");
 printf("*           D) Remove the friend                      *\n");
 printf("*           E) Amend information                      *\n");
 printf("*           F) Exit address book                      *\n");
 printf("*                                                     *\n");
 printf("*******************************************************\n");
}
void input(member *p,memberlist L)
{
 int ret;
 printf("please input ID:");
 scanf("%s",p->id);
 printf("\n");
 printf("please input name:");
 scanf("%s",p->name);
 printf("\n");
 
 printf("please input phone:");
 scanf("%s",p->homenum);
 ret = panduanchongfu1(L,p->homenum);
 while(OK == ret || strlen(p->homenum) != 11)
 {
  if(OK == ret)
  {
   printf("the number is repetition,please input again!\n");
   scanf("%s",p->homenum);
   ret = panduanchongfu1(L,p->homenum);
   continue;
  }
  if(strlen(p->homenum) != 11)
  {
   printf("The phone number' length is 11,please input again!\n");
   scanf("%s",p->homenum);
   ret = panduanchongfu1(L,p->homenum);
  }
 }
 printf("\n");
 printf("please input address:");
 scanf("%s",p->address);
 printf("\n");
 printf("please input company number:");
 scanf("%s",p->companynum);
 ret = panduanchongfu2(L,p->companynum);
 while(OK == ret || strlen(p->companynum) != 8)
 {
  if(OK == ret)
  {
   printf("the number is repetition,please input again!\n");
   scanf("%s",p->companynum);
   ret = panduanchongfu2(L,p->companynum);
   continue;
  }
  if(strlen(p->companynum) != 8)
  {
   printf("The company number' length is 8,please input again!:\n");
   scanf("%s",p->companynum);
   ret = panduanchongfu2(L,p->companynum);
  }
 }
 printf("\n");
}
void exit1()

 int a;
 scanf("%d",&a);
 while(1)
 {
  if(a == 1)
  {
   break;
  }
  else
  {
   printf("please again!\n");
   scanf("%d",&a);
  }
 }
}
void Initlist(memberlist *L)
{
 (*L) = (memberlist)malloc(sizeof(member));
 (*L)->next = NULL;
}
void  Listtail(memberlist *L,member k)
{
 memberlist p = *L;
 memberlist s = (memberlist)malloc(sizeof(member));
 s->id = (char *)malloc(sizeof(char) * 50);
 s->name = (char *)malloc(sizeof(char) * 50);
 s->homenum = (char *)malloc(sizeof(char) * 50);
 s->address = (char *)malloc(sizeof(char) * 50);
 s->companynum = (char *)malloc(sizeof(char) * 50);
 while(p->next)
 {
  p = p->next;
 }

 s->next = NULL;
 p->next = s;
 
 strcpy(s->id,k.id);
 strcpy(s->name,k.name);
 strcpy(s->homenum,k.homenum);
 strcpy(s->address,k.address);
 strcpy(s->companynum,k.companynum);
}
void Listtraverse(memberlist L, memberlist W)
{
 memberlist p = L->next;
 memberlist Q = L->next;
 char *key = (char *)malloc(sizeof(char) * 50);
 int i= 0;
 int j;
 while(p)
 {
  W[i].name = p->name;
  p = p->next;
  i++;
 }
 for (j = 1;j < Listlength(L);j++)
 {
  key = W[j].name;
  i = j - 1;
  while(i >= 0 && strcmp(W[i].name,key) > 0)
  {
   W[i+1].name = W[i].name;
   i--;
  }
  W[i + 1].name = key;
 }
 for(i = 0;i < Listlength(L);i++)
 {
  Q = L->next;
  while(Q)
  {
   if(strcmp(Q->name,W[i].name) == 0)
   {
    printf("ID: %s ",Q->id);
    printf("name: %s    ",Q->name);
    printf("phone: %s ",Q->homenum);
    printf("address: %s   ",Q->address);
    printf("companynumber :%s ",Q->companynum);
    printf("\n");
    break;
   }
   Q = Q->next;
  }
 }
 
}
int Listsearch(memberlist L,char *name)
{
 int flag = 0;
 memberlist p = L->next;
 while(p)
 {
  if(strcmp(p->name,name) == 0)
  {
   flag = 1;
   break;
  }
  else
  {
   p = p->next;
  }
 }
 if(0 == flag)
 {
  return ERROR;
 }
 printf("ID: %s ",p->id);
 printf("name: %s    ",p->name);
 printf("phone: %s ",p->homenum);
 printf("address: %s   ",p->address);
 printf("companynumber :%s ",p->companynum);
 printf("\n");
 return OK;
}
int Listdelete(memberlist L,char *name)
{
 memberlist p = L;
 memberlist s;
 int flag = 0;
 while(p->next)
 {
  s = p->next;
  if(strcmp(s->name,name) == 0)
  {
   flag = 1;
   break;
  }
  else
  {
   p = p->next;
  }
 }
 if(0 == flag)
 {
  return ERROR;
 }
 p->next = s->next;
 free(s);
 return OK;
}
int panduanchongfu1(memberlist L,char *K)
{
 memberlist p = L->next;
 if(!p)
 {
  return ERROR;
 }
 while(p)
 {
  if(strcmp(p->homenum,K) == 0)
  {
   return OK;
  }
  p = p->next;
 }
}

int panduanchongfu2(memberlist L,char *K)
{
 memberlist p = L->next;
 if(!p)
 {
  return ERROR;
 }
 while(p)
 {
  if(strcmp(p->companynum,K) == 0)
  {
   return OK;
  }
  p = p->next;
 }
}
int Listlength(memberlist L)
{
 int i = 0;
 memberlist p = L->next;
 while(p)
 {
  p = p->next;
  i++;
 }
 return i;
}
int Mendlist1(memberlist *L,char *ret,char *temp)
{
 memberlist p =(*L)->next;
 while(p)
 {
  if(strcmp(p->name,ret) == 0)
  {
   strcpy(p->id,temp);
   return OK;
  }
  p = p->next;
 }
 return ERROR;
}
int Mendlist2(memberlist *L,char *ret,char *temp)
{
 memberlist p =(*L)->next;
 while(p)
 {
  if(strcmp(p->name,ret) == 0)
  {
   strcpy(p->name,temp);
   return OK;
  }
  p = p->next;
 }
 return ERROR;
}
int Mendlist3(memberlist *L,char *ret,char *temp)
{
 memberlist p =(*L)->next;
 while(p)
 {
  if(strcmp(p->name,ret) == 0)
  {
   strcpy(p->homenum,temp);
   return OK;
  }
  p = p->next;
 }
 return ERROR;
}
int Mendlist4(memberlist *L,char *ret,char *temp)
{
 memberlist p =(*L)->next;
 while(p)
 {
  if(strcmp(p->name,ret) == 0)
  {
   strcpy(p->address,temp);
   return OK;
  }
  p = p->next;
 }
 return ERROR;
}
int Mendlist5(memberlist *L,char *ret,char *temp)
{
 memberlist p =(*L)->next;
 while(p)
 {
  if(strcmp(p->name,ret) == 0)
  {
   strcpy(p->companynum,temp);
   return OK;
  }
  p = p->next;
 }
 return ERROR;
}
原创粉丝点击