?? infsearch.cpp
字號:
#include "include.h"
extern Inflinklist *head;
//------------------------------------------------
//--信息查詢
//------------------------------------------------
extern Inflinklist *head;
char Infsearch(Inflinklist * ps, char *name)
{
int cnt=0; //輸入姓名查詢標記,為0則沒有
int cnt2=0; //配偶信息查詢標記,為0則沒有
char cc;
Inflinklist * q0, *q1;
q1=head->next;
while(q1!=NULL) //名字有重名,必須遍歷整個鏈表
{
if(!( q1->name[0]==name[0])) //比較名字的第一個字符是否相同,不同則繼續
q1=q1->next;
else
{
if(!(strcmp(q1->name, name))) //比較是否全部相同,相同則輸出
{
printf(" personnal information is below:\n");
printf(" name:%s\t sex:%c\t age:%d\t spousename:%s\n",q1->name,q1->sex,q1->age,q1->spousename);
printf(" spouse information is below:\n");
cnt=cnt+1;
if(q1->spousename[0]==NULL) printf(" spousename is null!\n"); //沒有配偶的名字,這里理解為沒有配偶
else //有則查詢
{
cnt2=0;
q0=head->next;
while(q0!=NULL) //再一次遍歷整個鏈表
{
if(!( q0->name[0]==q1->spousename[0])) //比較名字的第一個字符是否與q1配偶的名字相同,不同則繼續
q0=q0->next;
else //相同
{
if((q0->sex!=q1->sex) && (!strcmp(q0->name, q1->spousename))) //性別不同,并且q0的名字與q1的配偶的名字相同,
{
if(!(strcmp(q0->spousename, q1->name))) //q0的配偶的名字與q1相同 ;則認為q0與q1是夫妻,如果沒有重名的話.
{
printf(" name:%s\t sex:%c\t age:%d\t spousename:%s",q0->name,q0->sex,q0->age,q0->spousename);
printf("\n-----------------------------------------------------------\n");
cnt2=cnt2+1;
}
}
q0=q0->next; //繼續往后,名字可能重名
}
}
if(cnt2==0) printf(" No spouse imformation relative!\n");
}
}
q1=q1->next;
}
}
if (cnt==0) printf(" ERROR!!No such name exist! No information found!\n");
printf("\nSearch continue? press Y/y continue;to end,press N/n:\t");
fflush(stdin);
cc= GetContinueNote();
return cc;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -