jocichen 发表于 2022-6-15 13:37:12

有没有大神看看为什么添加信息进文件最后会多个0呀?

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

#define MAX 1000
#define N 100

int flag;//用来标记登录状态
int length = 1;//注册人数

void Fpage();
void menu();
void login();
void browse();
void insert();
void print_back();
void deleter();
void print_one(int);
void search();
void modify();
void browse_x();
void fp_password();
void enroll(int);

struct student//学生信息
{
        char num;//学号
        char name;//姓名
        char sex;//性别
        int age;//年龄
        char addr;//籍贯
        char dept;//系别
        char major;//专业
        char classroom;//班级
        char native_changes;//学籍
}stu;

struct pass{
        char name;//名字
        char num;//学号
        char dept;//系别
        char major;        //专业
        char classnum;//班级
        char word;//密码
        char account; //账号
}password;//存储密码的数组

int main()//主函数
{
        Fpage();//首页
        menu();//菜单
       
        return 0;
}

void Fpage()//访问首页
{
        printf("\n\t   ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★\n");
        puts("\t    ※※※※※※※※※※※※※※※※※※※※※※※※※※※");
        puts("\t    ※※                                              ※※");
        puts("\t    ※※                                              ※※");
        puts("\t    ※※          欢迎访问学生学籍管理系统!         ※※");
        puts("\t    ※※                                              ※※");
        puts("\t    ※※                                              ※※");
        puts("\t    ※※                                              ※※");
        puts("\t    ※※                                              ※※");
        puts("\t    ※※                              制作人:陈茗杰※※");
        puts("\t    ※※                                  2022.5.30   ※※");
    puts("\t    ※※                                              ※※");
        puts("\t    ※※※※※※※※※※※※※※※※※※※※※※※※※※※");
        printf("\n\tPress [ Enter ] key to continue……\n");
    getchar();
        system("cls") ;
}

void menu()//主菜单
{
        system("cls");
        printf("\n\t\t\t欢迎使用学生学籍管理系统!\n");
        printf("\n");
        int n,r1;//n用来选择功能,r1用来输入错误时重新返回功能
        do
        {
           puts("\t\t★★★★★★★★    菜单★★★★★★★★★");
           puts("\t\t★             1.登录个人账号             ★");
           puts("\t\t★             2.登记学生信息             ★");
           puts("\t\t★             3.删除学生信息             ★");
           puts("\t\t★             4.查找学生信息             ★");
           puts("\t\t★             5.修改学生信息             ★");
           puts("\t\t★             6.浏览学生籍贯             ★");
           puts("\t\t★             7.查询学籍变化             ★");
           puts("\t\t★             8.退出学籍系统             ★");
           puts("\t\t★★★★★★★★★★★★★★★★★★★★★★");
       printf("请选择服务种类(1-8) : [ ]\b\b");
       scanf("%d",&n);
       if(n<1||n>8)
       {
                 system("cls");
                 printf("选择错误!请正确输入!\n");
                 r1=1;
           }
           else
             r1=0;
        }while(r1==1);
        switch(n)
        {
                case 1: login();break;//登录账号
                case 2: system("cls"); insert();break;//插入
                case 3: system("cls"); deleter(); break;//删除
                case 4: system("cls"); search();break;//查找
                case 5: system("cls"); modify();break;//修改
                case 6: system("cls"); browse();break;//浏览
                case 7: system("cls"); browse_x(); break;//学籍浏览
                case 8: system("cls"); exit(0);//退出系统
        }
}

