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.

85 lines
2.6 KiB

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);
}