C语言实现一个通讯录
实现一个通讯录,通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
7. 以名字排序所有联系人
没有开辟动态内存的方法:
头文件:test.h
#ifndef__CONTACT #define__CONTACT #define_CRT_SECURE_NO_WARNINGS1 #include#include #include #include #defineN1000 typedefstructcontact { charname[30]; chargender[10]; intage; inttelephone; charaddress[100]; };//结构体没有定义变量属于声明一个结构体类型 voidmeau(); voidshow(structcontact*p,intlen);//structcontact*p:结构体指针指向这个结构体,intlen:结构体数组的长度 voidAdd_linkman(structcontact*p,intlen,intflag); intDelete_linkman(structcontact*p,intd_number,intlen);//intd_number选择要删除第几个结构体的内容 voidFind_member(structcontact*p,intd_number,intlen);//intd_number表示要查找的第几个结构体的内容(即联系人的信息) voidempty(structcontact*p); voidModify(structcontact*p,intM_member);//intM_member:要修改的第几个联系人 intcmp(constvoid*a,constvoid*b);//qsort里面的比较函数定义任意类型 voidsort(structcontact*p,intlen);//根据联系人的名字进行排序 #endif//条件编译
contact.c文件
#include"test.h" voidmeau() { printf("*******************************************\n"); printf("*******************************************\n"); printf("##############Myaddressbook##############\n"); printf("*1-Add2-Delete3-Find*\n"); printf("*4-Empty5-Modify6-Sort*\n"); printf("*0-Exit7-Show*\n"); printf("*******************************************\n"); printf("*******************************************\n"); } voidshow(structcontact*p,intlen) { assert(p); inti=0; for(i=0;i=0||d_number-1 name!=bb->name) return(strcmp((aa->name),(bb->name))); } voidsort(structcontact*p,intlen) { assert(p); qsort(p,len,sizeof(structcontact),cmp); }
test.c文件:
#include"test.h" intmain() { intnum=0; structcontactstudent[N]; intlen=0; intflag=0;//定义一个标志位来结构体数组中每个结构体的位置 inttotal=N; intdelete_number=0; meau(); while(1) { printf("请输入数字进行选择:"); scanf("%d",&num); switch(num) { case1:{ printf("请添加len个学生的信息:"); scanf("%d",&len); Add_linkman(student,len+flag,flag); flag=flag+len; }break; case2:{ printf("请输入要删除的第i个学生的信息:"); scanf("%d",&delete_number); Delete_linkman(student,delete_number,len+flag); flag=flag-1; }break; case3:{ intFind_number=0; printf("请输入要查找的第i个学生的信息:"); scanf("%d",&Find_number); Find_member(student,delete_number,len+flag); }break; case4:{ printf("清空所有联系人:"); empty(student); }break; case5:{ printf("请输入要修改的的第i个学生的信息:"); intM_member=0; scanf("%d",&M_member); Modify(student,M_member); }break; case6:{ printf("根据名字排序所有联系人:\n"); sort(student,len+flag); }break; case7:{ printf("打印所有联系人的信息:\n"); show(student,flag); }break; case0:{ exit(1); } default:printf("entererrordata!!!"); } } system("pause"); return0; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。