//注册账号密码
void enroll(int n)
{
        int i;
        char newword;//密码
        if(length == MAX)printf("该系统注册人数已达上限!!暂无法继续注册!!!\n");//防止单次注册人数达到上限
        else if(n == 1)
        {
                printf("\t\t\t请输入您的学号:");
                scanf("%s",&password.num);//输入学号
                printf("\t\t\t请输入您的姓名:");
                scanf("%s",&password.name);//输入姓名
                printf("\t\t\t请输入您的学院:");
                scanf("%s",&password.dept);//输入学院
                printf("\t\t\t请输入您的专业:");
                scanf("%s",&password.major);//输入专业
                printf("\t\t\t请输入您的班级:");
                scanf("%s",&password.classnum);//输入班级
                do
                {
                        printf("\t\t\t请您输入密码:");//输入密码
                        scanf("%s",&password.word);
                        printf("\t\t\t请您再次输入密码:");
                        scanf("%s",&newword);//再次输入密码
                        if(strcmp(newword,password.word)){printf("\t\t\t您两次输入的密码不一致!!请您再次输入新密码!!!\n");system("cls");}//提示密码错误
                        else break;
                }while(1);//若密码两次输入不一致,则进行重新输入
                printf("\n\n\t\t\t已成功注册!!\n");//提示注册成功
                printf("\t\t\t您的账号是%s\n",password.num);
                printf("\t\t\t您的新密码是%s\n",password.word);//生成账号密码
                for(i = 0;i < strlen(password.classnum);i++)
               password.account = password.num;//将账号补充在结构体中的account变量
                length++;
        }
        else if(n == 2){
                printf("\t\t\t请输入您的教职工号:");
                scanf("%s",&password.num);//输入学号
                printf("\t\t\t请输入您的姓名:");
                scanf("%s",&password.name);//输入姓名
                printf("\t\t\t请输入您的所在学院:");
                scanf("%s",&password.dept);//输入学院
                do
                {
                        printf("\t\t\t请您输入密码:");//输入密码
                        scanf("%s",&password.word);
                        printf("\t\t\t请您再次输入密码:");
                        scanf("%s",&newword);//再次输入密码
                        if(strcmp(newword,password.word))
                        {
                                printf("\t\t\t您两次输入的密码不一致!!请您再次输入新密码!!!\n");
                                system("cls");}//提示密码错误
                        else break;
                }while(1);//若密码两次输入不一致,则进行重新输入
                printf("\n\n\t\t\t已成功注册!!\n");//提示注册成功
                printf("\t\t\t您的账号是%s\n",password.num);
                printf("\t\t\t您的新密码是%s\n",password.word);//生成账号密码
                for(i = 0;i < strlen(password.classnum);i++)
               password.account = password.num;//将账号补充在结构体中的account变量
               length++;
        }
        fp_password();//将密码保存到文件中
        system("pause");
        system("cls");
}

//将密码及注册人信息保存到文件
void fp_password()
{
        FILE *fp;
        int i;
        fp=fopen("password.txt","a");//在此路径下创建名为“password.txt”的记事本

                for(i=1;i<=length;i++)
                {
                        fprintf(fp,"%s%s%s%s%s%s\n",password.num,
                                                                                                  password.word,
                                                              password.name,
                                                                                                  password.major,
                                                                                                  password.dept,
                                                                                                  password.classnum);
                }
               
        fclose(fp);
}

//核对密码
int fp_wordsearch(char a[] , char b[])
{
        FILE *p; //定义文件指针变量
        char acc , word;//定义字符数组
       
        p = fopen("password.txt","r");//以只读的形式打开password文本文件
        if(p == NULL)
        {
                printf("\t\t\t请先进行注册。\n");//说明未找到情况
                return -1;
        }
       
        while(!feof(p))
        {
                fscanf(p,"%s %s",&acc, &word);//从文本中寻找对应的账号密码
                if(!strcmp(acc , a)&&!strcmp(word , b))break;//若找到了,则退出循环
        }
       
        if(!feof(p))
        {
                return 1; //若找到了返回1
        }
        else{
                clearerr(p); //使文件错误标志和文件结束标志置为0
                return -2;//若找不到,返回-2
        }       
}

