1 / 20
文档名称:

C语言课程设计-学生选修课系统设计.doc

格式:doc   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言课程设计-学生选修课系统设计.doc

上传人:3346389411 2012/8/13 文件大小:0 KB

下载得到文件列表

C语言课程设计-学生选修课系统设计.doc

文档介绍

文档介绍:目录课程设计评语 2目录 26课程论文题目名称:学生选修课系统设计【要求】假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上级时间,学分,开课学期等信息,学生可按要求(如总学分不超过60)自由选课。是设计一选修课课程系统,使只能提供以下功能:(1)系统一菜单方式工作(2)课程信息和学生选课信息录入功能(课程信息用文件保存输入(3)课程信息浏览功能——输出(4)查询功能(至少一种查询方式)——算法(5)按学分查询(6)某门课程学生选修情况(可选项)【提示】数据结构可用结构体,包括授课和选课两个结构体,其中课程结构体成员包括编号,课程名称,课程性质,总学时,授课学时,实验或上机时间,学分,开课学期。学秀结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。程序设计思路需求分析系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。2、总体设计整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。3、详细设计数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。Struct{CharcourseCode[10];//课程编号CharcourseName[20];//课程名称CharcourseType[10];//课程类别InttotalPeriod;//总学时IntclassPeriod;//授课学时IntexperiPeriod;//上机学时FloatcreditHour;//学分Intterm;//开课学期}CourseInfo[N];//课程信息结构体Struct{IntstuNo;//学号;CharcourseCode[10];//课程编号}StuCourInfo[N];//学生选课信息结构体4.(1)信息输入模块从键盘输入课程信息和学生选课信息,写入文件。(fwrite,fprintf)(2)信息浏览模块分屏显示课程信息,每屏10条课程记录,按任意键继续。从文件中读数据(fread,fscanf),然后再显示。(3)信息查询模块通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。可以通过菜单选择课程编号,在学生选课信息文件中查询该课程学生选修情况。,故我的设计思路是根据目标程序运行的过程来编写的。在编写本程序的过程中,首先借助老师给的指导材料,确定了目标程序运行的次序与界面,即本程序首先运行【用户系统】菜单界面,其次程序运行【用户插入课程信息】及【用户浏览课程】菜单界面,最后程序运行【统计选课信息】及【选课】界面。如果用户选择【插入用户信息】选项则程序进入出入用户课程信息界面。需要一次输入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期等信息;如果用户选择【浏览课程】选项则程序进入【浏览课程】界面,将会显示所选课程的信息;如果用户选择【查询】选项则会显示按学分查询的选课信息;一次用户还可以查看某门课程的所选情况。其次,根据目标程序运行的次序与界面,确定设计顺利,设计界面(包括各部分菜单与用户提示信息)。再次是按照程序运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。最后是程序的总体调试及功能完善,此部分从学生选课的角度出发,考虑了更加人性化、更加合理、更加高效准确、更加智能化的设计。算法设计开始打开文件将学好和密码读入数组中输入密码和学号密码、学好?换回1换回0上图是简单的将输入学号和密码的过程提示是一遍,但实际函数中我使用的三从循环。第一重循环是输入学号;第二重循环是判断该学会是否存在,若学号不存在便提示是再输,还是退出系统;在学号存在时进入第三重循环,输入密码(注:学号和密码是在运行此函数时从文件中读到数组里)并在数组中查找,若有和该密码相等的数组元素,就将进入系统,()查询模块增加模块删除模块修改模块选课模块显示课程信息模块显示选课情况模块退出结束在次函数中用户通过输入选项进入不同的函数模块。当每次运行一个模块后,又进行选择。程序代码#