im tryin to make a code that given a keyword it will search for its instances in all the Questions(take note that words in the question are seperated by a space)-my code here runs but doesnt seem to get any match though im pretty sure the keyword i entered has a match.anybody help??
int find(ptrGNode pGame)
{ ptrGNode pTemp;
int nCtr,i,j,k,l,m,nVal;
str70 strTemp;
char sKey[31];
int nFound=0,nWhere;
nCtr =0;
do{printf("\n\n Enter Keyword:>");
scanf("%s",sKey);
if(strlen(sKey)>31)
printf("Keyword must only be 30 characters or less");
}while(strlen(sKey)>31);
if(sKey[0]=='\0')
return(NOT_FOUND);
else
{pTemp=pGame;
j=0;
while(pTemp!=NULL)
{
for(i=0;i<strlen(pTemp->sGame.strQuestions);i++)
{
while(pTemp->sGame.strQuestions[i]!='\0')
{
strTemp[j]=pTemp->sGame.strQuestions[i];
j++;
}
strTemp[j]='\0';
if(!strcmp(strTemp,sKey))
{
nFound=1;
return(nCtr);
}
else
nCtr++;
pTemp=pTemp->pGNext;
}
}
}
if(nFound==1)
nWhere=nCtr;
else
nWhere=NOT_FOUND;
return(nWhere);
}
/*Function: view_Keyword *
* Purpose: this function displays the question matching the keyword *
* Note: Calls the function int find() */
void view_Keyword(ptrGNode pGame,struct_Game sGame)
{ptrGNode pTemp;
int nNum,nChoice;
pTemp=pGame;
do
{printf("\n ~ ~ ~ ~ ~ VIEW KEYWORD ~ ~ ~ ~ ~ \n");
nNum = find(pGame);
if( nNum==-1)
printf("not found!");
else
display_Question(pTemp->sGame);
printf(" Would you like to look up another(1-yes/0-no)?");
scanf("%d",&nChoice);
if(nChoice==1)
view_Keyword(pGame,sGame);
else if(nChoice==0)
view_Question(pGame,sGame);
else
puts(ERROR);
}while(nChoice==1);
}