void login()//登录
{

    char d, c , w, w1;
        char word , acc;//定义变量
        system("cls");
       
        if(flag) //先判断是否已登录
        {
                printf("\t\t\t您已经登录!\n");
                printf("\t\t\tPress any key to continue...\n");
                getchar();
                getchar();
                system("cls");
                menu();
        }
       
        printf("\t\t\t————请进行系统登录————\n");
        printf("\t\t\t*         1,学生            *\n");
        printf("\t\t\t*         2,教师            *\n");
        printf("\t\t\t*         0,退出            *\n");
        printf("\t\t\t———————————————\n");//系统登录菜单
        printf("\t\t\t是否已注册本系统账号(y/n):");
           do c = getchar(); while(c != 'y'&&c != 'n');//选择是否进行注册
       
        if(c == 'y')
        {
                printf("\n\t\t\t请选择身份:");
          scanf("%d",&d);
                system("pause");
               
                do
                {
                        system("cls");
              printf("\t\t\t————请进行系统登录————\n");
                        printf("\t\t\t*         1,学生            *\n");
                        printf("\t\t\t*         2,教师            *\n");
                        printf("\t\t\t*         0,退出            *\n");
                        printf("\t\t\t———————————————\n");
                        int i = 0;
                        printf("\t\t\t账号:");
                        scanf("%s" , acc); //输入账号
                        printf("\t\t\t密码:");          
                        getch();
                        int j=0;//用于密码数组 下标
                        while(1)
                        {
                                word=getch();
                                if(word=='\r')
                                  break;
                                printf("*");
                                j++;
                        }
                        flag=0;
                        word='\0';
                        if(fp_wordsearch(acc , word) == -2)
                        {       
                                printf("\n\t\t\t密码或账号输入错误。\n\n");//说明账号密码输入错误的情况
                                w1=1;
                  }
                        else if(fp_wordsearch(acc , word) == 1)
                        {
                                printf("\n\t\t\t登录成功。\n");
                                flag=1;
                                break;
                        }//提示账号密码输入正确
                        system("pause");
                }while(w1=1);
            printf("\t\t\tPress key to continue...\n");
                getchar();
                system("pause");
                system("cls");
                menu();
        }
       
       
        //未注册
        else
        {
                printf("\t\t\t请选择身份:");
          scanf("%d",&d);
                system("pause");
            enroll(d);//进行账号密码的注册
                do
                {       
                  system("cls");
                        printf("\t\t\t————请进行系统登录————\n");
                        printf("\t\t\t*         1,学生            *\n");
                        printf("\t\t\t*         2,教师            *\n");
                        printf("\t\t\t*         0,退出            *\n");
                        printf("\t\t\t———————————————\n");//系统登录菜单
                        printf("\t\t\t是否已注册本系统账号(y/n):");
                        do c = getchar(); while(c != 'y'&&c != 'n');//选择是否进行注册
                        int i = 0;
                        printf("\t\t\t账号:");
                        scanf("%s" , acc); //输入账号
                        printf("\t\t\t密码:");          
                        getch();
                        int j=0;//用于密码数组 下标
                        while(1)
                        {
                                word=getch();
                                if(word=='\r')
                                  break;
                                printf("*");
                                j++;
                        }
                        flag=0;
                        word='\0';                               
                        if(fp_wordsearch(acc , word) == -2)
                        {       
                                printf("\n\t\t\t密码或账号输入错误。\n\n");//说明账号密码输入错误的情况
                                w1=1;
                  }
                        else if(fp_wordsearch(acc , word) == 1)
                        {
                                printf("\t\t\t登录成功。\n");
                                flag=1;
                                break;
                        }//提示账号密码输入正确
                        system("pause");
                }while(w1=1);
                printf("\t\t\tPress key to continue...");
                getchar();
                system("cls");
                menu();               
    }
}
int load()//打开文件,读取数据
{
        FILE *fp;
        int i;
        if((fp=fopen("student.txt","r"))==NULL)
        {
                printf("\n文件不存在!请重新输入:\n");
                return 0;
        }
        for(i=0;!feof(fp);i++)
          fread(&stu,sizeof(struct student),1,fp);//将一批数据作为一个整体一次性写入磁盘文件
          //fread(buffer,size,cout,fp)
          //buffer:数据位置 sizeof:数据字节数 count:读取次数 fp:原磁盘文件指针
                fclose(fp);
                return(i-1);
}

void input(int k)//输入学生信息
{
        getchar();
        printf("学号:");fflush(stdin); gets(stu.num); fflush(stdin);
        printf("姓名:");   gets(stu.name); fflush(stdin);
        printf("性别:");   gets(stu.sex); fflush(stdin);
        printf("年龄:");   scanf("%d",&stu.age);getchar();
    printf("籍贯:");   gets(stu.addr); fflush(stdin);
        printf("系别:");   gets(stu.dept); fflush(stdin);
        printf("专业:");   gets(stu.major); fflush(stdin);
        printf("班级:");   gets(stu.classroom); fflush(stdin);
        printf("学籍变化(如入学、转专业、退学、降级、休学、毕业):"); gets(stu.native_changes); fflush(stdin);
       
}

