0
int main (void){
do
{
mainmenu:
mainmenu();
switch(option)
{
//add new contact
case 1:addcontact(storage);savecontact(storage);
break;
case 2:searchcontact();
break;
}
}while(true);
}
void searchcontact()
{
char searchname[20];
system("cls");
do
{
int find = 0;
printf("Contact Search\n Name of the Contact:\n");
fflush(stdin);
scanf("%[^\n]",&searchname);
length=strlen(searchname);
f=fopen("contact.txt","rb");
system("cls");
printf("Search the result for %s\n",searchname);
while(fread(&storage,sizeof(storage),space,f)==true)
{
for(i=0;i<=length;i++)
storage[space].name[i]=storage[space].name[i];
storage[space].name[length]='\0';
if(stricmp(storage[space].name,searchname)==false)
printf("Name\t:%s\nPhone\t:%d\nE-mail\t:%s\n",storage[space].name,storage[space].hpnum,storage[space].email);
find++;
}
if(find==false)
printf("\nNo match found!");
else
printf("\n %d match(s) found",find);
fclose(f);
printf("\nTry again?\t[1] Yes\t[2] No\n");
scanf("%d",&choice);
}while(choice==true);
}
我遇到了搜索問題......在我添加聯繫人之後,我無法再搜索它......我使用stricmp搜索聯繫人...儘管我發現了保存聯繫人的正確名稱,但它仍然無法搜索出來......繼續打電話給我再試一次。所以這個bug主要是在那裏的搜索功能。我的真實值是== 1,而我的錯誤值是== 0。與聯繫人系統管理的搜索功能問題
是C代碼嗎?一些功能和變量定義缺失,如選項存儲選擇...你可以給缺少的部分? – 2013-03-02 09:02:19
@nullix這沒關係......我試圖將我的代碼上傳到其他地方,你可以下載它... =) 由於在這裏不能寫太多的編碼,我寧願你下載我的文件,並理解我的整個編碼以便讓您解決我的問題。 =) http://www.mediafire.com/?pkqsasr8forgjwv – jefferyleo 2013-03-02 12:21:53
我把它移植到linux來測試它,並修復你的功能,看到答案。 – 2013-03-03 21:18:52