不知道哪些地方有问题,一直弄不出想要的效果,快哭了

#include <stdio.h>
#include <stdlib.h>
#include <conio.h> 
#include <dos.h>
#include <string.h>
#define LEN sizeof(struct student)
#define FORMAT "%-15s%-15s%-12s%-12s%-18s%-16d%-15d%-15d%-14.2f\n"
#define DATA stu[i].num,stu[i].name,stu[i].sex,stu[i].add,stu[i].phone,stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].sum
//----------------------学生信息结构体----------------------
struct student
{
    char num[15];//学号 
    char name[20];//姓名 
    char sex[10];//性别 
    char add[20];//家庭住址 
    char phone[20];//联系电话 
    int Chinese;  //语文成绩 
    int Math;  //数学成绩 
    int English;  //外语成绩 
    float sum;  //考试成绩 
};
struct student stu [50];
struct Student
{
    int huping;
    int pinde;
    int teacher;
    float ceping;
};
struct Student data [10];
void menu();  //主菜单 
void shuru();  //录入成绩 
void charu();  //插入学生的信息
void xiugai();  //修改学生的信息
void shanchu();  //删除学生的信息
void xianshi();  //显示学生的信息 
void stucomment();//学生综合测评 
void chazhao();  //查找学生信息 
//----------------------主函数----------------------
int main()  //主函数
{
    int n;
    menu();  //主菜单
    scanf("%d",&n);  //输入要选择的功能的编号
    while(n)
    {
        switch(n)
        {
            case 1: shuru();break;
            case 2: charu();break;
            case 3: xiugai();break;
            case 4: shanchu();break;
            case 5: xianshi();break;
            case 6: stucomment();break;
            case 7: chazhao();break;
            default:break;
        }
    getch();
    menu();  //执行完之后再次显示菜单界面
    scanf("%d",&n); 
     } 
 } 
//----------------------主菜单函数----------------------
void menu() 
{
    printf("\n");
    printf("\t---------------学生信息管理系统---------------\n");
    printf("\t                       \n");
    printf("\t           1.录入学生信息           \n");
    printf("\t           2.插入学生信息           \n");    
    printf("\t           3.修改学生信息           \n");
    printf("\t           4.删除学生信息           \n");
    printf("\t           5.显示所有学生信息           \n");
    printf("\t           6.综合测评           \n");
    printf("\t           7.查找学生信息           \n");
    printf("\t           0.退出系统           \n");
    printf("\t                                 \n");
    printf("\t----------------------------------------------\n");
    printf("\t           请输入(0-7):");
}
//----------------------录入学生信息函数----------------------
void shuru()
{

    int i,m=0;  //m是记录的条数
    char ch[2];
    FILE *fp;  //定义文件指针
    if((fp=fopen("data.txt","a+"))==NULL)  //打开指定文件
    {
        printf("文件不存在!\n");
        return;
     } 
     while(!feof(fp))
     {
         if(fread(&stu[m] ,LEN,1,fp)==1)
         {
             m++;  //统计当前记录条数 
        }
     }
     fclose(fp);
     if(m==0)
     {
         printf("文件中没有记录!\n");
     }
     else
     {
         xianshi();  //调用函数xianshi,显示原有的信息 
     }
     if((fp=fopen("data.txt","wb"))==NULL)
     {
         printf("文件不存在!\n");
         return;
      } 
     printf("是否要输入学生信息(y/n):");
     scanf("%s",ch);
     while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)   //判断是否要录入新的信息
     {
         printf("number:");
         scanf("%s",stu[m].num);  //输入学生的学号
        for(i=0;i<m;i++)
            if(stu[i].num==stu[m].num)
            {
                printf("number已经存在了,按任意按键继续!");
                getch();
                fclose(fp);
                return; 
            }
        printf("name:");
        scanf("%s",stu[m].name);  //输入学生姓名
        printf("sex:");
           scanf("%s",stu[m].sex);  //输入学生性别 
        printf("address:");
           scanf("%s",stu[m].add);  //输入学生家庭住址 
        printf("phone number:");
           scanf("%s",stu[m].phone);  //输入学生联系电话 
        printf("Chinese:"); 
           scanf("%d",&stu[m].Chinese);  //输入学生语文成绩 
        printf("Math:");
        scanf("%d",&stu[m].Math);  //输入学生数学成绩 
        printf("English:");
        scanf("%d",&stu[m].English);  //输入学生英语成绩 
        stu[m].sum=(stu[m].Chinese+stu[m].Math+stu[m].English)/3;   //计算学生总成绩 
        printf("kaoshi_chengji:%.2f\n",stu[m].sum);
        if(fwrite(&stu[m],LEN,1,fp)!=1)  //将新录入的信息写入指定的磁盘文件
        {
            printf("不能保存!");
            getch();
        }
        else
        {
            printf("%s 被保存!\n",stu[m].name);
            m++;
        }
         printf("是否继续录入学生信息?(y/n):");  //询问是否继续
         scanf("%s",ch); 
     }
     fclose(fp);
     printf("OK!\n");
 } 
