void c_views()//课程浏览 { void stu_login(); void c_view() ; int inp,i=0,n=0; FILE *fp; char input; struct course courseview[10]; if((fp=fopen("course.dat","rb"))==NULL) //判断是否存在课程 { system("cls"); printf("\n\n\n\t课程不存在\n\n"); printf("\t<按任意键返回管理菜单>\n\t"); getchar();getchar(); stu_login();//进入学生登陆菜单 } else//存在的话循环读取文件中的信息直到文件指针到文件尾部 { do { fread(&courseview[i],sizeof(struct course),1,fp); i=i+1; } while(!feof(fp)); fclose(fp);//文件读完后关闭 do { system("cls"); if(i==1) { printf("\n\n\n\t\t\t没有记录!\n"); getchar();getchar(); stu_login(); } else { printf("\n\t------共有%d条记录-------",i-1); printf("\n\n\t课程编号: %d\n",courseview[n].c_num); printf("\n\n\t课程名字: %s\n",courseview[n].c_name); printf("\n\n\t课程学分: %d\n",courseview[n].c_score); printf("\n\n\t课程已选人数: %d\n",courseview[n].c_nelepeo); printf("\n\n\t课程人数上限: %d\n",courseview[n].c_melepeo); printf("\n\n\t1.上一页\t2.下一页\t3.回目录"); printf("\n请选择:"); scanf ("%d",&inp); switch(inp) { case 1: { if(n==0) { printf("\n\t已到达首页 \t按任意键返回"); input=getchar(); input=getchar(); } else { n=n-1; } break; } case 2: { if(n==i-2) { printf("\n\t已到达尾页\t按人意见返回"); input=getchar(); input=getchar(); } else { n=n+1; } break; } case 3:{stu_login();break;} default: { printf("\n\t操作错误\t按任意键返回"); getchar();getchar(); break; } } } }while(inp!=3); } }