📄 qname.c
字号:
#ifndef QUERYINTRO
#define QUERYINTRO
#include "stdio.h"
#include "shead.h"
int equename(char * name1,char * name2)
{ /* name2为用户输入的姓名 */
/* 如果name1中包含name2返1,否则返回0 */
int i=0;
while(name2[i]!='\0')
{
if(name1[i]=='\0')
{
return 0;
}
if(name1[i]!=name2[i])
{
return 0;
}
i++;
}
return 1;
}
void QueryIntro()
{
int result=0;/* "result=1"说明查询成功,反之查找失败 */
candidate TempS;/* 定义进行操作时的临时结构体变量 */
/* candidate s[10]; */
char Name[20];
char DataFile[10]="houshuan",next;/* DataFile存放候选人简介信息的文件名,next为是否进行下一次删除操作的选项 */
FILE *fp=NULL;
begin:
result=0;
printf("Please input the name of candidate whicth needs look up(under 20 bit figure),end with enter key.\nName:");
scanf("%s",Name);
Name[19]='\0';
/* 以只读方式打开文件 */
fp=fopen(DataFile,"rb");
if(fp==NULL)
{
printf("\nOpen file %s fail !End with any key.\n",DataFile);
perror("Open file fail");
getch();
exit(1);
}
/* 循环查找和输入姓名相符的候选人简介记录,如果查找到,则输出结果 */
printf("finding.....\n");
while(fread(&TempS,sizeof(candidate),1,fp)!=(int)NULL)
{
if(equename(TempS.Name,Name)==1)
{
printf("\n Find:)\n");
printf("\nNumber:%ld\tName:%s\nintro:%s\nvote:%d",TempS.Number,TempS.Name,TempS.intro,TempS.votenum);
result=1;/* "result=1 说明找到了该候选人的对应信息 */
}
}
fclose(fp);
/* 提示投票者已查到结果并询问是否继续查找 */
if(result==0)
{
printf("There is not data of the name %s !\n",Name);
}
printf("\nGo on?(y/n)");
fflush(stdin);
next=getchar();
putchar('\n');
if(next=='y'||next=='Y')goto begin;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -