Dies ist die Funktion eines Telefonbuchs, das Namen und ihre Telefonnummer erhält. Für die angeforderten Namen muss die Telefonnummer gedruckt werden. Die letzte Zeile druckt unendlich, ich kann das Ende der Eingabe nicht erkennen. Ich habe \n
, ' '
und " "
verwendet, aber nichts funktioniert. HILFE!Das Ende der Eingabezeichenfolgen kann nicht erkannt werden.
#include <stdio.h>
struct ph_book{
char name[100000];
double ph;
}p[20];
int main() {
char temp[100000],ex[100000];
int n,i,flag=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",p[i].name) ;
scanf("%lf",&p[i].ph);
}
scanf("%s",temp);
while(temp[0]!='\n'){
flag=0;
for(i=0;i<n;i++){
if(strcmp(temp,p[i].name)==0){
printf("%s=%.lf\n",p[i].name,p[i].ph);
flag=1;
break;
}
}
if (flag==0){
printf("Not found\n");
}
strcpy(ex,temp);
scanf("%s",temp);
if (strcmp (temp, "\n") == 0)
break;
}
return 0;
}/* Enter your code here. Read input from STDIN. Print output to STDOUT */