通讯录的实现

来源:互联网 发布:在淘宝网上开店步骤 编辑:程序博客网 时间:2024/06/07 11:57
#ifndef _CONTACTS_H_#define _CONTACTS_H_#define NAME_LENGTH 20#define SEX_LENGTH 10#define TELE_LENGTH 11#define ADDR_LENGTH 30#define MAX 1000struct PeopleInfo{char name[NAME_LENGTH];int age;char sex[SEX_LENGTH];char tele[TELE_LENGTH];char addr[ADDR_LENGTH];};struct Contacts{struct PeopleInfo person[MAX];int 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); #endif _CONTACTS_H_

     


contacts.c

/*实现一个通讯录; 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址  提供方法: 1.  添加联系人信息 2.  删除指定联系人信息 3.  查找指定联系人信息 4.  修改指定联系人信息 5.  显示所有联系人信息 6.  清空所有联系人*/#include"contacts.h"#include<string.h>int find_entry(pcontacts pcon){int i=0;char name[NAME_LENGTH];printf("input name:");scanf("%s",name);for(i=0;i<pcon->count;i++){if(strcmp(person[i].name,name)==0){return i;}}return -1;}int add_contacts(pcontacts pcon){if(pcon->count==max){printf("full!");}printf("input name:");    scanf("%s",pcon->person[pcon->count].name);printf("input age:");    scanf("%d",&pcon->person[pcon->count].age);printf("input sex:");    scanf("%s",pcon->person[pcon->count].sex);printf("input tele:");    scanf("%s",pcon->person[pcon->count].tele);    printf("input addr:");    scanf("%s",pcon->person[pcon->count].addr);pcon->count++;return 1;}int dele_contacts(pcontacts pcon){int i=0;int ret=find_entry(pcon);if(ret!=-1){for(i=ret;i<pcon->count;i++){pcon->person[i]=pcon->person[i+1];}pcon->count--;return 1;}else{printf("not exist!\n");    return -1;}}int clear_contacts(pcontacts pcon){pcon->count=0;return 1;}int find_contacts(pcontacts pcon){int ret = find_entry(pcon);      if(ret != -1)      {          printf("name:%s",pcon->person[ret].name);        return 1;      }      else      {          printf("not exist!\n");          return -1;      }}int modify_contacts(pcontacts pcon){int ret = find_entry(pcon);    if(ret != -1)      {          printf("input name:");          scanf("%s",pcon->person[ret].name);          printf("input sex:");          scanf("%s",pcon->person[ret].sex);          printf("input age:");          scanf("%s",pcon->person[ret].age);          printf("input tele:");          scanf("%s",pcon->person[ret].tele);          printf("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\tage\tsex\ttele\taddr");for(i=0;i<pcon->count;i++){        printf("%10s\t",pcon->person[i].name);          printf("%5s\t",pcon->person[i].sex);          printf("%5d\t",pcon->person[i].age);          printf("%12s\t",pcon->person[i].tele);          printf("%20s\t",pcon->person[i].addr);      }      printf("\n");}



主函数

#include<stdio.h>#include<string.h>#include"contacts.h"int main()  {         int n = 1;      struct Contacts people;      people.count = 0;printf("input number:");scanf("%d",&n);switch(n){case 1:add_contacts(&people);break;    case 2:dele_contacts(&people);break;    case 3:clear_contacts(&people);break;    case 4:find_contacts(&people);break;case 5:modify_contacts(&people);break;case 6:show_contacts(&people);break;default:printf("not exist\n");break;}return 0;}


0 0
原创粉丝点击