ID return 1 exit status 请问怎么解决

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

//学生成绩结构体
struct student
{
char num[9];//学号
char name[11];//姓名
int chinese;//语文成绩
int math;//数学成绩
int english;//英语成绩
int sumstu;//成绩总数
int rank;//排名
};

//函数声明
void showmenu(void);//菜单
void luru(int);//录入成绩
void cx(int);//查询成绩
void xuehao(int);//学号查询
void xinmin(int n);//姓名查询
void chazaofansi(void);//查询菜单
void jspm(int);//计算排名
//void bcstu(void);//保存成绩并退出

//main函数
int main()
{
int flag, n = 0, count = 0;//flag标志位,count计数,当前总人数
//-------------判断文件里面有多少条记录--------------------//
FILE* fp;
fp = fopen("stu.txt", "a+");
if (fp == NULL)
{
printf("打开文件失败,请重试!\n");
_getch();
fclose(fp);
exit(0);
}
int cc = 0;
while (!feof(fp))
{
char cc = fgetc(fp);
if (cc == EOF)
{
break;
}
//输出字符
// putchar(cc);
cc++;
}
count = cc / 14;
printf("%d", count);
_getch();
fclose(fp);
int i = 4, key = 0;
char c=0;
//初始页面

printf("*************************************************\n");
printf("*\t\t学生成绩管理系统\t\t*\n");
printf("*************************************************\n");
printf("*\t\t功能列表\t\t\t*\n");
printf("*************************************************\n");
printf("*\t\t1.学生成绩录入\t\t\t*\n");
printf("*\t\t2.学生成绩保存\t\t\t*\n");
printf("*\t\t3.学生成绩查询\t\t\t*\n");
printf("*\t\t4.排序与统计\t\t\t*\n");
printf("*\t\t0.退出系统\t\t\t*\n");
printf("*************************************************\n");
printf("请输入密码\n"); 
int x = 0; char code[20] = "123456", password[20];int a;




while (x < 6 && c != 13)
{
    c = _getch();
    if (c != 13)
        putchar('#');
    password[x++] = c;
}
password[x] = '\0';
while (1)
{
    if (strcmp(password, code)!=0)
    {
        fflush(stdin);
        printf("\n输入密码有误,您还有%d次机会,请重新输入:", i--);
        if (i == -1)
        {
            system("pause");
            exit(0);
        }

    }
    else key = 1;
    x = 0;
    while (x < 6 && c != 13)
    {
        c = _getch();
        if (c != 13)
            putchar('#');
        password[x++] = c;
    }
    password[x] = '\0';
    if (key == 1)
        break;
}
printf("\n\n\t\t密码输入正确!使用");
system("cls");    //清屏
//页面菜单
while (1)
{
    do
    {
        showmenu();
        scanf("%d", &flag);//选择操作 
        switch (flag)
        {
        case 1: printf("请输入您要录入的人数:");
            scanf("%d", &n);
            luru(n);
            count += n; break;
        case 2: cx(count); break;
        case 3: jspm(count); break;
        case 0: //退出系统
            fflush(stdin);
        
            float y, x, b;
            for (y = 1.5f; y > -1.5f; y -= 0.1f)
            {
                for (x = -1.5f; x < 1.5f; x += 0.05f)
                {
                    b = x * x + y * y - 1;
                    putchar(b * b * b - x * x * y * y * y <= 0.0f ? '*' : ' ');
                }
                putchar('\n');
            }
        
        default:printf("输入错误,请重试!\n"); _getch();
        }
    }

    while (flag != 0);
    _getch();
    return 0;
}

}

void showmenu()
{

system("cls");
printf("*************************************************\n");
printf("*\t\t学生成绩管理系统\t\t*\n");
printf("*************************************************\n");
printf("*\t\t功能列表\t\t\t*\n");
printf("*************************************************\n");
printf("*\t\t1.学生成绩录入\t\t\t*\n");
printf("*\t\t2.学生成绩查询\t\t\t*\n");
printf("*\t\t3.成绩计算及排名\t\t\t*\n");
printf("*\t\t0.退出系统\t\t\t*\n");
printf("*************************************************\n");

}

//1录入成绩
void luru(int n)
{
struct student stu[100];
FILE* fp;
fp = fopen("stu.txt", "a+");
if (fp == NULL)
{
printf("打开文件失败,请重试!\n");
_getch();
fclose(fp);
exit(0);
}
printf("请输入您要录入的人数:");
scanf("%d", &n);
printf("请输入全部学生的学号,姓名,语文成绩,数学成绩,英语成绩;\n");
int i;
for (i = 0; i < n; i++)
{
printf("----第%d个学生----\n", i + 1);
printf("学号:");
scanf("%s", &stu[i].num);

    printf("姓名:");
    
        scanf("%s", stu[i].name);
    //}


    printf("语文成绩:");
    scanf("%d", &stu[i].chinese);

    printf("数学成绩:");
    scanf("%d", &stu[i].math);

    printf("英语成绩:");
    scanf("%d", &stu[i].english);

    
    //写入数据 
    fprintf(fp, "%s %s %d %d %d \n", stu[i].num, stu[i].name, stu[i].chinese, stu[i].math, stu[i].english);
}
fclose(fp);
printf("添加学生成功,请按任意键返回\n");
_getch();

}

