sub4.cpp
来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 101 行
CPP
101 行
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
struct Element
{
char *nume;
char *tel;
Element *link;
};
typedef Element* Lista;
void initlista(Lista& l);
void insert(Lista& l,char *pn,char *pt);
void afis(Lista l);
double caut(Lista& l,char *s);
void main()
{
char a[80],b[25];
Lista cap;
char *num,*tl,*s;
clrscr();
initlista(cap);
printf("\nIntroduceti agenda :\n");
printf("\nNume : ");
gets(a);
while(a[0]!='.')
{
num=strdup(a);
printf("\nTel. : ");
gets(b);
tl=strdup(b);
insert(cap,num,tl);
printf("\nNume : ");
gets(a);
}
printf("\nAgenda este :\n");
afis(cap);
printf("\nNumele cautat :");
gets(s);
if(caut(cap,s))
printf("\nNumarul persoanei numite '%s' este %.0lf !",s,caut(cap,s));
else
printf("\nPersoana ' %s ' nu figureaza in agenda!",s);
getch();
}
void initlista(Lista& l)
{
l=0;
}
void insert(Lista& l,char *pn,char *pt)
{
Element *p,*q;
p=new Element;
p->nume=pn;
p->tel=pt;
if(l==0 || strcmp(p->nume,l->nume)<=0)
{
p->link=l;
l=p;
}
else
{
q=l;
while(q->link!=0 && strcmp(p->nume,q->link->nume)>0)
q=q->link;
p->link=q->link;
q->link=p;
}
}
void afis(Lista l)
{
Lista p;
clrscr();
p=l;
while(p!=0)
{
printf("\nNume : %s",p->nume);
printf(" <--> %s",p->tel);
p=p->link;
}
}
double caut(Lista& l,char *s)
{
Lista p;
p=l;
while(p!=0)
{
if(strcmp(p->nume,s)==0)
return(atof(p->tel));
p=p->link;
}
return(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?