//----------------------插入学生信息函数----------------------
void charu()
{
    FILE *fp;
    int i,j,k,m=0;
    char snum[20];
    if((fp=fopen("data.txt","r+"))==NULL)
    {
        printf("文件不存在!\n");
        return;
    }
    while(!feof(fp))
        if(fread(&stu[m],LEN,1,fp)==1)
        m++;
    if(m==0)
    {
        printf("文件中没有记录!\n");
        fclose(fp);
        return;
    }
    printf("请输入要插入的学生信息数量:\n");
    scanf("%d",&m);
    printf("请输入要插入的位置: \n");
    scanf("%s",snum);
    for(i=0;i<m;i++)
    {
        if(strcmp(snum,stu[i].num)==0)
            break;
        for(j=m-1;j>i;j--)
            stu[j+i]=stu[j];   //从最后一条记录开始均向内后移一位
        printf("现在请输入要插入的学生信息:\n");
            printf("number:");
            scanf("%s",stu[i+1].num);
            for(k=0;k<m;k++)
                if(strcmp(stu[k].num,stu[m].num)==0)
                {
                    printf("number已经存在,请按任意键继续!");
                    getch();
                    fclose(fp);
                    return; 
                }
            printf("name:");
            scanf("%s",stu[i+1].name);
                printf("sex:");
            scanf("%s",stu[i+1].sex);
                printf("address:");
            scanf("%s",stu[i+1].add);
                printf("phone number:");
            scanf("%s",stu[i+1].phone);
                printf("Chinese:");
            scanf("%d",&stu[i+1].Chinese);
                printf("Math:");
            scanf("%d",&stu[i+1].Math);
                printf("English: ");
            scanf("%d",&stu[i+1].English);
            stu[i+1].sum=(stu[i+1].Chinese+stu[i+1].Math+stu[i+1].English)/3;   //计算学生总成绩 
            printf("kaoshi_chengji:%.2f\n",stu[i+1].sum);
            printf("插入成功!请按任意键返回主界面!");
            if((fp=fopen("data.txt","wb"))==NULL) 
            {
                printf("不能打开!\n");
                return;
            }
            for(k=0;k<=m;k++)
            {
                if(fwrite(&stu[k],LEN,1,fp)!=1)   //将修改后的记录写入磁盘文件中
                {
                    printf("不能保存!");
                    getch(); 
                 } 
            }
        fclose(fp);
    }
}
//----------------------修改学生信息函数----------------------
void xiugai()
{
    FILE *fp;
    struct student t;
    int i=0,j=0,f=0,m=0,fix=0;
    int a,n;
    char snum[20];
    char ch[2];
    if((fp=fopen("data.txt","r+"))==NULL)
    {
        printf("文件不存在!\n");
        return;
    }
    while(!feof(fp))
    {
        if(fread(&stu[m] ,LEN,1,fp)==1)
        {
            m++;
        }
    }
    fclose(fp);
    if(m==0)
    {
        printf("文件中没有记录!\n");
    }
     else
     {
         xianshi();  //调用函数xianshi,显示原有的信息 
     }
    printf("请输入要修改的学生信息的学生的学号:");
    scanf("%s",snum);
    for(i=0;i<m;i++)
    {//检索文件中是否有该学号
        if(strcmp(snum,stu[i].num)!=0)
        {
            a=i;
            break;
        }
        a=i;
    }
    if(a==n)
        printf("不存在该学号,请重新输入!\n");  
    else if(a>=0 && a<n)   
    {
        printf("找到了这名学生,可以修改他的信息!\n");
        printf("是否要修改?(y/n):");
        scanf("%s",ch);
         while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)   
        {
            printf("1----- 修改姓名 \n");
            printf("2----- 修改性别 \n");
            printf("3----- 修改家庭住址 \n");
            printf("4----- 修改联系电话 \n");
            printf("5----- 修改语文成绩 \n");
            printf("6----- 修改数学成绩 \n");
            printf("7----- 修改外语成绩 \n");
            printf("请选择要修改的信息:");
            scanf("%d", &fix);
            switch (fix)//选择要修改该学生的哪个信息 
            {
                case 1:
                    printf("请输入修改后的姓名:");
                    scanf("%s",stu[i].name);
                    break;
                case 2:
                    printf("请输入修改后的性别:");
                    scanf("%s",stu[i].sex);
                    break; 
                case 3:
                    printf("请输入修改后的家庭住址:");
                    scanf("%s",stu[i].add);
                    break;
                case 4:
                    printf("请输入修改后的联系电话:");
                    scanf("%d",stu[i].phone);
                    break;
                case 5:
                    printf("请输入修改后的语文成绩:");
                    scanf("%d",&stu[i].Chinese);
                    break;
                case 6:
                    printf("请输入修改后的数学成绩:");
                    scanf("%d",&stu[i].Math);
                    break;
                case 7:
                    printf("请输入修改后的外语成绩:");
                    scanf("%d",&stu[i].English);
                    break;
                default:
                        printf("输入有误,请重新输入!");
            }
            printf("修改成功!\n");
            stu[i].sum=(stu[i].Chinese+stu[i].Math+stu[i].English)/3;   //计算学生总成绩 
            printf("kaoshi_chengji:%.2f\n",stu[i].sum);
            //将新修改的信息写入指定的磁盘文件中
            if(fwrite(&stu[j] ,LEN,1,fp)!=1)
            {
                 printf("不能保存文件!");
                    getch();
            }
            else
            {
                printf("新数据被保存!\n");
                m++;
            }
            printf("是否继续修改该学生信息?(y/n):");
            scanf("%s",ch); 
        }
    }
    fclose(fp);
    printf("OK!\n");
}

