⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 infsearch.cpp

📁 基于VC的小型数据库管理程序源代码
💻 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 + -