//4成绩查询
void caxuan(int n) //n全班人数
{
int k;
do
{
void chazaofansi();
scanf("%d", &k);
switch (k)
{
case 1:xuehao(n); break;//学号查询
case 2:xinmin(n); break;//姓名查询
case 0:break;
default:printf("输入错误,请重新选择\n"); _getch();
}
} while (k != 0);
return;
}

//4.0查询菜单
void chazaofansi()
{
system("cls");
printf("******************************************************\n");
printf("\t\t成绩查询菜单\t\t\n");
printf("******************************************************\n");
printf("\t\t\t1: 按学号查询\t\t\t\n");
printf("\t\t\t2: 按姓名查询 \t\t\t\n");
printf("\t\t\t0: 返回主系统\t\t\t\n");
printf("******************************************************\n");
printf("选择操作<0-2> \n");
}

//4.1学号查询
void xuehao(int n)
{
struct student stu[100];
char num[9];
printf("请输入你要查询学生的学号:");
scanf("%s", &num);
FILE* fp;
fp = fopen("stu.txt ", "r");
if (fp == NULL)
{
printf("打开文件失败!\n");
_getch();
exit(0);
}
int c = 0;
while (!feof(fp)) {
fscanf(fp, "%s %s %d %d %d %d %d\n", &stu[c].num, &stu[c].name, &stu[c].chinese, &stu[c].math, &stu[c].english, &stu[c].sumstu, &stu[c].rank);
c++;
}
int i;
for (i = 0; i < n; i++)
{
if (strcmp(num, stu[i].num) == 0)
{
printf("学号\t姓名\t语文\t数学\t英语\t总分\t名次\n");
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\n", stu[i].num, stu[i].name, stu[i].chinese, stu[i].math, stu[i].english, stu[i].sumstu, stu[i].rank);
printf("按任意键返回\n");
_getch();
fclose(fp);
return;
}
}
printf("未找到要查询学生的成绩,请重试!\n");
_getch();
fclose(fp);
return;
}

//4.2姓名查询
void xinmin(int n)
{
struct student stu[100];
char name[11];
printf("请输入你要查询学生的姓名:");
scanf("%s", &name);
FILE* fp;
fp = fopen("stu.txt ", "r");
if (fp == NULL)
{
printf("打开文件失败!\n");
_getch();
exit(0);
}
int c = 0;
while (!feof(fp))
{
fscanf(fp, "%s %s %d %d %d %d %d\n\n", &stu[c].num, &stu[c].name,&stu[c].chinese,&stu[c].math, &stu[c].english,&stu[c].sumstu,&stu[c].rank);
c++;
}
int i;
for (i = 0; i < n; i++)
{
if (strcmp(name, stu[i].name) == 0)
{
printf("学号\t姓名\t语文\t数学\t英语\t总分\t名次\n");
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\n",stu[i].num,
img
stu[i].name,stu[i].chinese,stu[i].math, stu[i].english, stu[i].sumstu, stu[i].rank);
printf("按任意键返回\n");
_getch();
fclose(fp);
return;
}
}
printf("未找到要查询学生的成绩,请重试!\n");
_getch();
fclose(fp);
return;
}

//5计算排名函数
void jspm(int n)
{
struct student stu[100];
int i, j, temp;
int count;
FILE* fp;
fp = fopen("stu.txt", "r");
if (fp == NULL)
{
printf("打开文件失败!\n");
_getch();
exit(0);
}
int c = 0;
while (!feof(fp))
{
fscanf(fp, "%s %s %d %d %d %d %d\n", &stu[c].num, &stu[c].name, &stu[c].chinese, &stu[c].math, &stu[c].english, &stu[c].sumstu, &stu[c].rank);
stu[c].sumstu = stu[c].chinese + stu[c].math + stu[c].english;
c++;
}
fclose(fp);
//计算排名并存储
for (i = 0; i < n; i++)
{
temp = 1;//第1名
for (j = 0; j < n; j++)
{
if (stu[i].sumstu < stu[j].sumstu) temp++;//如果较小,排名下降1名
}
stu[i].rank = temp;
}
//更新记录
fp = fopen("stu.txt", "w");
for (i = 0; i < n; i++)
{
fprintf(fp, "%s %s %d %d %d %d %d\n", stu[i].num, stu[i].name, stu[i].chinese, stu[i].math, stu[i].english, stu[i].sumstu, stu[i].rank);
}
fclose(fp);
printf("数据重新计算和排名成功,请按任意键返回主菜单。\n");
_getch();
return;
}

img

查询函数没写

void cx(int);这个函数没有实现