c程序设计--学生选修课程系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1目录一、课程设计的题目和意义..............................2二、详细设计.......................................................31、模块功能介绍.................................................32、程序流程图.....................................................43、程序清单.........................................................5三、系统运行结果.............................................112一、课程设计的题目和意义题目五:学生选修课程系统设计假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:1、系统以菜单方式工作32、课程信息录入功能(课程信息用文件保存)3、课程信息浏览功能4、课程信息查询功能查询方式按学分查询按课程性质查询5、学生选修课程(可选项)通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。二、详细设计1、模块功能介绍题目:学生选修课程系统设计:4课程信息包括:课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等。试设计一学生选课系统,使之能提供以下功能:选课信息录入功能(学生信息用文件保存)---输入选课信息浏览功能---输出查询功能---算法按学分查询按课程性质查询进入选课信息操作2、程序流程图学生选修课程系统设计扯皮课程信息浏览查询、排序课程信息的删除与修改学分学时编号按学分查询按性质查询课程信息录入统计53、程序清单#includestdio.h#includestdlib.h#includestring.hstructcourse{intnum;charname[20];charkind[10];inttime;intttime;intetime;intmark;intterm;};structstudent{intsnum;intcnum;charcname[20];};/*课程信息录入*/voidinsert(){voidmain();FILE*fp;structcoursec;intcount;inti;if((fp=fopen(course.txt,a+))==NULL){printf(cannotopenfile\n);}printf(\n请输入课程门数:\n);scanf(%d,&count);printf(课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:\n);for(i=0;icount;i++){6scanf(%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);main();}/*课程信息浏览*/voidbrowser(){voidmain();FILE*fp;structcoursec;inta;if((fp=fopen(course.txt,r))==NULL){printf(\nCannotopencourse!\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);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);printf(\n1-返回主菜单;2-退出选课系统\n);scanf(%d,&a);if(a==1)main();elseexit(0);}/*课程信息查询*/voidsearch(){7voidmain();FILE*fp;structcoursec;intscore;charkind[10];inta;intb;printf(1.按学分查询,2.按课程性质查询.\n);printf(请选择查询方式,输入选项数字:);scanf(%d,&b);if(b==1){printf(\n请输入您要查询的学分:\n);scanf(%d,&score);if((fp=fopen(course.txt,r))==NULL){printf(\nCannotopencourse!\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(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);}}elseif(b==2){printf(\n请输入您要查询的课程性质:\n);scanf(%s,&kind);if((fp=fopen(course.txt,r))==NULL){printf(\nCannotopencourse!\n);}printf(课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:\n);for(;!feof(fp);){8fscanf(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)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();elseexit(0);}/*统计选课情况*/voidxuanke_information(){voidmain();inttotal=0;inta;FILE*fp;structstudents;if((fp=fopen(student.txt,r))==NULL){printf(\nCannotopenstudent!\n);}printf(学号课程编号课程名称\n);for(;!feof(fp);){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);9if(a==1)main();elseexit(0);}/*学生选修课程*/voidxuan_ke(){voidmain();structstudents;structcoursec;inta;FILE*fp;printf(\n请输入您的学号及您要选择的课程编号:);scanf(%d%d,&s.snum,&s.cnum);if((fp=fopen(course.txt,r))==NULL){printf(\nCannotopencourse!\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(s.cnum==c.num)break;}fclose(fp);if((fp=fopen(student.txt,a+))==NULL){printf(\nCannotopenstudent!\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)main();elseexit(0);}/*主菜单*/10voidmain(){intn,w=0;printf(********************************************************************************\n);printf(学生选课系统菜单\n);printf(********************************************************************************\n);printf(1-录入选课信息\n);printf(2-浏览选课信息\n);printf(3-查询选课信息\n);printf(4-统计选课情况\n);printf(5-进入选课操作\n);printf(0-退出选课系统\n);printf(********************************************************************************\n);printf(请选择输入选项前数字:);scanf(%d,&n);do{if(n5||n0){printf(\n输入错误!请重新输入!\n);scanf(%d,&n);}elsew=1;}while(w==0);switch(n){case1:insert();break;case2:browser();break;case3:search();break;case4:xuanke_information();break;case5:xuan_ke();break;case0:exit(0);11}return;}4、系统运行结果主菜单功能12选课信息录入选课信息查询13选课学生统计进入选课操作14

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功