实现一个通讯录

来源:互联网 发布:iptv网络电视频道 编辑:程序博客网 时间:2024/06/05 05:49

1.    /* 

2.    实现一个通讯录; 

3.    通讯录可以用来存储1000个人的信息,每个人的信息包括: 

4.    姓名、性别、年龄、电话、住址 

5.     

6.    提供方法: 

7.    1.  添加联系人信息 

8.    2.  删除指定联系人信息 

9.    3.  查找指定联系人信息 

10.  4.  修改指定联系人信息 

11.  5.  显示所有联系人信息 

12.  6.  清空所有联系人 

13.  */  

#include <stdio.h>  #include <string.h>  #include <stdlib.h>    #define MAX 1000  #define NAME_LENGTH 20  #define SEX_LENGTH 5  #define TELE_LENGTH 20  #define ADDR_LENGTH 30    struct PeopleInfo  {      char name[NAME_LENGTH];      char sex[SEX_LENGTH];      int age;      char tele[TELE_LENGTH];      char addr[ADDR_LENGTH];  };    struct Contacts  {      struct PeopleInfo person[MAX];      int user_count;  };    typedef struct Contacts *pContacts;    int add_contacts(pContacts pcon);  int dele_contacts(pContacts pcon);  int clear_contacts(pContacts pcon);  int find_contacts(pContacts pcon);  int modify_contacts(pContacts pcon);  void show_contacts(pContacts pcon);  void menu();  #include "contacts.h"    int find_entry(pContacts pcon)  {      int i = 0 ;      char name[NAME_LENGTH];      printf("Please input name:");      scanf("%s",name);      for(i = 0;i < pcon->user_count;i++)      {          if(strcmp(pcon->person[i].name ,name) == 0)          {              return i;          }      }      return -1;  }  int add_contacts(pContacts pcon)  {      if(pcon->user_count == MAX)      {          printf("Telephone book is full!\n");          return -1;      }      printf("Please input name:");      scanf("%s",pcon->person[pcon->user_count].name);      printf("Please input sex:");          scanf("%s",pcon->person[pcon->user_count].sex);      printf("Please input age:");      scanf("%d",&(pcon->person[pcon->user_count].age));      printf("Please input tele:");      scanf("%s",pcon->person[pcon->user_count].tele);      printf("Please input addr:");      scanf("%s",pcon->person[pcon->user_count].addr);      pcon->user_count++;      return 1;  }  int dele_contacts(pContacts pcon)  {      int i = 0;      int ret = find_entry(pcon);      if(ret != -1)      {          for(i = ret;i < pcon->user_count-1;i++)          {              pcon->person[i] = pcon->person[i+1];          }          pcon->user_count--;          return 1;      }      else      {          printf("not exist!\n");          return -1;      }  }  int clear_contacts(pContacts pcon)  {      pcon->user_count = 0;      return 1;  }  int find_contacts(pContacts pcon)  {      int ret = find_entry(pcon);      if(ret != -1)      {          printf("name:%s",pcon->person[ret].name);          printf("sex:%s",pcon->person[ret].sex);          printf("age:%d",pcon->person[ret].age);          printf("tele:%s",pcon->person[ret].tele);          printf("addr:%s",pcon->person[ret].addr);          return 1;      }      else      {          printf("not exist!\n");          return -1;      }  } int modify_contacts(pContacts pcon)  {      int ret = find_entry(pcon);      if(ret != -1)      {          printf("Please input name:");          scanf("%s",pcon->person[ret].name);          printf("Please input sex:");          scanf("%s",pcon->person[ret].sex);          printf("Please input age:");          scanf("%s",pcon->person[ret].age);          printf("Please input tele:");          scanf("%s",pcon->person[ret].tele);          printf("Please input addr:");          scanf("%s",pcon->person[ret].addr);          return 1;      }      else      {          printf("not exist!\n");          return -1;      }         }  void show_contacts(pContacts pcon)  {      int i = 0;      printf("\tname\tsex\t\tage\t\ttele\t\t\taddr\n");      for(i = 0;i < pcon->user_count;i++)      {          printf("%10s\t",pcon->person[i].name);          printf("%5s\t",pcon->person[i].sex);          printf("%10d\t",pcon->person[i].age);          printf("%15s\t",pcon->person[i].tele);          printf("%20s\t",pcon->person[i].addr);      }      printf("\n");  }  void menu()//菜单函数  {      printf("------------------People-----------------\n");      printf("1.  添加联系人信息\n");      printf("2.  删除指定联系人信息\n");      printf("3.  清空所有联系人信息\n");      printf("4.  查找指定联系人信息\n");      printf("5.  修改指定联系人信息\n");      printf("6.  显示所有联系人信息\n");      printf("7.      exit\n");      printf("-----------------------------------------\n");  }  #include "contacts.h"    int main()  {         int n = 1;      struct Contacts people;  people.user_count = 0;      system("mode con cols=200 lines=200");    A:menu();      while(n)      {          printf("Please input:");          scanf("%d",&n);          switch(n)          {          case 1:              add_contacts(&people);              goto A;              break;          case 2:              dele_contacts(&people);              goto A;              break;  case 3:              clear_contacts(&people);              goto A;              break;          case 4:              find_contacts(&people);              goto A;              break;          case 5:              modify_contacts(&people);              goto A;              break;          case 6:              show_contacts(&people);              goto A;              break;          case 7:              return 0;              break;          default:              printf("input error!\n");              break;          }      }      return 0;  }  



0 0
原创粉丝点击