94C语言课程设计报告模板

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

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

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

资源描述

1中国地质大学本科生课程论文封面课程名称教师姓名本科生姓名本科生学号本科生专业所在院系类别:日期:2目录课程设计评语......................................................................................................错误!未定义书签。目录....................................................................................................................................................21.课程论文题目................................................................................................................................32.程序设计思路................................................................................................................................33.功能模块图....................................................................................................................................34.数据结构设计................................................................................................................................45.算法设计........................................................................................................................................46.程序代码........................................................................................................................................47.程序运行结果................................................................................................................................48.编程中遇到的困难及解决方法....................................................................................................49.总结心得及良好建议....................................................................................................................410.致谢..............................................................................................................................................431.课程论文题目2.程序设计思路3.功能模块图44.数据结构设计5.算法设计6.程序代码7.程序运行结果8.编程中遇到的困难及解决方法9.总结心得及良好建议10.致谢5一、题目假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:a)系统以菜单方式工作b)课程信息录入功能(课程信息用文件保存)--输入c)课程信息浏览功能--输出d)查询功能:(至少一种查询方式)--算法(1)按学分查询(2)按课程性质查询e)学生选修课程(可选项)2.程序设计思路2、分析:由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有浏览、插入、修改、查找、删除学生选课信息等操作,顾应分别建立个功能模块;另外还应提供键盘式选择菜单实现程序运行。3、总体设计:根据题目要求,可以将系统分为六个模块:1)系统以菜单方式工作模块;2)课程信息与学生选课信息录入功能模块;63)课程信息浏览功能模块;4)查询模块;5)按学分查询模块;6)某些课程学生选修情况模块。3.功能模块图函数模块功能说明insert插入课程信息browser浏览课程信息search查找课程信息xanke_information进行选课统计xuan_ke()进行选课exit退出74、数据结构设计学生可选修课系统学生端插入课程信息浏览课程信息查找选课信息统计选课情况进行选课学生选修课系统退出系统退出系统或返回主菜单学分性质85.算法设计6.程序代码#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);}9printf(\n请输入课程门数:\n);scanf(%d,&count);printf(课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:\n);for(i=0;icount;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);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);10if(a==1)main();elseexit(0);}/*课程信息查询*/voidsearch(){voidmain();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){11printf(\n请输入您要查询的课程性质:\n);scanf(%s,&kind);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(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){12printf(\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);if(a==1)main();elseexit(0);}/*学生选修课程*/voidxuan_ke(){voidmain();structstudents;structcoursec;inta;FILE*f

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

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

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

×
保存成功