void save(int n)//保留学生信息
{
        FILE *fp;
        int i;
        fp=fopen("student.txt","a");//在路径下打开名为“student.txt”的记事本,并追加
        for(i=0;i<=n;i++)
        {
               
                fprintf(fp,"%-17s%-17s%-17s%-17d%-17s%-17s%-17s%-17s%-17s\n",stu.num,stu.name,stu.sex,stu.age,stu.addr,stu.dept,stu.major,stu.classroom,stu.native_changes);
        }
        fclose(fp);
        printf("\t\t\t学生信息保存成功!");
        getchar();
}   

void insert()//添加学生信息
{
        int i,n,k,t;
        FILE *fp;
        if((fp=fopen("student.txt","r"))==NULL)//读入空文件,r表示打开一个文件,只允许读数据
        {
                printf("\n\t\t\tHow many student do you want to add(1-%d)?:",N-1);
                n=0;
        }//文件未存数据时 ,总数n为0
        else
        {
                n=load();
                printf("\n\t\t\tHow many student do you want to insert(1-%d)?:",N-n-1);
        }//文件存有数据,还剩下N-t(已添加人数)可以添加
        scanf("%d",&t);
        k=n+t;// 现文件存在人数 +要添加的人数
        for(i=n;i<k;i++)//从第最后存在人数开始增加
        {
                printf("\n\t\t\t 输入第%d个学生的学籍信息.\n",i-n+1);
                input(i);
        }
        save(k);//保留所有学生的信息
        print_back();
}

void print_back()//添加信息后显示“是浏览还是返回”
{
        system("cls");
        int w,k=0;
        void browse();
        void menu();
        printf("\n\n\t插入成功\n\n");
        do
        {
                printf("\t\t\tWhat do you want to do next?\n");
                printf("\t\t\t1.浏览所有\n");
                printf("\t\t\t2.返回\n");       
                printf("\t\t\t[ ]\b\b");       
                scanf("%d",&w);
                if(w==1)
                {
                        system("cls");
                        browse();
                }
                else if(w==2)
                {
                        system("cls");
                        menu();
                }
                else
                  printf("选择错误!请重新选择!\n");
        }while(k==0);
}

void deleter()//删除
{
        void menu();
        if(!flag)
        {
                printf("\n\n\t请先登录!\n");
                printf("\n\t请按Enter 键进入登录界面!");
                getchar();
                getchar();
                login();
        }
        else
        {
                struct student s;
                int i,n,k,w0,w1;
                n=load();
                do
                {
                        k=-1;
                        do
                        {
                                printf("\n\n请输入您想要删除的学生的姓名!\nName:");
                          scanf("%s",s.name);
                          for(i=0;i<n;i++)
                              if(strcmp(s.name,stu.name)==0)
                              {
                                    k=i;
                                    s=stu;
                              }
                          if(k==-1)
                          {
                                  int m;
                                  printf("\n\n没有这个学生的信息!\n");
                                  printf("What do you want to do next?1.继续输入 2.返回主菜单   [ ]\b\b");
                                  scanf("%d",&m);
                                  if(m==1)
                                    deleter();
                                  else
                                  {
                                          k=0;
                                          menu();
                                        }
                                }
                        }while(k==-1);
                        print_one(k);
                        printf("\n\t确定删除?\n\t1.是2.返回    [ ]\b\b");//再次询问是否删除
                        scanf("%d",&w0);
                        if(w0==1)
                        {
                                stu.name='\0';
                                save(n);
                        }
                        else
                          break;
                        printf("\n\t成功删除!\n");
                        printf("What do you want to do?\n\t1.继续2.返回   [ ]\b\b");
                        scanf("%d",&w1);        
                }while(w1==1);
                system("cls");
                menu();//不再删除时返回菜单,w1!=1
        }
}

void print_one(int k)//输出一个学生的信息
{
        printf("学号:%s\n",stu.num);
        printf("姓名:%s\n",stu.name);
        printf("性别:%s\n",stu.sex);
        printf("年龄:%d\n",stu.age);
    printf("籍贯:%s\n",stu.addr);
        printf("系别:%s\n",stu.dept);
        printf("专业:%s\n",stu.major);
        printf("班级:%s\n",stu.classroom);
        printf("学籍变化:%s\n",stu.native_changes);
}

void print_n(int n)//浏览时输出所有学生的信息
{
        int j,i=1;
        for(j=0;j<n;j++)
        {
                printf("第%个学生:\n",i++);
                print_one(j);
                printf("\n");
        }
        getchar();
}

