下面这段代码 调试时候出现 declaration syntax error 出错
请问应该怎么改啊
#include<stdio.h>
#include<stdlib.h>
struct person
{
char name[100];
char tel[100];
char addr[100];
};
char filename[100];
FILE *fp;
void append();
void creat();
void search();
void delete();
void output();
void seek()void append() <===============就这有一出错误declaration syntax error
{
struct person one;
if((fp=fopen(filename,"a"))==NULL)
{
printf("\ncan't open the telebook !");
exit(0);
}
printf("\n input name and address \n");
scanf("%s%s%s",one.name,one.tel,one.addr);
fprintf(fp,"%-100s%-100s%-100s\n",one.name,one.tel,one.addr);
fclose(fp);
}
void creat()
{
struct person one;
long s1;
printf("\n input name:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\ncan't create!");
exit(0);
}
fprintf(fp,"%-100s%-100s%-100s\n","name ","phonenumber","address");
printf("\nplease input the name phonenumber and address!(end by 0)\n");
scanf("%s",one.name);
while(strcmp(one.name,"0"))
{
scanf("%s%s",one.tel,one.addr);
fprintf(fp,"%-100s%-100s%-100s\n",one.name,one.tel,one.addr);
scanf("%s",one.name);
}
fclose(fp);
}
void search()
{
int k=0;
char namekey[8];
struct person one;
printf("\n input name:");
scanf("%s",namekey);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("\ncan't open the telebook!");
exit(0);
}
while(!feof(fp))
{
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
printf("\n\n found,like:");
printf("\n%-100s%-100s%-100s",one.name,one.tel,one.addr);
k=1;
}
}
if(!k)
printf("\n not find \n");
fclose(fp);
}
void delete()
{
int m,k=0,flag;
long offset1,offset2;
char namekey[8], valid[4];
struct person one;
printf("\n input name:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\ncan't open ");
exit(0);
}
while(!feof(fp))
{
offset1=ftell(fp);
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
k=1;
break;
}
}
if(k)
{
printf("\nhave found,record like");
printf("\n%-100s%-100s%-100s",one.name,one.tel,one.addr);
printf("\n****delete,choose 1;undelete,choose 0*****:\n");
scanf("%d",&m);
if(m)
{
seek(fp,offset1,SEEK_SET);
fprintf(fp,"%-100s%-100s%-100s\n","","","");
}
}
else
printf("\nnot found!\n");
fclose(fp);
}
void output()
{
struct person one;
if((fp=fopen(filename,"r"))==NULL)
{
printf("\ncan't open telebook !\n");
exit(0);
}
printf("\n\n%100s\n","T E L E B O O K");
while(!feof(fp))
{
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
printf("%-100s%-100s%-100s",one.name,one.tel,one.addr);
}
fclose(fp);
}
main()
{
int m;
creat();
while(1)
{
printf("*****************************************");
printf("\n* add press 1 *");
printf("\n* search press 2 *");
printf("\n* delete press 3 *");
printf("\n* output press 4 *");
printf("\n* exit press 5 *\n");
printf("*****************************************\n\n");
scanf("%d",&m); if(m>=0&&m<=5)
{
switch(m)
{
case 1: append();
break;
case 2: search();
break;
case 3: delete();
break;
case 4: output();
break;
case 5: exit(0);
}
printf("\n\n ok\n\n");
}
else
printf("\n\n error\n\n");
}
}
请问应该怎么改啊
#include<stdio.h>
#include<stdlib.h>
struct person
{
char name[100];
char tel[100];
char addr[100];
};
char filename[100];
FILE *fp;
void append();
void creat();
void search();
void delete();
void output();
void seek()void append() <===============就这有一出错误declaration syntax error
{
struct person one;
if((fp=fopen(filename,"a"))==NULL)
{
printf("\ncan't open the telebook !");
exit(0);
}
printf("\n input name and address \n");
scanf("%s%s%s",one.name,one.tel,one.addr);
fprintf(fp,"%-100s%-100s%-100s\n",one.name,one.tel,one.addr);
fclose(fp);
}
void creat()
{
struct person one;
long s1;
printf("\n input name:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\ncan't create!");
exit(0);
}
fprintf(fp,"%-100s%-100s%-100s\n","name ","phonenumber","address");
printf("\nplease input the name phonenumber and address!(end by 0)\n");
scanf("%s",one.name);
while(strcmp(one.name,"0"))
{
scanf("%s%s",one.tel,one.addr);
fprintf(fp,"%-100s%-100s%-100s\n",one.name,one.tel,one.addr);
scanf("%s",one.name);
}
fclose(fp);
}
void search()
{
int k=0;
char namekey[8];
struct person one;
printf("\n input name:");
scanf("%s",namekey);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("\ncan't open the telebook!");
exit(0);
}
while(!feof(fp))
{
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
printf("\n\n found,like:");
printf("\n%-100s%-100s%-100s",one.name,one.tel,one.addr);
k=1;
}
}
if(!k)
printf("\n not find \n");
fclose(fp);
}
void delete()
{
int m,k=0,flag;
long offset1,offset2;
char namekey[8], valid[4];
struct person one;
printf("\n input name:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\ncan't open ");
exit(0);
}
while(!feof(fp))
{
offset1=ftell(fp);
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
if(!strcmp(namekey,one.name))
{
k=1;
break;
}
}
if(k)
{
printf("\nhave found,record like");
printf("\n%-100s%-100s%-100s",one.name,one.tel,one.addr);
printf("\n****delete,choose 1;undelete,choose 0*****:\n");
scanf("%d",&m);
if(m)
{
seek(fp,offset1,SEEK_SET);
fprintf(fp,"%-100s%-100s%-100s\n","","","");
}
}
else
printf("\nnot found!\n");
fclose(fp);
}
void output()
{
struct person one;
if((fp=fopen(filename,"r"))==NULL)
{
printf("\ncan't open telebook !\n");
exit(0);
}
printf("\n\n%100s\n","T E L E B O O K");
while(!feof(fp))
{
fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);
printf("%-100s%-100s%-100s",one.name,one.tel,one.addr);
}
fclose(fp);
}
main()
{
int m;
creat();
while(1)
{
printf("*****************************************");
printf("\n* add press 1 *");
printf("\n* search press 2 *");
printf("\n* delete press 3 *");
printf("\n* output press 4 *");
printf("\n* exit press 5 *\n");
printf("*****************************************\n\n");
scanf("%d",&m); if(m>=0&&m<=5)
{
switch(m)
{
case 1: append();
break;
case 2: search();
break;
case 3: delete();
break;
case 4: output();
break;
case 5: exit(0);
}
printf("\n\n ok\n\n");
}
else
printf("\n\n error\n\n");
}
}
void creat();
void search();
void delete();
void output();
void seek()
明显的语法错误。漏掉了分号。void seek() ;
void creat();
void search();
void delete();
void output();
void seek() ;这样加上了分号 提示 undefined symbol '_seek' in module 0011.c