通讯录1

    xiaoxiao2023-05-27  2

    contact.h

    <span style="font-size:24px;">#include<stdio.h> #include <memory.h> #include<string.h> #include <process.h> #ifdef __CONTACT__H_ #endif __CONTACT__H_ #define NAM_MAX 10 #define SEX_MAX 5 #define TEL_MAX 12 #define ADDR_MAX 10 #define MAX 1000 typedef struct Per { char name[NAM_MAX]; char sex[SEX_MAX]; int age; int tel[TEL_MAX]; char addr[ADDR_MAX]; }Per; typedef struct Contact { Per p[MAX]; int num; }*Pcon,Con; void menu(); void Init_Con(Pcon pcon); void Add_Con(Pcon pcon); void Del_Con(Pcon pcon); void Modi_Con(Pcon pcon); void Sear_Con(Pcon pcon); void Emp_Con(Pcon pcon); int find(Pcon pcon,char *name); void print(Pcon pcon); #define __CONTACT__H_</span>

    contact.c 用于实现各种函数

    <span style="font-size:24px;">#include"contact.h" void Init_Con(Pcon pcon)//初始化 { pcon->num=0; memset(pcon->p,0,MAX*sizeof(Per)); } void Add_Con(Pcon pcon)//添加 { if(pcon->num==MAX) { printf("通讯录已满"); } else { printf("添加者姓名:"); scanf("%s",pcon->p[pcon->num].name); printf("添加者性别:"); scanf("%s",pcon->p[pcon->num].sex); printf("添加者年龄:"); scanf("%d",&(pcon->p[pcon->num].age)); printf("添加者电话:"); scanf("%s",pcon->p[pcon->num].tel); printf("添加者住址:"); scanf("%s",pcon->p[pcon->num].addr); pcon->num++; } } int find(Pcon pcon,char *name)//查找相应通讯录成员 { int i=0; for(i=0;i<pcon->num;i++) { if(0==strcmp(pcon->p[i].name,name)) { return i; } } return -1; } void Del_Con(Pcon pcon)//删除 { int i=0; int ret=0; char name[10]={0}; if(pcon->num==0) { printf("电话本已空\n"); } else { printf("请输入删除者姓名:"); scanf("%s",name); ret=find(pcon,name); if(ret!=-1) { for(i=ret;i<pcon->num-1;i++) { pcon->p[i]=pcon->p[i+1]; } pcon->num--; printf("删除完毕\n"); } else printf("不存在"); } } void Modi_Con(Pcon pcon)//修改 { int i=0; int ret=0; char name[10]={0}; if(pcon->num==0) { printf("电话本已空\n"); } else { printf("请输入修改者姓名:"); scanf("%s",name); ret=find(pcon,name); if(ret!=-1) { printf("添加者姓名:"); scanf("%s",pcon->p[ret].name); printf("添加者性别:"); scanf("%s",pcon->p[ret].sex); printf("添加者年龄:"); scanf("%d",&(pcon->p[ret].age)); printf("添加者电话:"); scanf("%s",pcon->p[ret].tel); printf("添加者住址:"); scanf("%s",pcon->p[ret].addr); } else printf("要修改的人不存在"); } } void Sear_Con(Pcon pcon)//查找 { int ret=0; char name[10]={0}; if(pcon->num==0) { printf("电话本已空\n"); } else { printf("请输入查找者姓名:"); scanf("%s",name); ret=find(pcon,name); if(ret!=-1) { printf("%10s\t%5s\t%5d\t%12s\t%10s\n", pcon->p[ret].name,pcon->p[ret].sex,pcon->p[ret].age, pcon->p[ret].tel,pcon->p[ret].addr); } else printf("查找的人不存在\n"); } } void Emp_Con(Pcon pcon)//清空 { pcon->num=0; } void print(Pcon pcon)//显示 { int i=0; printf("%10s\t%5s\t%5s\t%12s\t%10s\n", "name","sex","age","tel","addr"); for(i=0;i<pcon->num;i++) { printf("%10s\t%5s\t%5d\t%12s\t%10s\n", pcon->p[i].name,pcon->p[i].sex, pcon->p[i].age,pcon->p[i].tel,pcon->p[i].addr); } }</span>

    test.c

    #include"contact.h" enum menu { EXIT, ADD, DEL, SEAR, MODI, PRINT, EMPTY }; void menu() { printf("******1.ADD 2.DEL*****\n"); printf("*****3.SEAR 4.MODI****\n"); printf("****5.PRINT 6.EMPTY***\n"); } int main() { int input=1; Con con; Init_Con(&con); while(input) { menu(); printf("请选择:"); scanf("%d",&input); switch(input) { case ADD: Add_Con(&con); break; case DEL: Del_Con(&con); break; case SEAR: Sear_Con(&con); break; case MODI: Modi_Con(&con); break; case PRINT: print(&con); break; case EMPTY: Emp_Con(&con); break; default : break; } } system("pause"); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1260766.html
    最新回复(0)