📄 qname.c
字号:
#ifndef QUERYBYNAME
#define QUERYBYNAME
#include "stdio.h"
#include "shead.h"
/* 判断姓名是否相等,只要name1开始部分与name2相同就认为相等 */
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 QueryByName()
{
int result;/* result=1 表示查找成功,否则失败 */
money TempS;
char Name[20];
char DataFile[10]="finance",next;
FILE * fp=NULL;
system("cls");
begin:
result=0;
printf("Please input the name of Employee which you want to look.\n");
printf("Name:");
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");
fflush(stdin);
getch();
return;
}
/* 查找指定姓名的财务信息 */
while(fread(&TempS,sizeof(money),1,fp)!=(int)NULL)
{
if(equename(TempS.Name,Name)==1)
{
printf("\nFind:)\n");
if(result==0)
{
printf("\nNumber\tName\t\tin\t\tout\t\tsum\n");
}
result=1;
printf("\n%ld\t%s\t\t%.2f\t\t%.2f\t\t%.2f\n",TempS.Number,TempS.Name,TempS.in,TempS.out,TempS.sum);
}
}
fclose(fp);
/* 如未找到,提示,询问是否继续 */
if(result==0)
{
printf("There is not data of name %s!",Name);
}
printf("\nGo On(y/n):");
fflush(stdin);
next=getchar();
if(next=='y'||next=='Y') goto begin;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -