通讯录

来源:互联网 发布:滴滴待遇 知乎 编辑:程序博客网 时间:2024/05/01 04:09
<pre name="code" class="cpp">//test.h#ifndef __TEST_H__#define __TEST_H__#define MAX_NAME 10#define MAX_SEX 10#define MAX_TELE 12#define MAX_ADDR 20#define MAX_LEN 1000struct peo{char name[MAX_NAME];char sex[MAX_SEX];int age;char tele[MAX_TELE];char addr[MAX_ADDR];};typedef struct Test{struct peo dhb[MAX_LEN];;int count;}*P;void add_peo(P p);void del_peo(P p);void search_peo(P p);void modify_peo(P p);void show_peo(P p);void clear_peo(P p);#endif  //__TEST_H__//test.c#include"test.h"#include<stdio.h>#include<string.h>//找到所需的联系人int find_entry(P p){char tmpName[MAX_NAME];int i;scanf("%s",tmpName);for(i=0;i<p->count;i++){if((strcmp(tmpName,p->dhb[i].name)==0)){return i;}}return -1;}//添加联系人void add_peo(P p){if(MAX_LEN==p->count){printf("电话本已满\n");return ;}printf("name :");scanf("%s",p->dhb[p->count].name);printf("sex :");scanf("%s",p->dhb[p->count].sex);printf("age :");scanf("%d",&(p->dhb[p->count].age));printf("tele :");scanf("%s",p->dhb[p->count].tele);printf("addr :");scanf("%s",p->dhb[p->count].addr);p->count++;}//删除联系人void del_peo(P p){int i;int ret=find_entry(p);if(ret!=-1){for(i=ret;i<p->count-1;i++){p->dhb[i]=p->dhb[i+1];}}p->count--;}//查找联系人void search_peo(P p){int i=find_entry(p);if(i!=-1){printf("%10s",p->dhb[i].name);printf("%10s",p->dhb[i].sex);printf("%10d",p->dhb[i].age);printf("%15s",p->dhb[i].tele);printf("%15s",p->dhb[i].addr);}}//修改联系人void modify_peo(P p){int i=find_entry(p);if(i!=-1){printf("name :");scanf("%s",p->dhb[i].name);printf("sex :");scanf("%s",p->dhb[i].sex);printf("age :");scanf("%d",&(p->dhb[i].age));printf("tele :");scanf("%s",p->dhb[i].tele);printf("addr :");scanf("%s",p->dhb[i].addr);}}//显示联系人void show_peo(P p){int i;for(i=0;i<p->count;i++){printf("%10s",p->dhb[i].name);printf("%10s",p->dhb[i].sex);printf("%10d",p->dhb[i].age);printf("%15s",p->dhb[i].tele);printf("%15s",p->dhb[i].addr);printf("\n");}}//清空联系人void clear_peo(P p){p->count=0;}//main.c#include<stdio.h>#include<malloc.h>#include"test.h"void menu(){printf("*********************************\n");printf("***1->add        2->del**********\n");printf("***3->search     4->modify*******\n");printf("***5->show       6->clear********\n");printf("*********************************\n");}int main(){int input=1;struct Test *p;p=(struct Test *)malloc(sizeof(struct Test));p->count=0;while(input){menu();printf("\n请选择:");scanf("%d",&input);switch(input){case 1:add_peo(p);break;case 2:del_peo(p);break;case 3:search_peo(p);break;case 4:modify_peo(p);break;case 5:show_peo(p);break;case 6:clear_peo(p);break;default:break;}}return 0;}


                                             
0 0
原创粉丝点击