void search()//查找
{
        void menu();
        int w0,k,i,n,w1,w2,a;
        struct student s;
        FILE *fp;
        if((fp=fopen("student.txt","r"))!=NULL)//不是空文件
          n=load();
        do
        {
                printf("请选择查找类别:1.姓名 2.学号[ ]\b\b");
                scanf("%d",&w1);getchar();
                if(w1>2||w1<1)
                {
                        printf("输入错误!请重新输入!\n");
                        w2=1;
                }
                else
                  w2=0;//加这句是为了能跳出循环
        }while(w2==1);
       
        if(w1=1)//姓名查找
        {
                do
                {
                        k=-1;
                        do
                        {
                                printf("\n请输入您想要查找的学生的姓名!\nName:");
                                scanf("&s",s.name);
                                for(i=0;i<n;i++)
                                  if(strcmp(s.name,stu.name)==0)//找到
                                  {
                                                  a=i;
                                                  s=stu;
                                                  k=2;
                                  }
                                  
                                  if(k==-1)//没有找到
                                  {
                                                   int o;
                                                  printf("\n\n没有找到这个学生的信息!\n");
                                                  printf("What do you want to do?\n\t 1.继续 2.返回菜单 [ ]\b\b");
                                                  scanf("%d",&o);
                                                  if(o==1)
                                                  {
                                                          system("cls");
                                                          search();//继续查找
                                                  }
                                                else
                                                {
                                                        system("cls");
                                                        menu();
                                                }
                                  }
                        }while(k==1);
                  system("cls");
                  print_one(a);//找到以后输出这个学生的信息
                  printf("\nWhat do you want to do next?\n\t1.继续 2.返回菜单[ ]\b\b");
                  scanf("%d",&w0);
                }while(w0==1);
          system("cls");
            menu();//不在寻找时返回菜单
        }
        else//按学号查找
        {
                do
                {
                        k=-1;
                        do
                        {
                                printf("\n请输入您想要查找的学生的学号!\nNum:");
                                scanf("%s",s.num);
                                for(i=1;i<n;i++)
                                  if(strcmp(s.num,stu.num)==0)//找到
                                  {
                                          a=i;
                                          k=2;
                                          s=stu;
                                  }
                                        if(k==-1)//没有找到
                                        {
                                                int o;
                                                printf("\n\n没有这个学生的信息!\n!");
                                                printf("What do you want to do?\n\t1.继续2.返回菜单[ ]\b\b");
                                                scanf("%d",&o);
                                                if(o==1)
                                                {
                                                        system("cls");
                                                        search();//继续查找
                                                }       
                                                else
                                                {
                                                        system("cls");
                                                        menu();
                                                }
                                        }
                        }while(k==-1);
                        system("cls");
                        print_one(a);//找到以后输出这个学生的学籍信息
                        printf("\nWhat do you want to do?\n\t1.继续2.返回菜单[ ]\b\b");
                        scanf("%d",&w0);
                }while(w0==1);
                system("cls");
                menu();//不再查找时返回主菜单
        }
}

int modify_data(int i)//修改信息函数
{
        int c,w1;
        void menu();
        do
        {
                puts("\n请选择要修改的选项:\n\n1.学号 2.姓名 3.性别 4.年龄 5.籍贯 6.系别 7.专业 8.班级 9.学籍变化 10.所有信息 11.取消并返回");
                printf("请选择?:[]\b\b\b");
                scanf("%d",&c);
                if(c>11||c<1)
                {
                        puts("\n选择错误!请重新选择!");
                        getchar();
                }
        }while(c>11||c<1);
        do
        {
                switch(c)
                {
                        case 1: printf("学号:");scanf("%s",stu.num); break;
         case 2: printf("姓名:");scanf("%s",stu.name); break;
         case 3: printf("性别:");scanf("%s",stu.sex); break;
               case 4: printf("年龄:");scanf("%d",&stu.age);break;
               case 5: printf("籍贯:");scanf("%s",stu.addr);break;
               case 6: printf("系别:");scanf("%s",stu.dept);break;
               case 7: printf("专业:");scanf("%s",stu.major);break;
               case 8: printf("班级:");scanf("%s",stu.classroom);break;
               case 9: printf("学籍变化:");scanf("%s",stu.native_changes);break;
               case 10: input(i); break;/*修改这个学生的所有信息*/
               case 11: menu();/*返回主菜单*/
                }
                puts("\nNow:\n");
                print_one(i);//输出 修改后 的这个学生的信息
                printf("\n确定?\n\n\t1.是 2.否,重新修改 3.返回不保存[ ]\b\b");
                scanf("%d",&w1);
        }while(w1==2);
        return(w1);//修改成功并选择1后返回1
}

