实现一个通讯录(数组实现)

头文件:函数的声明还有结构体的定义

/*实现一个通讯录;通讯录可以用来存储1000个人的信息,,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1.添加联系人信息2.删除指定联系人信息3.查找指定联系人信息4.修改指定联系人信息5.显示所有联系人信息6.清空所有联系人*/#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 30struct 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;}

生气是拿别人做错的事来惩罚自己

实现一个通讯录(数组实现)

相关文章:

你感兴趣的文章:

标签云: