学生选修课程系统设计 源程序清单
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*课程信息录入*/ void insert() {
void main(); FILE *fp; struct course c; int count; int i; if((fp=fopen("course.txt","a+"))==NULL) {
printf("cannot open file\n"); } printf("\n 请输入课程门数:\n"); scanf("%d",&count); printf("课程编号 课程名称 课程性质
\n");
printf("
2- 浏 览 课 程 信 息
\n");
printf("
3- 查 询 课 程 信 息
\n");
printf("
4- 统 计 选 课 情 况
\n");
printf("
5- 进 入 选 课 操 作
\n");
printf("
0- 退 出 选 课 系 统
\n");
printf("***********************************************************************
运行结果:
-5-
作者:宁波工程学院 计科专业 周咲宇
1.主菜单功能
2.课程信息录入或插入功能 4.课程信息浏览功能
-6-
作者:宁波工程学院 计科专业 周咲宇
5.课程信息查询功能
6.学生选修课程功能 7.统计选课情况功能
-7-
作者:宁波工程学院 计科专业 周咲宇 -8-
main(); else
exit(0); }
/*学生选修课程*/ void xuan_ke() {
void main(); struct student s; struct course c; int a; FILE *fp; printf("\n 请输入您的学号及您要选择的课程编号:"); scanf("%d%d",&s.snum,&s.cnum); if((fp=fopen("course.txt","r"))==NULL) {
-3-
作者:宁波工程学院 计科专业 周咲宇
fscanf(fp,"%d%d%s\n",&s.snum,&s.cnum,&s.cname); total++; printf("%7d%9d%13s\n",s.snum,s.cnum,s.cname);
} printf("\n 选课学生总人数为:%d 人",total); fclose(fp); printf("\n1-返回主菜单;2-退出选课系统\n"); scanf("%d",&a); if(a==1)
printf("请选择查询方式,输入选项数字:"); scanf("%d",&b); if(b==1) {
printf("\n 请输入您要查询的学分:\n"); scanf("%d",&score);
if((fp=fopen("course.txt","r"))==NULL) {
printf("\nCannot open course!\n"); } printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学
开课学期:\n"); for(i=0;i<count;i++) {
总学时
授课学时
实验或上机学时
学分
scanf("%d %s %s %d %d %d %d %d",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime, &c.mark,&c.term);
fprintf(fp,"%d %s %s %d %d %d %d %d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark, c.term);
} fclose(fp); printf("\n1-返回主菜单;2-退出选课系统\n");
scanf("%d",&a); if(a==1)
main(); else
exit(0); }
/*课程信息查询*/ void search() {
void main(); FILE *fp; struct course c; int score; char kind[10]; int a; int b; printf("1.按学分查询,2.按课程性质查询.\n");
分 开课学期:\n"); for(;!feof(fp);) {
-2-
作者:宁波工程学院 计科专业 周咲宇
fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime, &c.mark,&c.term);
-4-
作者:宁波工程学院 计科专业 周咲宇
Hale Waihona Puke Baidu
printf("
MENU
\n");
printf("***********************************************************************
*********\n");
printf("
1- 输 入 课 程 信 息
if(s.cnum==c.num) break;
} fclose(fp); if((fp=fopen("student.txt","a+"))==NULL) {
printf("\nCannot open student!\n"); } fprintf(fp,"%d %d %s\n",s.snum,s.cnum,c.name); fclose(fp); printf("\n1-返回主菜单;2-退出选课系统\n"); scanf("%d",&a); if(a==1)
*********\n");
printf("
请选择输入选项前数字:");
scanf("%d",&n);
do {
if(n>5||n<0) {
printf("\n 输入错误!请重新输入!\n");
scanf("%d",&n); } else w=1; }while(w==0);
switch(n) { case 1:insert();break; case 2:browser();break; case 3:search();break; case 4:xuanke_information();break; case 5:xuan_ke();break; case 0:exit(0); } return 0; }
开课学期:\n");
for(;!feof(fp);) {
总学时
授课学时
实验或上机学时
学分
fscanf(fp,"%d %s %s %d %d %d %d %d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.et ime,&c.mark,&c.term);
printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime, c.mark,c.term);
} fclose(fp); main(); }
/*课程信息浏览*/ void browser()
-1-
作者:宁波工程学院 计科专业 周咲宇
{ void main(); FILE *fp; struct course c; int a; if((fp=fopen("course.txt","r"))==NULL) { printf("\nCannot open course!\n"); } printf("课程编号 课程名称 课程性质
printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime, c.mark,c.term);
} } else{
printf("输入错误!"); exit(1); } fclose(fp); printf("\n1-返回主菜单;2-退出选课系统\n"); scanf("%d",&a); if(a==1) main(); else exit(0); }
if(c.mark==score)
printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime, c.mark,c.term);
} } else if(b==2){
printf("\n 请输入您要查询的课程性质:\n"); scanf("%s",&kind);
main(); else
exit(0); }
/*主菜单*/ int main(void) {
int n,w=0; printf("*********************************************************************** *********\n");
/*统计选课情况*/ void xuanke_information() {
void main(); int total=0; int a; FILE *fp; struct student s; if((fp=fopen("student.txt","r"))==NULL) {
printf("\nCannot open student!\n"); } printf(" 学号 课程编号 课程名称\n"); for(;!feof(fp);) {
printf("\nCannot open course!\n"); } for(;!feof(fp);) {
fscanf(fp,"%d %s %s %d %d %d %d %d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.et ime,&c.mark,&c.term);
if((fp=fopen("course.txt","r"))==NULL) {
printf("\nCannot open course!\n"); } printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学 分 开课学期:\n"); for(;!feof(fp);) { fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime, &c.mark,&c.term); if(strcmp(c.kind,kind)==0)
作者:宁波工程学院 计科专业 周咲宇
源程序清单:
#include<stdio.h> #include<stdlib.h> #include <string.h>
struct course {
int num; char name[20]; char kind[10]; int time; int ttime; int etime; int mark; int term; }; struct student { int snum; int cnum; char cname[20]; };