printf(\
}
printf(\请输入您欲查询的选课编号:\
scanf(\ printf(\ 学号 课程编号 课程名称\\n\ }
for(;!feof(fp);) {
fscanf(fp,\if(s.cnum==num) {
total++;
printf(\
} }
printf(\选课学生总人数为:%d 人\fclose(fp);
printf(\返回主菜单;2-退出选课系统\\n\scanf(\if(a==1)
menu(); exit(0); else
(5)学生选修模块
[需求分析]
具体情况参见流程图9-7所示。
11
开始 输入学号和课程编号 读取课程信息,当学生所选编号与课程编号相符,停止 将学生选课信息录入学生文件中 提示“选课成功” 1 用户选择 2 返回主菜单 退出系统 结束
图9-7 学生选修流程图
[程序]
/***********************学生选修课程模块***********************/ void xuan_ke()
{
struct student s; struct course c;
int a;
FILE *fp;
printf(\请输入您的学号及您要选择的课程编号:\scanf(\if((fp=fopen(\ { }
for(;!feof(fp);)
printf(\
{ fscanf(fp,\etime,&c.mark,&c.term);
12
if(s.cnum==c.num) /*如果学生所选编号与课程编号
相符*/
break; }
fclose(fp);
if((fp=fopen(\{
printf(\}
fprintf(fp,\ /*从学生s文件输出学生信息,包fclose(fp);
printf(\您选课已成功!\
printf(\返回主菜单;2-退出选课系统\\n\scanf(\if(a==1)
括学号,学生选课编号,课程名称*/
menu(); else exit(0); }
9.5上机操作
9.5.1数据源
根据前面所列的数据输入形式,输入必要数据课程信息和学生信息。
9.5.2编译、链接和运行。
在完成程序编译后,点击组建按钮,然后点击“!”运行程序。
9.5.3运行结果。 (1)主菜单函数:
进入程序,效果如图5-8所示。
13
图5-8 主函数模块
(2 ) 课程信息录入模块
在主界面出现后输入1并按【Enter】键,结果如图5-9所示。
图5-9 课程信息录入模块
输入要录入的课程信息,然后按【Enter】键,回到主界面,如图5-10所示。
14
图5-10 课程信息录入模块
(3 )课程信息浏览模块
浏览课程信息,如图5-11所示。
图5-11 课程信息浏览模块
(4 )课程信息查询模块
15