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.
356 lines
10 KiB
356 lines
10 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);
|
|
}
|
|
}
|
|
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
|
|
void c_searchs()
|
|
{
|
|
void stu_login();
|
|
void c_searchs();
|
|
|
|
int id,i=0,j,inp,k;
|
|
int flag=0;
|
|
FILE *fp;
|
|
struct course coursesear[10];
|
|
|
|
if ((fp=fopen("course.dat","rb"))==NULL) //判断课程信息是否存在
|
|
{
|
|
system("cls");
|
|
printf("\n\n\t课程不存在\t按任意键返回");
|
|
getchar();getchar();
|
|
stu_login();
|
|
}
|
|
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
|
|
{
|
|
do
|
|
{
|
|
fread(&coursesear[i],sizeof(struct course),1,fp);
|
|
i=i+1;
|
|
}while(!feof(fp));
|
|
fclose(fp);
|
|
}
|
|
system("cls");
|
|
printf("\n\n\t\t\t请输入你要查询的课程编号:");
|
|
scanf("%d",&id);
|
|
|
|
do//检查输入是否符合要求
|
|
{
|
|
for(j=0;j<i-1;j++)
|
|
{
|
|
if(id==coursesear[j].c_num)
|
|
{
|
|
flag++;
|
|
k=j;
|
|
}
|
|
}
|
|
if(flag==1)
|
|
{
|
|
system("cls");
|
|
printf("\n\n\t课程编号:%d\n",coursesear[k].c_num);
|
|
printf("\n\n\t课程名字:%s\n",coursesear[k].c_name);
|
|
printf("\n\n\t课程学分:%d\n",coursesear[k].c_score);
|
|
printf("\n\n\t课程已选人数:%d\n",coursesear[k].c_nelepeo);
|
|
printf("\n\n\t课程人数上限:%d\n",coursesear[k].c_melepeo);
|
|
getchar();getchar();
|
|
printf("\n\n\t1.回目录继续查询\t2.退出查询系统\n");
|
|
printf("请选择:");
|
|
scanf("%d",&inp);
|
|
switch(inp)
|
|
{
|
|
case 1:c_searchs();
|
|
case 2:stu_login();
|
|
default:
|
|
{
|
|
printf("\n\t没有这项服务\t请按任意键重新输入");
|
|
getchar();getchar();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
system("cls");
|
|
printf("\n\n\t不存在对应记录\n");
|
|
printf("\n\n\t1.回目录继续查询\t2.退出查询系统\n");
|
|
printf("请选择:");
|
|
scanf("%d",&inp);
|
|
switch(inp)
|
|
{
|
|
case 1:c_searchs();
|
|
case 2:stu_login();
|
|
default:
|
|
{
|
|
printf("\n\t没有这项服务\t请按任意键重新输入");
|
|
getchar();getchar();
|
|
}
|
|
}
|
|
}
|
|
}while(inp!=1);
|
|
}
|
|
|
|
|
|
void c_searchm()
|
|
{
|
|
void stu_login();
|
|
void c_searchm();
|
|
|
|
int id,i=0,j,inp,k;
|
|
int flag=0;
|
|
FILE *fp;
|
|
struct course coursesear[10];
|
|
|
|
if ((fp=fopen("course.dat","rb"))==NULL) //判断课程信息是否存在
|
|
{
|
|
system("cls");
|
|
printf("\n\n\t课程不存在\t按任意键返回");
|
|
getchar();getchar();
|
|
stu_login();
|
|
}
|
|
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
|
|
{
|
|
do
|
|
{
|
|
fread(&coursesear[i],sizeof(struct course),1,fp);
|
|
i=i+1;
|
|
}while(!feof(fp));
|
|
fclose(fp);
|
|
}
|
|
system("cls");
|
|
printf("\n\n\t\t\t请输入你要查询的课程编号:");
|
|
scanf("%d",&id);
|
|
|
|
do//检查输入是否符合要求
|
|
{
|
|
for(j=0;j<i-1;j++)
|
|
{
|
|
if(id==coursesear[j].c_num)
|
|
{
|
|
flag++;
|
|
k=j;
|
|
}
|
|
}
|
|
if(flag==1)
|
|
{
|
|
system("cls");
|
|
printf("\n\n\t课程编号:%d\n",coursesear[k].c_num);
|
|
printf("\n\n\t课程名字:%s\n",coursesear[k].c_name);
|
|
printf("\n\n\t课程学分:%d\n",coursesear[k].c_score);
|
|
printf("\n\n\t课程已选人数:%d\n",coursesear[k].c_nelepeo);
|
|
printf("\n\n\t课程人数上限:%d\n",coursesear[k].c_melepeo);
|
|
getchar();getchar();
|
|
printf("\n\n\t1.回目录继续查询\t2.退出查询系统\n");
|
|
printf("请选择:");
|
|
scanf("%d",&inp);
|
|
switch(inp)
|
|
{
|
|
case 1:c_searchm();
|
|
case 2:man_login();
|
|
default:
|
|
{
|
|
printf("\n\t没有这项服务\t请按任意键重新输入");
|
|
getchar();getchar();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
system("cls");
|
|
printf("\n\n\t不存在对应记录\n");
|
|
printf("\n\n\t1.回目录继续查询\t2.退出查询系统\n");
|
|
printf("请选择:");
|
|
scanf("%d",&inp);
|
|
switch(inp)
|
|
{
|
|
case 1:c_searchm();
|
|
case 2:man_login();
|
|
default:
|
|
{
|
|
printf("\n\t没有这项服务\t请按任意键重新输入");
|
|
getchar();getchar();
|
|
}
|
|
}
|
|
}
|
|
}while(inp!=1);
|
|
}
|
|
|