//----------------------删除学生信息函数----------------------
void shanchu()
{
    FILE *fp;
    int i,j,m=0;
    int a,n;
    char ch[2],snum[20];
    if((fp=fopen("data.txt","r+"))==NULL)
    {
        printf("文件不存在!\n");
        return;
    }
    while(!feof(fp))  
    {
        if(fread(&stu[m],LEN,1,fp)==1) 
            m++;
    }
    fclose(fp);
    if(m==0)
    {
        printf("文件中没有记录!\n");  //data.txt文件存在,但里面没有内容
        return;
    }
    printf("请输入学生学号:");
    scanf("%s",snum);
    for(i=0;i<m;i++)
    {
        if(strcmp(snum,stu[i].num)==0)
        {
            a=i;
            break;
        }
        a=i;
    }
        if(a==n)
        {
            printf("没有找到这名学生,请重新输入!\n");   //不能找到要查找的信息 
        }
        else if(a>=0 && a<n) 
        {
            printf("找到了这条记录,是否删除?(y/n):");
            scanf("%s",ch);
            if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)  //判断是否进行删除
            {
                for(j=i;j<m;j++)
                stu[j]=stu[j+i];  ///将后一个记录移到前一个记录的位置
                m--;  //记录的总个数减1
                if((fp=fopen("data.txt","wb"))==NULL)
                 {
                     printf("文件不存在\n");
                     return;
                 }
                 for(j=0;j<m;j++)  //将更改后的记录重新写入指定的磁盘文件中
                 if(fwrite(&stu[j] ,LEN,1,fp)!=1)
                 {
                     printf("can not save!\n");
                     getch();
                 } 
                fclose(fp);
                printf("删除成功!\n");
            } 
            else
            {
                printf("找到了记录,选择不删除!"); 
            }
        }    
}
//----------------------显示学生信息函数----------------------
void xianshi()
{
    FILE *fp;
    int i,m=0;
    fp=fopen("data.txt","rb");
    while(!feof(fp))
    {
        if(fread(&stu[m] ,LEN,1,fp)==1)
        {
            m++;
        }    
    }
    fclose(fp);
    printf("number          name          sex          add          phone          Chinese          Math          English          sum\n");
    for(i=0;i<m;i++)
    {
        printf(FORMAT,DATA);   //将信息按照指定的格式打印 
    }
}
//----------------------/生综合测评 函数----------------------
void stucomment() //学生综合测评 
{
    FILE *fp;
    int i,j,k,m=0;
    int a,n;
    double t; //测评数据输入
    char ch[2],snum[20];
    if((fp=fopen("data.txt","r+"))==NULL)
    {
        printf("文件不存在!\n");
        return;
    }
    while(!feof(fp))  
    {
        if(fread(&stu[m],LEN,1,fp)==1) 
        m++;
    }
    fclose(fp);
    if(m==0)
    {
        printf("文件中没有记录!\n");  //data.txt文件存在,但里面没有内容
        return;
    }
    printf("请输入要测评的学生的学号:");
    scanf("%s",snum);
    for(i=0;i<m;i++)
    {
        if(strcmp(snum,stu[i].num)!=0)
        {
            a=i;
            break;
        }
        a=i;
    }
    if(a==n)
        printf("不存在该学号,请重新输入!\n");  
    else if(a>=0 && a<n)  
    {
        printf("找到了这名学生,可以修对他进行测评!\n");
        printf("是否要测评?(y/n):");
        scanf("%s",ch);
         while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)   
         {
             printf("请输入同学互评成绩:\n"); 
            scanf("%d",&data[i].huping);    
            while(data[i].huping<0 || data[i].huping>100)
            {
                printf("对不起你输入的数据不在0-100之间,请重新输入!\n");
                printf("请输入同学互评成绩:\n");  
                scanf("%d",&data[i].huping);  
            }
            printf("请输入学生品德成绩:\n"); 
            scanf("%d",&data[i].pinde);
            while(data[i].pinde<0 || data[i].pinde>100)
            {
                printf("对不起你输入的数据不在1-100之间,请重新输入!\n");
                printf("请输入学生品德成绩:\n"); 
                scanf("%d",&data[i].pinde);
            }
            printf("请输入认课老师评分:\n"); 
            scanf("%d",&data[i].teacher);
            while(data[i].pinde<0 || data[i].pinde>100)
            {
                printf("对不起你输入的数据不在1-100之间,请重新输入!\n");
                printf("请输入认课老师评分:\n"); 
                scanf("%d",&data[i].teacher);
            }
            data[i].ceping=(stu[i].sum*0.6+data[i].huping*0.1+data[i].pinde*0.1+data[i].teacher*0.2); 
            for(k=1;k<=i-1;k++)  //冒泡 
            {
                for(j=0;j<=i-k-1;j++)
                {
                    t=data[i].ceping;
                    data[i].ceping=data[i+1].ceping;
                    data[i+1].ceping=t;
                }  
            }
            for(j=0;j<i;j++)
            {
                printf("%f",data[i].ceping);
            }
            //将新修改的信息写入指定的磁盘文件中
            if(fwrite(&stu[j] ,LEN,1,fp)!=1)
            {
                 printf("不能保存文件!");
                getch();
            }
            else
            {
                printf("新数据被保存!\n");
                m++;
            }
            printf("是否继续输入测评数据该学生?(y/n):");
            scanf("%s",ch); 
         }    
    }
    fclose(fp);
    printf("OK!\n");
}
//----------------------查找学生信息函数----------------------
void chazhao()    
{
    FILE *fp;
    int i,m=0;
    char snum[20]; 
    if((fp=fopen("data.txt","rb"))==NULL)
    {
        printf("文件夹不存在!\n");
        return;
    } 
     while(!feof(fp))
         if(fread(&stu[m],LEN,1,fp)==1)
         m++;
    fclose(fp);
    if(m==0)
    {
        printf("文件中没有记录! \n");
        return;
    }
    printf("请输入学号:");
    scanf("%s",snum);
    for(i=0;i<m;i++)
    if(strcmp(snum,stu[i].num)==0)  //查找输入的学号是否在记录中 
    {
        printf("number  name  sex  Chinese  Math  English  sum\n");
        printf(FORMAT,DATA);   //将查找出的结果按照指定格式输出
      break; 
    } 
    if(i==m) 
        printf("没有找到这名学生!\n");   //没有找到要查询的信息 
}

能运行就调试,不能运行就看报错信息

看到这再没往下看了,细心点。 根据错误提示改
if(stu[i].num==stu[m].num)

还有int/int 结果还是int