local function definitions are illegal错误,C语言
#include<stdio.h>#include<windows.h>#include<string.h>#include<conio.h>intstudentsum=...
#include<stdio.h>
#include<windows.h>
#include<string.h>
#include<conio.h>
int studentsum=10;
struct student
{
char name[20];
int num;
float cscore;
float mathscore;
float englishscore;
float sum;
}s[20];
void open();
void denglu();
void numberchaxun();
void namechaxun();
void cscorechaxun();
void mathchaxun();
void englishchaxun();
void sumchaxun();
void xinxichaxun();
void chengjipaixu();
void cscorepaixu();
void mathscorepaixu();
void englishscorepaixu();
void sumpaixu();
void tianjiaxinxi();
void shanchuxinxi();
void xueshengguanli();
void xinxichaxun1();
void main()
{
printf(" 欢迎使用学生信息管理系统");
printf("***********************************************************");
open();
denglu();
}
。。。中间是一些别的函数。
void tianjiaxinxi()
{
int x=0,b,i=studentsum,j,y=1,k;
struct student s[20];
while(x==0)
{
printf("请输入新增学生的学号:\n");
while(y)
{
scanf("%d",&s[i].num);
for(k=0;k<studentsum;k++)
if(s[i].num==s[k].num)
{
printf("该学号同学已存在,请重新输入:\n");
break;
}
if(k>=studentsum)
break;
}
printf("请输入新增学生的姓名:\n");
scanf("%s",s[i].name);
printf("请输入新增学生的C成绩、数学成绩、英语成绩:\n");
scanf("%f %f %f",&s[i].cscore,&s[i].mathscore,&s[i].englishscore);
s[i].sum=s[i].cscore+s[i].mathscore+s[i].englishscore;
i++;
studentsum++;
for(j=0;j<studentsum;j++)
{
printf(" 学号 姓名 c成绩 数学成绩 英语成绩 总分\n");
printf(" %d %-8s %.2lf %7.2lf %10.2lf %10.2lf\n",s[j].num,s[j].name,s[j].cscore,s[j].mathscore,s[j].englishscore,s[j].sum);
}
printf("继续增加请选择0,返回上一界面请选择1\n");
while(y)
{
scanf("%d",&b);
if(b!=0&&b!=1)
printf(" 请按照提示输入!\n");
else
break;
}
if(b==1)
x=1;
}
save();
xueshengguanli();}
void xueshengguanli()
{
int a;
printf("1 学生成绩查询\n");
printf("2 学生成绩排序\n");
printf("3 添加学生信息\n");
printf("4 删除学生信息\n");
printf("5 退出程序\n");
printf("请选择相应的功能:");
scanf("%d",&a);
system("cls");
switch(a)
{
case 1:numberchaxun();break;
case 2:chengjipaixu();break;
case 3:tianjiaxinxi();break;
case 4:shanchuxinxi();break;
case 5:printf("谢谢使用\n");return;
}
}
总是显示这两个函数local function definitions are illegal错误,怎么回事? 展开
#include<windows.h>
#include<string.h>
#include<conio.h>
int studentsum=10;
struct student
{
char name[20];
int num;
float cscore;
float mathscore;
float englishscore;
float sum;
}s[20];
void open();
void denglu();
void numberchaxun();
void namechaxun();
void cscorechaxun();
void mathchaxun();
void englishchaxun();
void sumchaxun();
void xinxichaxun();
void chengjipaixu();
void cscorepaixu();
void mathscorepaixu();
void englishscorepaixu();
void sumpaixu();
void tianjiaxinxi();
void shanchuxinxi();
void xueshengguanli();
void xinxichaxun1();
void main()
{
printf(" 欢迎使用学生信息管理系统");
printf("***********************************************************");
open();
denglu();
}
。。。中间是一些别的函数。
void tianjiaxinxi()
{
int x=0,b,i=studentsum,j,y=1,k;
struct student s[20];
while(x==0)
{
printf("请输入新增学生的学号:\n");
while(y)
{
scanf("%d",&s[i].num);
for(k=0;k<studentsum;k++)
if(s[i].num==s[k].num)
{
printf("该学号同学已存在,请重新输入:\n");
break;
}
if(k>=studentsum)
break;
}
printf("请输入新增学生的姓名:\n");
scanf("%s",s[i].name);
printf("请输入新增学生的C成绩、数学成绩、英语成绩:\n");
scanf("%f %f %f",&s[i].cscore,&s[i].mathscore,&s[i].englishscore);
s[i].sum=s[i].cscore+s[i].mathscore+s[i].englishscore;
i++;
studentsum++;
for(j=0;j<studentsum;j++)
{
printf(" 学号 姓名 c成绩 数学成绩 英语成绩 总分\n");
printf(" %d %-8s %.2lf %7.2lf %10.2lf %10.2lf\n",s[j].num,s[j].name,s[j].cscore,s[j].mathscore,s[j].englishscore,s[j].sum);
}
printf("继续增加请选择0,返回上一界面请选择1\n");
while(y)
{
scanf("%d",&b);
if(b!=0&&b!=1)
printf(" 请按照提示输入!\n");
else
break;
}
if(b==1)
x=1;
}
save();
xueshengguanli();}
void xueshengguanli()
{
int a;
printf("1 学生成绩查询\n");
printf("2 学生成绩排序\n");
printf("3 添加学生信息\n");
printf("4 删除学生信息\n");
printf("5 退出程序\n");
printf("请选择相应的功能:");
scanf("%d",&a);
system("cls");
switch(a)
{
case 1:numberchaxun();break;
case 2:chengjipaixu();break;
case 3:tianjiaxinxi();break;
case 4:shanchuxinxi();break;
case 5:printf("谢谢使用\n");return;
}
}
总是显示这两个函数local function definitions are illegal错误,怎么回事? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询