电话簿c语言
❶ c语言电话簿程序
#include#include#include#defineM500structMan//定义结构体{charName[8];//名字charDepart[20];//工作单位charQQ[10];//QQ号码charEmail[30];//邮箱};voidtext();//相当于主函数voidtext1();//菜单输出chartext2();//开始的版权信息输出intDelete(ManMan[],intSize);//删除信息voidDisplay(Manman[]);//显示所有记录voidgetch();intInsert(ManMan[],intSize);//插入模块voidModify(ManMan[],intSize);//修改模块intS_asname(ManMan[],intSize,intn);//查找信息voidS_asqq(ManMan[],intSize);//按QQ查找模块intSave(ManMan[],intSize);//把数据写入文件intScan(ManMan[]);//从文本中读取数据voidmain()//主函数{text();//(这边纯属蛋疼,最多加长系统运行时间)}voidtext()//相当于主函数{Manman[M];//500人的结构体数组charcontrol=0;//菜单选择控制变量intsize=0;//保存当前已有的记录if(text2())//这边可不要if,直接调用text2,显示版权信息。{size=Scan(man);//判断文件是否存在while(1)//菜单生成{text1();//菜单显示scanf(
❷ c语言电话薄设计:
以完成,成功。图如下,包括添加、查找、修改、删除、退出等,可以通过生成的txt文件查看结果
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
structperson
{
charname[8];
chartel[15];
charaddr[50];
};
charfilename[20]="txl.txt";
FILE*fp;
voidoutput();
voidsearch();
voidappend();
voidmodify();
voiddel();
voidmain()
{
intm;
fp=fopen(filename,"w");
fprintf(fp,"%-10s%-20s%-50s ","姓名","电话号码","住址");
fclose(fp);
while(1)
{
printf(" *********欢迎使用通讯录信息管理系统********* ");
printf(" 添加,请按1");
printf(" 查找,请按2");
printf(" 修改,请按3");
printf(" 删除,请按4");
printf(" 输出,请按5");
printf(" 退出,请按0 ");
printf(" ******************************************** ");
printf("Pleaseselect(0--5):");
scanf("%d",&m);
if(m>=0&&m<=5)
{
switch(m)
{
case1:append();
break;
case2:search();
break;
case3:modify();
break;
case4:del();
break;
case5:output();
break;
case0:exit(0);
}
printf(" 操作完毕,请再次选择!");
}
else
printf(" 选择错误,请再次选择!");
}
}
/*输出模块output():输出通讯录中联系人通讯信息的子函数*/
voidoutput()
{
structpersonone;
if((fp=fopen(filename,"r"))==NULL)
{
printf(" 不能打开通讯录!");
exit(0);
}
printf(" %20s ","通讯录");
while(!feof(fp))
{
fscanf(fp,"%s%s%s ",one.name,one.tel,one.addr);
printf("%-10s%-20s%-50s",one.name,one.tel,one.addr);
}
fclose(fp);
}
/*添加模块append():向通讯录中添加某人通讯信息的子函数*/
voidappend()
{
structpersonone;
if((fp=fopen(filename,"a"))==NULL)
{
printf(" 不能打开通讯录!");
exit(0);
}
printf(" 请输入添加的姓名、电话号码及住址 ");
scanf("%s%s%s",one.name,one.tel,one.addr);
fprintf(fp,"%-10s%-20s%-50s ",one.name,one.tel,one.addr);
fclose(fp);
}
/*查找模块search():在通讯录中查找某人通讯信息的子函数*/
voidsearch()
{
intk=0;
charnamekey[8];
structpersonone;
printf(" 请输入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"rb"))==NULL)
{
printf(" 不能打开通讯录!");
exit(0);
}
while(!feof(fp))
{
fscanf(fp,"%s%s%s ",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
printf(" 已查到,记录为:");
printf(" %-10s%-18s%-50s",one.name,one.tel,one.addr);
k=1;
}
}
if(!k)
printf(" 对不起,通讯簿中没有此人的记录。");
fclose(fp);
}
/*修改模块modify():在通讯录中修改某人通讯信息的子函数*/
voidmodify()
{
intk=0;
longoffset;
charnamekey[8];
structpersonone;
printf(" 请输入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf(" 不能打开通讯录!");
exit(0);
}
while(!feof(fp))
{
offset=ftell(fp);
fscanf(fp,"%s%s%s ",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
k=1;
break;
}
}
if(k)
{
printf(" 已查到,记录为:");
printf(" %-10s%-18s%-50s",one.name,one.tel,one.addr);
printf(" 请输入新姓名、电话号码及住址:");
scanf("%s%s%s",one.name,one.tel,one.addr);
fseek(fp,offset,SEEK_SET);
/*printf("%ld",ftell(fp));*/
fprintf(fp,"%-10s%-20s%-50s ",one.name,one.tel,one.addr);
}
else
printf(" 对不起,通讯录中没有此人的记录。");
fclose(fp);
}
/*删除模块delete():在通讯录中删除某人通讯信息的子函数*/
voiddel()
{
intm,k=0;
longoffset1;
charnamekey[8];
structpersonone;
printf(" 请输入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf(" 不能打开通讯录!");
exit(0);
}
while(!feof(fp))
{
offset1=ftell(fp);
fscanf(fp,"%s%s%s ",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
k=1;
if(k)
{
printf(" 已查到,记录为");
printf(" %-10s%-18s%-50s",one.name,one.tel,one.addr);
printf(" 确实要删除,按1;不删除,按0:");
scanf("%d",&m);
if(m)
{
fseek(fp,offset1,SEEK_SET);//fseek函数用来改变文件指针位置,SEEK_SET为0,表示文件开头;为1,表示当前位置;为2表示文件结尾;
fprintf(fp,"%-10s%-20s%-50s ","","","");
}
else
printf(" 您已取消对该通讯人信息的修改。 ");
fclose(fp);
}
return;
}
}
if(!k)printf("对不起,通讯录中没有此人 ");
}

❸ C语言编写电话簿求救中。。。。。。紧急
void
add()
{
TEL
*p1,*p2;
p1=(TEL*)malloc(sizeof(TEL));
printf("请输入姓名
电话!\n");
scanf("%s
%s",p1->name,p1->phonenumber);
p1->next=NULL;
if(head==NULL)
{
head=(TEL
*)malloc(sizeof(TEL));
head->next=p1;
}
else
{
for(p2=head;p2
!=
NULL;
p2=p2->next)
{
if
(p2->next
==
NULL)
break;
}
p2->next=p1;
}
printf("添加成功!");
}
void
del()
{
TEL
*p5,*p6;
p5=p6=head;
char
dname[20];
printf("请输入要删除的姓名!\n");
scanf("%s",dname);
while(p5
!=
NULL)
{
p6
=
p5->next;
if
(NULL
==
p6)
{
return;
}
if(strcmp(p6->name,dname)==0)
{
p5->next=p6->next;
free(p6);
print();
return;
}
p5=p5->next;
}
}
void
main()
{
char
key;
menu();
while(1)
{
printf("请选择:");
scanf("%c",&key);
switch(key)
{case'a':add();
break;
case
'p':print();break;
case
'd':del();break;
case
's':search();break;
default:printf("输入错误!请重新输入!\n");break;
}
fflush(stdin);
}
}
❹ C语言结构体加指针写电话簿,改错

#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
struct people
{ char name[100];
char num[100];
struct people* next;
};
struct people* head;
struct people* p;
void inputpeo()
{ //插入头节点后
while(1)
{ struct people* newpeople = (people*) malloc(sizeof(people));
p = head;
printf("输入姓名: ");
scanf("%s", newpeople->name);
printf("输入电话: ");
scanf("%s", newpeople->num);
newpeople->next = head->next ;
head->next = newpeople;
printf("按任意键接着输入,按R返回目录 ");
getchar();
char ch = getchar();
if(ch == 'R' || ch == 'r')
{ break;
}
}
}
void showpeo()
{ for(p = head; p != NULL; p = p->next)
{ if(p != head)
{ printf("姓名:%s 电话:%s ", p->name, p->num);
}
}
}
void deletepeo(people *peo)
{ people *q = head->next;
for(p = head; q != NULL; q = q->next, p = p->next)
{ if(strcmp(q->name , peo->name ) == 0)
{ p->next = q->next ;
free(q);
}
}
if(q == NULL) printf("未找到联系人 ");
}
void find(people *peo)
{ for(p = head; p != NULL; p = p->next)
{ if(p != head)
{ if(strcmp(p->name , peo->name ) == 0)
{ printf("姓名:%s 电话:%s ", p->name , p->num );
return ;
}
}
}
if(p == NULL) printf("没找到联系人 ");
}
void change(people *peo)
{ for(p = head; p != NULL; p = p->next)
{ if(p != head)
{ if(strcmp(p->name , peo->name ) == 0)
{ printf("姓名:%s 电话:%s ", p->name , p->num );
printf("现将电话修改为: ");
scanf("%s", p->num );
return ;
}
}
}
if(p == NULL) printf("没找到联系人 ");
}
void menu()
{ printf("输入1录入联系人 ");
printf("输入2显示联系人 ");
printf("输入3删除联系人 ");
printf("输入4查找联系人 ");
printf("输入5修改联系人 ");
printf("输入6退出系统 ");
}
int main()
{ head = (people*) malloc(sizeof(people));
head->next = NULL;//定义了一个可以指向结构体的指针
menu();
int n;
scanf("%d", &n);
while (n != 6)
{ people *peo = (people*) malloc(sizeof(people));
switch (n)
{ case 1://1.录入信息
inputpeo();
break;
case 2://2.显示信息
showpeo();
break;
case 3://3.删除信息
printf("输入需要删除的人的名字: ");
scanf("%s", peo->name );
deletepeo(peo);
break;
case 4://4.查找信息
printf("输入需要查找的人的名字: ");
scanf("%s", peo->name);
find(peo);
break;
case 5://5.修改信息
printf("输入需要修改的人的名字: ");
scanf("%s", peo->name);
change(peo);
break;
default:
printf("输入错误,重新输入 ");
break;
}
menu();
scanf("%d", &n);
}
printf("结束");
return 0;
}
❺ C语言用结构体编写电话簿
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int len=0,j,q,u, x,n=0,i=0,s;
int b;
int c;
void sb()
{
printf("\t&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
printf("\t& &\n");
printf("\t& 通 讯 录 管 理 系 统 &\n");
printf("\t& &\n");
printf("\t& 主菜单 &\n");
printf("\t& &\n");
printf("\t& <1>添加联系人 &\n");
printf("\t& <2>浏览已有联系人 &\n");
printf("\t& <3>修改联系人信息 &\n"); //菜单界面
printf("\t& <4>删除联系人 &\n");
printf("\t& <5>查询联系人 &\n");
printf("\t& <6>退出 &\n");
printf("\t& &\n");
printf("\t& &\n");
printf("\t&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
}
struct person
{int num[100];
char name[30];
char jiguan[20];
char phone1[30];
char phone2[30];
char e_mail[40];
}a[100];
void shuru()
{
printf("请输入联系人信息,输入'#'返回\n");
while(1)
{system("cls");
sb();
printf("请输入联系人姓名:\n");
scanf("%s",&a[i].name);
printf("请输入籍贯:\n");
scanf("%s",&a[i].jiguan);
printf("请输入号码1:\n");
scanf("%s",&a[i].phone1);
printf("请输入号码2:\n");
scanf("%s",&a[i].phone2);
printf("请输入邮箱:\n");
scanf("%s",&a[i].e_mail);
a[i].num[i]=i+1;
len=len+1; //添加联系人
i=i+1;
system("cls");
sb();
printf("\n");
printf("添加成功!\n输入'1'继续添加,输入'0'返回主菜单\n");
scanf("%d",&b);
if(b==0){system("cls");
sb();break;}
}
printf("已添加%d个联系人\n",len);
printf("请选择菜单功能:");
}
void tt()
{
printf("\t******************************************************************\n");
printf("\t* *\n");
printf("\t* ~☆~ 此程序由小山B同学独自编写,此程序解释权归小山B所有。 *\n");
printf("\t* 请用户使用时遵守《版权法》及相关法律法规,不得以任何名义 *\n"); //开始界面
printf("\t* 复制、传播此程序代码。版权所有,侵权必究! *\n");
printf("\t* *\n");
printf("\t******************************************************************\n");
printf("\t选择1代表用户同意以上条约并继续使用,选择2退出界面。\n");
}
void ss()
{
jixu:
system("cls");
sb();
printf("\n");
printf("已有联系人:\n");
for(j=0;j<len;j++)
printf("%d\t%s\t%s\n",j+1,a[j].name,a[j].phone1); //浏览联系人
printf("\n");
printf("输入对应编号查看详细信息,输入'0'返回主菜单\n");
scanf("%d",&i);
if(i==0){system("cls");
sb();printf("请选择菜单功能:\n");return ;}
system("cls");
sb();
printf("\t姓名:\t%s\n\t籍贯:\t%s\n\tphone1:\t%s\n\tphone2:\t%s\n\te-mail:\t%s\n",a[i-1].name,a[i-1].jiguan,a[i-1].phone1,a[i-1].phone2,a[i-1].e_mail);
printf("\n输入'9'返回上一页,输入'0'返回主菜单,\n");
scanf("%d",&c);
if(c==9){goto jixu;}
else{
system("cls");
sb();
printf("请选择菜单功能:\n");}
}
void shanchu()
{ system("cls");
sb();
printf("已有联系人:\n");
for(j=0;j<len;j++)
printf("%d\t%s\t%s\n",j+1,a[j].name,a[j].phone1); //删除联系人
printf("\n");
printf("请选择需要删除的联系人编号:");
scanf("%d",&x);
for(s=x;s<=len;s++)
a[s-1]=a[s];
len=len-1;
system("cls");
sb();
printf("删除成功!\n");
printf("请选择菜单功能:\n");
}
void xiugai()
{
system("cls");
sb();
printf("已有联系人:\n");
for(j=0;j<len;j++)
printf("%d\t%s\t%s\n",j+1,a[j].name,a[j].phone1); //修改联系人
printf("\n");
printf("请选择需要修改的联系人编号:");
scanf("%d",&x);
system("cls");
sb();
printf("\n(1)\t%s\n(2)\t%s\n(3)\t%s\n(4)\t%s\n(5)\t%s\n",a[x-1].name,a[x-1].jiguan,a[x-1].phone1,a[x-1].phone2,a[x-1].e_mail);
printf("\n请输入需要修改的信息编号:\n");
scanf("%d",&c);
if(c==1){printf("请输入新姓名:\n");scanf("%s",a[x-1].name);}
if(c==2){printf("请输入新籍贯:\n");scanf("%s",a[x-1].jiguan);}
if(c==3){printf("请输入新号码:\n");scanf("%s",a[x-1].phone1);}
if(c==4){printf("请输入新号码:\n");scanf("%s",a[x-1].phone2);}
if(c==5){printf("请输入新邮箱:\n");scanf("%s",a[x-1].e_mail);}
system("cls");
sb();
printf("修改成功!\n");
printf("请选择菜单功能:\n");
}
void chaxun()
{int v,p;
char t[20];hehe:
system("cls");
sb();
printf("请选择查询方式:\n");
printf("\n");
printf("1.通过姓名查询\t2.通过号码查询\n\n9.返回主菜单\n");
scanf("%d",&v);
p=v; //查询联系人
if(p==1)
{system("cls");
sb();
printf("请输入查询的姓名:\n");
scanf("%s",t);
for(i=0;i<len;i++)
if(strcmp(t,a[i].name)==0)
{system("cls");sb();
printf("\t姓名:\t%s\n\t籍贯:\t%s\n\tphone1:\t%s\n\tphone2:\t%s\n\te-mail:\t%s\n",a[i].name,a[i].jiguan,a[i].phone1,a[i].phone2,a[i].e_mail);
printf("\n输入'9'返回上一页,输入'0'返回主菜单,\n");
scanf("%d",&c);
if(c==9){goto hehe;}
else{
system("cls");
sb();
printf("请选择菜单功能:\n"); return;}
}
}
if(p==2)
{system("cls");
sb();printf("请输入查询的号码:\n");
scanf("%s",t);
for(i=0;i<len;i++)
if(strcmp(t,a[i].phone1)==0)
{system("cls");sb();
printf("姓名:\t%s\n籍贯:\t%s\nphone1:\t%s\nphone2:\t%s\ne-mail:\t%s\n",a[i].name,a[i].jiguan,a[i].phone1,a[i].phone2,a[i].e_mail);
printf("\n输入'9'返回上一页,输入'0'返回主菜单,\n");
scanf("%d",&c);
if(c==9){goto hehe;}
else{system("cls");sb();printf("请选择菜单功能:\n");return;}}
for(i=0;i<len;i++)
if(strcmp(t,a[i].phone2)==0)
{system("cls");sb();
printf("姓名:\t%s\n籍贯:\t%s\nphone1:\t%s\nphone2:\t%s\ne-mail:\t%s\n",a[i].name,a[i].jiguan,a[i].phone1,a[i].phone2,a[i].e_mail);
printf("\n输入'9'返回上一页,输入'0'返回主菜单,\n");
scanf("%d",&c);
if(c==9){goto hehe;}
else{system("cls");sb();printf("请选择菜单功能:\n");return;}}
}
if(p==9){system("cls");sb();printf("请选择菜单功能:\n");return;}
else{printf("输入错误!\n请重新输入,或输入9返回主菜单\n");goto hehe;}
}
void main()
{int g;
tt();
scanf("%d",&g);
if(g==1){ system("cls");
printf("");
sb();
printf("请选择菜单功能:");
scanf("%d",&u);
q=u;
while(q!=6) //主函数
{
if(q==1) { system("cls"); sb(); shuru();}
if(q==2) { ss(); }
if(q==3) { xiugai(); }
if(q==4) { shanchu(); }
if(q==5) { chaxun(); }
scanf("%d",&q);
}
system("cls");
sb();
printf("感谢使用!\n");
}
else{ system("cls");
printf("感谢使用!\n");}
}
这是我很久之前写的了。。。你挑着改就行了,功能都没什么问题
❻ c语言程序设计 电话簿管理系统
intmain()
{
LinkQueueQ;
initAddressBook(Q);
intflag=0;
while(flag!=8)
{
printf("※※※※※主※※※※※菜※※※※※单※※※※※ ");
printf("※1、增加联系人2、删除联系人※ ");
printf("※3、修改联系人4、清空通讯录※ ");
printf("※5、查找联系人6、按组显示※ ");
printf("※7、显示全部联系人8、退出※ ");
printf("※※※※※※※※※※※※※※※※※※※※※※※ ");
printf("请输入编号(1-8): ");
scanf("%d",&flag);
if(flag<1||flag>8)
{
printf("输入错误请重新输入! ");
continue;
}
else
{
switch(flag){
case1:
if(enAddressBook(Q))
printf("增加联系人成功! ");
else
printf("增加联系人失败! ");
break;
case2:
if(delPerson(Q))
printf("删除联系人成功! ");
else
printf("联系人删除失败! ");
break;
case3:
if(update(Q))
printf("修改联系人成功! ");
else
printf("修改联系人失败! ");
break;
case4:
if(clearAddressBook(Q))
printf("通讯录已清空! ");
else
printf("通讯录清空失败! ");
break;
case5:
findByName(Q);
break;
case6:
findByGroup(Q);
break;
case7:
disAll(Q);
break;
case8:
system("cls");
break;
}
}
}
printf("※※※※※感谢您使用本系统!※※※※※※ ");
return0;
}
//初始化通讯录
voidinitAddressBook(LinkQueue&Q)
{
Q.front=Q.rear=(QNode*)malloc(sizeof(QNode));
if(!Q.front)
exit(1);
else
Q.front->next=NULL;
}
//清空通讯录
boolclearAddressBook(LinkQueue&Q)
{
system("cls");
while(addressBookLength(Q)!=0)
{
QNode*p;
p=Q.front->next;
Q.front->next=p->next;
if(p==Q.rear)
Q.rear=Q.front;
free(p);
}
returntrue;
}
//通讯录当前人数
intaddressBookLength(LinkQueue&Q)
{
inti=0;
QNode*p;
p=Q.front;
if(Q.front==Q.rear)
i=0;
else
{
while(p!=Q.rear)
{
p=p->next;
i++;
}
}
returni;
}
//删除联系人
booldelPerson(LinkQueue&Q)
{
char_name[20];
system("cls");
printf("请输入要删除的联系人的姓名: ");
scanf("%s",_name);
QNode*p,*q;
if(Q.front==Q.rear)
{
printf("通讯录为空! ");
returnfalse;
}
else
{
p=Q.front;
q=Q.front->next;
while(q!=Q.rear){
if(strcmp(q->name,_name)==0)
{
p->next=q->next;
free(q);//删除节点
returntrue;
}
else
{
p=p->next;
q=q->next;
}
}
if((strcmp(q->name,_name)==0))
{
free(q);
Q.front=Q.rear;
returntrue;
}
else
{
printf("无此联系人! ");
returnfalse;
}
}
}
//查找联系人
boolfindByName(LinkQueue&Q)
{
system("cls");
if(Q.front==Q.rear)
{
printf("手机中无联系人! ");
returnfalse;
}
else
{
char_name[20];
printf("请输入要查询的联系人姓名: ");
scanf("%s",_name);
QNode*p;
p=Q.front->next;
while(p->next!=NULL)
{
if(strcmp(p->name,_name)==0)
{
printf("姓名:%s号码:%s分组:%s ",p->name,p->tel,p->group);
returntrue;
}
p=p->next;
}
if(strcmp(p->name,_name)==0){
printf("姓名:%s号码:%s分组:%s ",p->name,p->tel,p->group);
returntrue;
}
else
{
printf("查无此人! ");
returnfalse;
}
}
}
//按组显示联系人
boolfindByGroup(LinkQueue&Q)
{
system("cls");
if(Q.front==Q.rear)
{
printf("手机中无联系人! ");
returnfalse;
}
else
{
char_group[20];
printf("请输入要查询的分组: ");
scanf("%s",_group);
QNode*p;
p=Q.front->next;
while(p->next!=NULL)
{
if(strcmp(p->group,_group)==0)
{
printf("姓名:%s号码:%s ",p->name,p->tel);
}
p=p->next;
}
if(strcmp(p->group,_group)==0){
printf("姓名:%s号码:%s ",p->name,p->tel);
returntrue;
}
else
{
printf("无此分组! ");
returnfalse;
}
}
}
//增加联系人
boolenAddressBook(LinkQueue&Q)
{
system("cls");
QNode*p;
p=(QNode*)malloc(sizeof(QNode));
if(!p)
returnfalse;
else
{
printf("请输入联系人姓名: ");
scanf("%s",p->name);
printf("请输入联系人号码: ");
scanf("%s",&p->tel);
printf("请输入联系人分组: ");
scanf("%s",p->group);
if(Q.front->next==NULL)
{
Q.front->next=p;
Q.rear=p;
Q.rear->next=NULL;
}
else
{
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
}
returntrue;
}
}
//修改联系人
boolupdate(LinkQueue&Q)
{
system("cls");
if(Q.front==Q.rear)
{
printf("手机中无联系人! ");
returnfalse;
}
else
{
char_name[20];
printf("请输入要修改的联系人姓名: ");
scanf("%s",_name);
QNode*p;
p=Q.front->next;
while(p->next!=NULL)
{
if(strcmp(p->name,_name)==0)
{
printf("请输入新联系人姓名: ");
scanf("%s",p->name);
printf("请输入新联系人号码: ");
scanf("%s",&p->tel);
printf("请输入新联系人分组: ");
scanf("%s",p->group);
returntrue;
}
p=p->next;
}
if(strcmp(p->name,_name)==0){
printf("请输入新联系人姓名: ");
scanf("%s",p->name);
printf("请输入新联系人号码: ");
scanf("%s",&p->tel);
printf("请输入新联系人分组: ");
scanf("%s",p->group);
returntrue;
}
else
{
printf("查无此人! ");
returnfalse;
}
}
}
//显示所有联系人
voiddisAll(LinkQueue&Q)
{
system("cls");
inti=0;
QNode*p;
p=Q.front->next;
if(Q.front==Q.rear)
printf("无联系人! ");
else
{
printf("姓名号码分组 ");
while(p!=NULL){
printf("%15s%15s%15s ",p->name,p->tel,p->group);
p=p->next;
}
}
}
❼ 电话簿 C语言 查询环节
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedefstructbook{
charname[20];
charnum[11];//11位宽度不够啊!
structbook*next;
}Book;
intmain(){
Book*insert(Book*head,char*name,char*num);
Book*create(Book*head);
voidshow(Book*head);
intsearch(Book*head,char*name);
Book*p;
p=(Book*)malloc(sizeof(Book));
p->next=NULL;
create(p);
charname[20];
charnum[11];
intn;
while(1){
printf("******************* ");
printf("请输入操作菜单的序号 ");
printf("1:查找联系人电话: ");
printf("2:插入联系人电话: ");
printf("3:删除联系人电话: ");
printf("4:显示所有联系人电话: ");
printf("0:退出: ");
printf("******************* ");
scanf("%d",&n);
switch(n){
case1:
printf("请输入要查找的联系人姓名:");
scanf("%s",name);
if(search(p,name)==0)printf("查找到了! ");
elseprintf("没有此联系人!");
break;
case2:
printf("请输入联系人的姓名:");
scanf("%s",name);
printf("请输入联系人的电话号码");
scanf("%s",num);
insert(p,name,num);
break;
case3:break;
case4:show(p);break;
case0:exit(0);
}
}
return1;
}
