local function definitions are illegal和unexpected end of file found错误
众所周知,一年两度的作业季又到了,但自己做的程序错漏百出,改来改去还有几个问题,不得不求救了,求指点,万谢代码如下:
#include<stdio.h>
#include<string.h>
#define N 10
void input(int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N]);
void sort(int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N]);
void search(int n,int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N]);
void modify(int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N]);
int main()
{ int number,c,num[N],salary[12],born[8],pho[12];
char name[N],sex[N],dep[N],title[N];
printf("********************************************************\n");
printf("1.显示职工档案\n");
printf("2.查找职工档案\n");
printf("3.修改职工档案\n");
printf("********************************************************\n");
input(num,born,salary,pho,name,sex,dep,title);
printf("请输入对应功能数字:");
scanf("%d",&c);
switch(c)
{
case 1:sort(num,born,salary,pho,name,sex,dep,title);break;
case 2:printf("请输入你想修改的职工的编号:");scanf("%d",&number);search(number,num,born,salary,pho,name,sex,dep,title);break;
case 3:modify(num,born,salary,pho,name,sex,dep,title);break;
}
return 0;
}
void input(int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N])
{
int i,j,k;
for(j=0;j<30;j++)
{
printf("请输入职工编号:");
scanf("%d",&num[i]);
printf("该职工姓名:");
scanf("%s",name[i]);
printf("该职工性别:");
scanf("%s",sex[i]);
printf("该职工生日:");
scanf("%d",&born[i]);
printf("该职工所在部门:");
scanf("%s",dep[i]);
printf("该职工职称:");
scanf("%s",title[i]);
printf("该职工工资:");
scanf("%d",&salary[i]);
printf("联系号码:");
scanf("%12d",&pho[i]);
printf("输入0结束,输入1继续:");
scanf("%d",&k);
if(k==0)
break;
}
}
void sort(int num[N],int born[8],int salary[12],int pho[12],char *name[N],char *sex[N],char *dep[N],char *title[N])
{
int i,j,min,temp1,temp4,temp7,temp8;
char temp2[N],temp3[N],temp5[N],temp6[N];
for(i=0;i<N-1;i++)
{
min=i;
for(j=i;j<N;j++)
if(num[min]>num[j])
{
min=j;
temp1=num[i];
strcpy(temp2,name[i]);
strcpy(temp3,sex[i]);
temp4=born[i];
strcpy(temp5,dep[i]);
strcpy(temp6,title[i]);
temp7=salary[i];
temp8=pho[i];
num[i]=num[min];
strcpy(name[i],name[min]);
strcpy(sex[i],sex[min]);
strcpy(dep[i],dep[min]);
born[i]=born[min];
salary[i]=salary[min];
pho[i]=pho[min];
strcpy(title[i],title[min]);
num[min]=temp1;
strcpy(name[min],temp2);
strcpy(sex[min],temp3);
born[min]=temp4;
strcpy(dep[min],temp5);
strcpy(title[min],temp6);
salary[min]=temp7;
pho[min]=temp8;
}
}
void search(int n,int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N])
{ extern num[N],born[8],salary[12],pho[12];
extern name[N], sex[N],dep[N],title[N];
int top,bott,mid,loca,sign,i;
top=0;
bott=N-1;
loca=0;
sign=1;
if((n<num[0])||(n>num[N-1]))
loca=-1;
while((sign==1)&&(top<=bott))
{
mid=(bott+top)/2;
if(n==num[mid])
{
loca=mid;
printf("职工编号%d,出生日期%d,工资%d,姓名%s,性别%s,所在部门%s,职称%s,联系方式%d",num[loca],born[loca],salary[loca],sex[loca],dep[loca],title[loca],pho[loca]);
sign=-1;
}
else if(n<num[mid])
bott=mid-1;
else top=mid+1;
}
if(sign==1||loca==-1)
printf("编号为%d的职工不存在!",n);
}
void modify(int num[N],int born[8],int salary[12],int pho[12],char name[N],char sex[N],char dep[N],char title[N])
{
int a,number,i,f;
char c[10],d[10],e[10],g[10],h[10];
printf("请输入你想修改的职工的编号:");
scanf("%d",&number);
search(number);
a=number;
printf("输入Y开始修改:");
c=getchar();
if(c=='Y'||c=='y')
{ printf("姓名修改为:");
gets(d);
printf("部门修改为:");
gets(e);
printf("职称修改为:");
gets(g);
printf("工资修改为:");
scanf("%d",&i);
printf("性别修改为:");
gets(h);
printf("手机号码修改为:");
scanf("%d",&f);
strcpy(name[a],d);
strcpy(dep[a],e);
strcpy(title[a],g);
strcpy(sex[a],h);
salary[a]=i;
pho[a]=f;
}
}
错误如下:
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\设计\我的设计.cpp(95) : error C2601: 'search' : local function definitions are illegal
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\设计\我的设计.cpp(122) : error C2601: 'modify' : local function definitions are illegal
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\设计\我的设计.cpp(152) : fatal error C1004: unexpected end of file found