课程设计帮帮忙~!
编写一个程序输入若干人的姓名和电话号码(8位),以字符‘#’结束输入。然后输入姓名,查找该人的电话号码。
谢谢大家~!帮帮忙吧~!
学得不好,希望大家帮帮忙,我会努力学习的~!
程序代码:/*******************************************************************************
编写一个程序输入若干人的姓名和电话号码(8位),以字符‘#’结束输入。
然后输入姓名,查找该人的电话号码。
*******************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct line
{
char name[41];/* 姓名,40个字节 */
char tel[9]; /* 电话号码,8+休止符=9字节 */
struct line *next;
}*p,*pr,*head;
void INPUT()
{
int i=0;
char c;
printf("1,任意键输入数据;\n2,‘#’退出.\n请选择:\n");
c=getch();
if(c=='#') exit(0);
while(9)
{
p=(struct line*)malloc(sizeof(struct line));
if(p==NULL) exit(0);
printf("任意键继续输入,‘#’键结束:\n");
c=getch();
if(c=='#') break;
printf("请输入第%d人姓名(本系统不支持汉字输入)'#' 结束输入:\n",i+1);
scanf("%s",&p->name);
printf("请输入8位电话号码:\n");
scanf("%s",&p->tel);
if(i==0)
{
head=p;pr=p;
}
else
{
pr->next=p;
pr=p;
}
i++;
}
p->next=NULL;
}
void serch(char a[])
{
p=head;
while(strcmp(a,p->name)!=0&&p->next!=NULL)
{
pr=p;
p=p->next;
}
if(p->next==NULL) printf("没有您要查找的用户.\n");
if(strcmp(a,p->name)==0) printf("%s,%10s\n",p->name,p->tel);
getch();
}
int main(void)
{
char name[41];
char c;
INPUT();
while(9)
{
system("cls");
printf("要查找用户,请按任意键,'#'键退出:\n");
c=getch();
if(c=='#') break;
printf("请输入要查找的姓名:\n");
scanf("%s",&name);
serch(name);
}
p=head;
while(p->next!=NULL)
free(p);
}