void modify()//修改
{
        system("cls");
        void menu();
        if(!flag)
        {
                printf("\n\n\t请先登录!\n");
                printf("\n\t请按Enter 键进入登录界面!");
                getchar();
                getchar();
                login();
        }
        else
        {
                struct student s;
                int i,n,k,w0=1,w1,w2=0;
                n=load();
                do
                {
                        k=-1;
                        do
                        {
                                printf("\n 请输入您想要修改的学生的姓名!\nName:");
                                scanf("%s",s.name);
                                for(i=0;i<n;i++)
                                        if(strcmp(s.name,stu.name)==0)//与其中一学生匹配
                                        {
                                                k=1;
                                                s=stu;
                                        }
                                   if(k==-1)//没有找到输入的学生
                                   {
                                             int o;
                                             printf("\n\n没有这个学生的信息!\n");
                                             printf("What do you want to do ?\n\t1.继续 2.返回菜单 [ ]\b\b");
                                             scanf("%d",&o);
                                             if(o==1)
                                             {
                                                     system("cls");
                                                     modify();//继续修改
                                                }
                                                else
                                                {
                                                        system("cls");
                                                        menu();
                                                }
                                   }
                          }while(k==-1);
                          system("cls");
                          print_one(k);//输出这个学生的信息
                                w1=modify_data(k);
                                if(w1==1)//判断是否修改成功
                                {
                                        printf("\n\t修改成功 \n\n是否继续?\n\n\t1.是 2.保存返回\t[ ]\b\b");
                                        scanf("%d",&w0);
                                        w2=1;
                                }
                                else
                                {
                                       
                                        w0=0;
                                        if(w2==0)
                                          stu=s;
                                }
                                if((w0!=1)&&(w2==1))//修改成功保存
                                  save(n);
                }while(w0=1);
                system("cls");
                meun();//不再修改返回主菜单
        }
}

void browse()
{
        int i,n,a;
    FILE *fp;
        if((fp=fopen("student.txt","r"))!=NULL)//不是空文件
          n=load();//打开文件
        printf("********************学生籍贯表*********************\n");
        printf("学号      姓名       籍贯\n");
        for(i=0;i<=n ;i++)
        {
                printf("%s      %s         %s\n",stu.num,stu.name,stu.addr);
        }
        fclose(fp);
        printf("\t\t\tPress key to continue...");
        getchar();
        system("cls");
        menu();

}

void browse_x()
{
    struct student s;
        int i,k,w,w0,n,o;
    FILE *fp;
        if((fp=fopen("student.txt","r"))!=NULL)//不是空文件
          n=load();//打开文件
   
        do
        {
                k=-1;
                do
                {
                        printf("\n请输入您想要查找的学生的学号!\nNum:");
                        scanf("&s",s.num);
                        for(i=0;i<n;i++)
                          if(strcmp(s.num,stu.num)==0)//找到
                          {
                                  w=1;
                                  k=1;
                                }
                          
                        if(k==-1)//没有找到
                        {
                                  int o;
                                  printf("\n\n没有找到这个学生的信息!\n");
                                  printf("What do you want to do?\n\t 1.继续 2.返回菜单 [ ]\b\b");
                                  scanf("%d",&o);
                                  if(o==1)
                               {
                                          system("cls");
                                          w=-1;
                                  }
                                else
                                {
                                        system("cls");
                                        menu();
                                }
                        }
                }while(w==-1);
          system("cls");
          printf("学号:%s姓名:%s   学籍:%s\n",stu.num,stu.name,stu.native_changes);;//找到以后输出这个学生的信息
          printf("\nWhat do you want to do next?\n\t1.继续 2.返回菜单[ ]\b\b");
          scanf("%d",&w0);
        }while(w0==1);
    system("cls");
    menu;//不在寻找时返回菜单
        fclose(fp);

}
页: [1]
查看完整版本: 有没有大神看看为什么添加信息进文件最后会多个0呀?