You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.7 KiB

void c_viewm()//课程浏览
{
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();
man_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:{man_login();break;}
default:
{
printf("\n\t操作错误\t按任意键返回");
getchar();getchar();
break;
}
}
}
}while(inp!=3);
}
}