函数出现 missing ; before type报错 和 明明定义了但出错信息却是没有定义,该怎么处理
函数出现 missing ; before type报错 和 明明定义了但出错信息却是没有定义
问题是学生成绩系统中的一个函数,出现了上述两个问题。 变量i,j,index,id 命名定义了却提示是没有定义的变量。系统中还有两个子函数也出现了 missing ; before type 的错误信息。请各位帮帮忙看一下。如果需要的话我可以把代码全贴出来。
/*修改学生信息*/
void Student_Modify()
{ int i,j,index;
long id;
while(1)
{ //int i,j;
int id;
//int index;
printf("请输入要修改的学生的学号:");
scanf("%l",&id);
getchar();
index=Student_SearchByIndex(id);
if (index==-1)
printf("学生不存在!\n");
else
{
printf("你要修改的学生信息为:\n");
Student_DisplaySingle(index);
printf("-- 请输入新值--\n");
printf("请输入学号:");
scanf("%l",&students[index].ID);
getchar();
printf("请输入姓名:");
scanf("%s",&students[index].Name);
getchar();
//int i,j;//i作为输入科目的编号变量,j作为循环变量
for(j=0;j<3;j++)
{
printf("请输入成绩 语文(11111) 数学(11112) 英语(11113) 请先选择编号:");
scanf("%d",&i);
getchar();
if(!(i>=10000&&i<=99999))
{
printf("您输入的编号有误,请重新输入");
continue;
}
if(i==11111)
{ scanf("%f",&students[num].Mark1);
getchar();}
if(i==11112)
{ scanf("%f",&students[num].Mark2);
getchar();}
if(i==11113)
{ scanf("%f",&students[num].Mark3);
getchar();}
}
}
students[index].Average=Avg(students[index]);
printf("是否继续?(y/n)");
if (getchar()=='n')
break;
}
}
------解决方案--------------------
用编程工具检查一下是不是有{}、()等不配对的地方。有的编译器在不配对时,会报告无;等错误。用ue(Uedit32)或者vc6、vs2008等编程工具。
------解决方案--------------------
另外,怎么还出现在函数里声明函数呢?
这是不允许的!
问题是学生成绩系统中的一个函数,出现了上述两个问题。 变量i,j,index,id 命名定义了却提示是没有定义的变量。系统中还有两个子函数也出现了 missing ; before type 的错误信息。请各位帮帮忙看一下。如果需要的话我可以把代码全贴出来。
/*修改学生信息*/
void Student_Modify()
{ int i,j,index;
long id;
while(1)
{ //int i,j;
int id;
//int index;
printf("请输入要修改的学生的学号:");
scanf("%l",&id);
getchar();
index=Student_SearchByIndex(id);
if (index==-1)
printf("学生不存在!\n");
else
{
printf("你要修改的学生信息为:\n");
Student_DisplaySingle(index);
printf("-- 请输入新值--\n");
printf("请输入学号:");
scanf("%l",&students[index].ID);
getchar();
printf("请输入姓名:");
scanf("%s",&students[index].Name);
getchar();
//int i,j;//i作为输入科目的编号变量,j作为循环变量
for(j=0;j<3;j++)
{
printf("请输入成绩 语文(11111) 数学(11112) 英语(11113) 请先选择编号:");
scanf("%d",&i);
getchar();
if(!(i>=10000&&i<=99999))
{
printf("您输入的编号有误,请重新输入");
continue;
}
if(i==11111)
{ scanf("%f",&students[num].Mark1);
getchar();}
if(i==11112)
{ scanf("%f",&students[num].Mark2);
getchar();}
if(i==11113)
{ scanf("%f",&students[num].Mark3);
getchar();}
}
}
students[index].Average=Avg(students[index]);
printf("是否继续?(y/n)");
if (getchar()=='n')
break;
}
}
------解决方案--------------------
用编程工具检查一下是不是有{}、()等不配对的地方。有的编译器在不配对时,会报告无;等错误。用ue(Uedit32)或者vc6、vs2008等编程工具。
------解决方案--------------------
另外,怎么还出现在函数里声明函数呢?
这是不允许的!