请问一下哪里出错了。程序无法运行

#include<stdio.h>
#include<string.h>
#include<iostream.h>
void input()
void update()
void deal()
void output()
void main()
{
char x;
while(true)
{
printf("*******************************\n");
printf("*       学生信息管理系统      *\n");
printf("*-----------------------------*\n");
printf("*       1.读入数据            *\n");
printf("*       2.数据修改            *\n");
printf("*       3.数据处理            *\n");
printf("*       4.数据输出            *\n");
printf("*       5.退出                *\n");
printf("*******************************\n");
printf("请选择编号\n");
cin>>x; 
printf("\n");
switch(x)
{case '1':input();break;
case '2':update();break;
case '3':deal();break;
case '4':output();break;
case '5':break;
}
if(x=='5') break;

}


int i;
struct student
{
char number[10];
char name[10];
char sex[4];
char classes;
int chinese,english,maths;
float ave;
}stu[100];


void input()
{char x;
i=0;
while(true)
{
printf("请输入学生学号\n");
scanf("%s",&stu[i].number);
printf("请输入学生姓名\n");
scanf("%s",stu[i].name);
printf("请输入学生性别\n");
scanf("%s",stu[i].sex);
printf("请输入学生班级\n");
scanf("%d",stu[i].classes);
printf("请输入学生语文成绩\n");
scanf("%d",&stu[i].chinese);
printf("请输入学生英语成绩");
scanf("%d",&stu[i].english);
printf("请输入学生数学成绩");
scanf("%d",&stu[i].maths);
stu[i].ave=float((stu[i].chinese+stu[i].english+stu[i].maths)/3.0);
i++;
printf("是否继续输入(Y/N)");cin>>x;
if(x=='n'||x=='N') break;
}
}


void update()
{int n;
char a[10];
printf("请输入需要修改信息的学生学号:");
cin>>a;
for(n=0;n<i;n++)
{
if(strcmp(a,stu[n].number)==0)
{
printf("学号:%s\n",stu[n].number);
printf("姓名:%-8s\n",stu[n].name);
printf("班级:%-8s\n",stu[n].classes);
printf("性别:%-8s\n",stu[n].sex);
printf("语文成绩:%-8d\n",stu[n].chinese);
printf("英语成绩:%-8d\n",stu[n].english);
printf("数学成绩:%-8d\n",stu[n].maths);
printf("%-8.2f",stu[n].ave);
break;
}

}
if(n>=i) printf("没有你所要的记录");
else{
printf("数据修改\n");
printf("新学号:");
scanf("%s",stu[n].number);
printf("新姓名:");
scanf("%s",stu[n].name);
printf("新性别:");
scanf("%s",stu[n].sex);
printf("新班级:");
scanf("%s",stu[n].classes);
printf("语文成绩:");
scanf("%d",stu[n].chinese);
printf("英语成绩:");
scanf("%d",stu[n].english);
printf("数学成绩:");
scanf("%d",stu[n].maths);
stu[n].ave=float((stu[n].chinese+stu[n].english+stu[n].maths)/3.0);
}
}


void px()
{struct student temp;
    int m,n,k;
for(m=0;m<i-1;m++)
{k=m;
 for(n=m+1;n<i;n++)
 if(stu[n].ave>stu[k].ave)
 k=n;
 temp=stu[m];
 stu[m]=stu[k];
 stu[k]=temp;
}
printf("排序结果:\n");
printf("学号    姓名   性别   班级             语文     英语   数学   平均");
printf("--------------------------------------------------------------------");
for(k=0;k<i;k++)
{
printf("%-10s",stu[k].number);
printf("%-10s",stu[k].name);
printf("%-4s",stu[k].sex);
printf("%-15s",stu[k].classes);
printf("%-8d",stu[k].chinese);
printf("%-8d",stu[k].english);
printf("%-8d",stu[k].maths);
printf("%-8.2f",stu[k].ave);
printf("\n");
}

void cx()
{ int n;
char num[10];
printf("请输入要查询的学生学号");
    cin>>num;
    for(n=0;n<i;n++)
{    if(strcmp(num,stu[n].number)==0)
    {
    printf("学号  姓名  性别  班级  语文  英语  数学    平均成绩\n");
    printf("------------------------------------------------------\n");
    printf("%-10s",stu[n].number);
    printf("%-10s",stu[n].name);
    printf("%-4s",stu[n].sex);
    printf("%-15s",stu[n].classes);
    printf("%-8d",stu[n].chinese);
    printf("%-8d",stu[n].english);
    printf("%-8d",stu[n].maths);
    printf("%-8.2f",stu[n].ave);
    break;}
}
if(n>=i)
printf("没有你所要的记录\n");
}

void output()
{int n=0;
printf("学号       姓名        性别       班级       语文      英语      数学     平均分\n");
printf("-----------------------------------------------------------------------------------\n");
while(n<i)
{    printf("%-10s",stu[n].number);
    printf("%-10s",stu[n].name);
    printf("%-4s",stu[n].sex);
    printf("%-15s",stu[n].classes);
    printf("%-8d",stu[n].chinese);
    printf("%-8d",stu[n].english);
    printf("%-8d",stu[n].maths);
    printf("%-8.2f",stu[n].ave);
    n++;
}
}

void deal()
{char x
while(true)
{
printf("******************************\n");
printf("1.按学号排序    2.查询\n");
printf("3.返回主菜单\n");
printf("******************************\n");
printf("请选择数字");
cin>>x;

switch(x)
{
 case'1':px();break;
 case'2':cx();break;
 case'3':break;
}
if(x=='5')break;
}
}

应该是大括号不成对造成的,仔细检查每对大括号吧

void input()
void update()
void deal()
void output()

这些函数申明后面都要加分号的

网上抄来的代码吧,一堆错误。不少scanf都是错的,输入字符串时,不需要加&

#include<stdio.h>
#include<string.h>

void input();
void update();
void deal();
void output();
int i;
struct student
{
    char number[10];
    char name[10];
    char sex[4];
    char classes;
    int chinese,english,maths;
    float ave;
} stu[100];

void px()
{
    struct student temp;
    int m,n,k;
    for(m=0; m<i-1; m++)
    {
        k=m;
        for(n=m+1; n<i; n++)
            if(stu[n].ave>stu[k].ave)
                k=n;
        temp=stu[m];
        stu[m]=stu[k];
        stu[k]=temp;
    }
    printf("排序结果:\n");
    printf("学号    姓名   性别   班级             语文     英语   数学   平均");
    printf("--------------------------------------------------------------------");
    for(k=0; k<i; k++)
    {
        printf("%-10s",stu[k].number);
        printf("%-10s",stu[k].name);
        printf("%-4s",stu[k].sex);
        printf("%-15s",stu[k].classes);
        printf("%-8d",stu[k].chinese);
        printf("%-8d",stu[k].english);
        printf("%-8d",stu[k].maths);
        printf("%-8.2f",stu[k].ave);
        printf("\n");
    }
}
    void cx()
    {
        int n;
        char num[10];
        printf("请输入要查询的学生学号");
        scanf("%s",num);
        for(n=0; n<i; n++)
        {
            if(strcmp(num,stu[n].number)==0)
            {
                printf("学号  姓名  性别  班级  语文  英语  数学    平均成绩\n");
                printf("------------------------------------------------------\n");
                printf("%-10s",stu[n].number);
                printf("%-10s",stu[n].name);
                printf("%-4s",stu[n].sex);
                printf("%-15s",stu[n].classes);
                printf("%-8d",stu[n].chinese);
                printf("%-8d",stu[n].english);
                printf("%-8d",stu[n].maths);
                printf("%-8.2f",stu[n].ave);
                break;
            }
        }
        if(n>=i)
            printf("没有你所要的记录\n");
    }

    void output()
    {
        int n=0;
        printf("学号       姓名        性别       班级       语文      英语      数学     平均分\n");
        printf("-----------------------------------------------------------------------------------\n");
        while(n<i)
        {
            printf("%-10s",stu[n].number);
            printf("%-10s",stu[n].name);
            printf("%-4s",stu[n].sex);
            printf("%-15s",stu[n].classes);
            printf("%-8d",stu[n].chinese);
            printf("%-8d",stu[n].english);
            printf("%-8d",stu[n].maths);
            printf("%-8.2f",stu[n].ave);
            n++;
        }
    }

void deal()
    {
        char x;
        while(1)
        {
            printf("******************************\n");
            printf("1.按学号排序    2.查询\n");
            printf("3.返回主菜单\n");
            printf("******************************\n");
            printf("请选择数字");
            scanf("%c",&x);

            switch(x)
            {
            case'1':px();break;
                case'2':cx();break;
                    case'3':break;
                        }
            if(x=='5')
                break;
        }
}
void main()
{
    char x;
    while(1)
    {
        printf("*******************************\n");
        printf("*       学生信息管理系统      *\n");
        printf("*-----------------------------*\n");
        printf("*       1.读入数据            *\n");
        printf("*       2.数据修改            *\n");
        printf("*       3.数据处理            *\n");
        printf("*       4.数据输出            *\n");
        printf("*       5.退出                *\n");
        printf("*******************************\n");
        printf("请选择编号\n");
        scanf("%c",&x);
        printf("\n");
        switch(x)
        {
        case '1':
            input();
            break;
        case '2':
            update();
            break;
        case '3':
            deal();
            break;
        case '4':
            output();
            break;
        case '5':
            break;
        }
        if(x=='5')
            break;
    }
}




void input()
{
    char x;
    i=0;
    while(1)
    {
        printf("请输入学生学号\n");
        scanf("%s",&stu[i].number);
        printf("请输入学生姓名\n");
        scanf("%s",stu[i].name);
        printf("请输入学生性别\n");
        scanf("%s",stu[i].sex);
        printf("请输入学生班级\n");
        scanf("%d",stu[i].classes);
        printf("请输入学生语文成绩\n");
        scanf("%d",&stu[i].chinese);
        printf("请输入学生英语成绩");
        scanf("%d",&stu[i].english);
        printf("请输入学生数学成绩");
        scanf("%d",&stu[i].maths);
        stu[i].ave=((stu[i].chinese+stu[i].english+stu[i].maths)/3.0);
        i++;
        printf("是否继续输入(Y/N)");
        scanf("%c",&x);
        if(x=='n'||x=='N')
            break;
    }
}


void update()
{
    int n;
    char a[10];
    printf("请输入需要修改信息的学生学号:");
    scanf("%s",a);
    for(n=0; n<i; n++)
    {
        if(strcmp(a,stu[n].number)==0)
        {
            printf("学号:%s\n",stu[n].number);
            printf("姓名:%-8s\n",stu[n].name);
            printf("班级:%-8s\n",stu[n].classes);
            printf("性别:%-8s\n",stu[n].sex);
            printf("语文成绩:%-8d\n",stu[n].chinese);
            printf("英语成绩:%-8d\n",stu[n].english);
            printf("数学成绩:%-8d\n",stu[n].maths);
            printf("%-8.2f",stu[n].ave);
            break;
        }

    }
    if(n>=i)
        printf("没有你所要的记录");
    else
    {
        printf("数据修改\n");
        printf("新学号:");
        scanf("%s",stu[n].number);
        printf("新姓名:");
        scanf("%s",stu[n].name);
        printf("新性别:");
        scanf("%s",stu[n].sex);
        printf("新班级:");
        scanf("%s",stu[n].classes);
        printf("语文成绩:");
        scanf("%d",stu[n].chinese);
        printf("英语成绩:");
        scanf("%d",stu[n].english);
        printf("数学成绩:");
        scanf("%d",stu[n].maths);
        stu[n].ave=((stu[n].chinese+stu[n].english+stu[n].maths)/3.0);
    }
}



错误太多了,改了半天

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m