《C语言课程设计学生选修课程系统 .doc》由会员分享,可在线阅读,更多相关《C语言课程设计学生选修课程系统 .doc(19页珍藏版)》请在三一办公上搜索。
1、中国海洋大学青岛学院C语言课程设计报告书题 目学生选修课程系统学生姓名 指导教师学 院专业班级 组内分工姓名主要任务占系统比例选课40%管理员(修改、删除课程)20%用户登录20%管理员(浏览、增加课程)20%目 录1 前言12 需求分析23 模块设计图34 NS流程图清单45 存储结构及函数说明126 课程设计结果147 实践心得体会161 前言通过课程设计,巩固和加强学生对C语言课程的基本知识的理解,掌握C语言编程和程序调试的基本技能;利用C语言进行基本的软件设计;掌握书写程序的说明文档的能力;提高运用C语言解决实际问题的能力;提高学生自主解决问题的能力;培养学生之间的团队精神。 学生选修
2、课程系统主要实现教育作为知识创新、传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。尽管人类的进步的程度随着不同的时代,不同地区而有所变化,教育的口径却在不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄、不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教育管理面临着诸多的挑战。学生选课系统。从表面上来看,只是学生在选课,然而却包含着许多工作。其中包括两部分人员,一是学生,二是管理人员。系统中的课程需要管理员去管理,主要包括浏览课程、增加课程、删除课程、修改课程等,这样便于同学们更好的选课。学生选课又包括好几个功能,其中有正选、查看是否已选、退选、显示已
3、选课程,使同学更清楚地了解选课。管理员与同学想要进入系统,还需要验证是否是本人,所以还要有个登陆函数,以便于保护课程信息和学生的信息。2 需求分析21世纪以高科技为核心的知识经济将占主导地位,国家的综合实力和国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新、传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。随着学校规模的不断扩大,专业、班级、学生的数量是急剧增加,有关学生选课的各种信息量也成倍增长,而且许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的选课管理系统来提高管理工作效率。基于互联网的特色,
4、给你选课管理系统,在学生选课的规范管理,科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大改善了学生、教师和其最新信息查询的的准确性。学生选课系统主要满足来自两方面的需求,这两个方面别是学生用户、管理员用户,也即是两类用户角色。(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;(2)管理员用户的功能需求较为复杂,包括对学生信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。3 模块设计图学生选课系统 用户登录 管理员登录模块选 课课程信息管理 增加课程信息删除课程
5、信息修改课程信息 浏览课程信息退 选查 看 已 选正 选浏览课程 学生登录模块4 NS流程图清单管理员登陆NS流程图 (admin_login(char *un ,char *pw) 返回值为1是否完成文件读取(While !feof(fp)录入文件存取的用户名和密码(fscanf)比对用户名(strcmp)不匹配匹配关闭文件比对密码输出“用户名不存在”输出“登陆成功”不匹配匹配-10跳出返回0返回1输出“密码错误”关闭文件关闭文件输出“关闭文件失败”打开文件(fopen)输出“打开文件失败”跳出(exit(0)失败成功学生登陆函数NS流程图(student_login(char *un, c
6、har *pw)) 返回值2是否完成文件读取(While !feof(fp)录入文件存取的用户名和密码(fscanf)比对用户名(strcmp)不匹配匹配关闭文件比对密码输出“用户名不存在”输出“登陆成功”不匹配匹配-10跳出返回0返回2输出“密码错误”关闭文件关闭文件输出“关闭文件失败”打开文件(fopen)输出“打开文件失败”跳出(exit(0)失败成功浏览课程函数NS流程图(scancourse()增加课程信息NS流程图(admin_addcourse())修改课程NS流程图(admin_alertcourse())删除课程NS流程图(admin_delcourse())检查课程号是否存
7、在函数(student_is_exist(char *cn))用于正选检查是否已选函数(student_isselected(char *sn, char *cn)用于正选正选函数NS流程图(student_zhengxuan(char *stunumber1))此函数中运用了检查课程号是否存在函数(student_is_exist(char *cn))检查是否已选函数(student_isselected(char *sn,char *cn))退选函数NS流程图(student_showselected(char *stunumber3))FILE *fp,*fp1,*fp2,*fp3cou
8、rse pchar delnumber20char namel20scanf(%s,delnumber)T(fp=fopen(selected.txt,r)=NULL Fprintf(打开文件失败!)exit(0) T (fp1=fopen(linshi.txt,w)=NULL Fprintf(打开文件失败!)exit(0) while(!feof(fp)fscanf()T strcmp(delnumber,p.coursenumber)= 0 & strcmp(stunumber3,namel)=0 Fcontinuefprintf() T fclose(fp1) Fprintf(关闭文件失
9、败!)exit(0) T fclose(fp) Fprintf(关闭文件失败!)exit(0) T (fp2=fopen(linshi.txt,r)=NULL Fprintf(打开文件失败!)exit(0) T (fp3=fopen(selected.txt,w)=NULL Fprintf(打开文件失败!)exit(0) while(!feof(fp)fscanf()fprintf() Tfclose(fp3) Fprintf(关闭文件失败!)exit(0) T fclose(fp2) Fprintf(关闭文件失败!)exit(0)printf(退选成功!n)5 存储结构及函数说明在学生选修课
10、程系统中主要以文件的方式存储用户名和密码、课程信息、已选课程。文件说明:1、adminstor.txt 此文件主要存储管理员的用户名和密码。2、student.txt 此文件主要存储学生的用户名和密码。3、course.txt 此文件主要存储课程的主要信息(课程号、课程名称、学分、限选人数)。4、selected.txt 此文件主要存储学生已选课程的信息(学生姓名、课程号、课程名称、学分、限选人数)。5、linshi.txt 此文件主要用于删除、退选、修改信息时,作为临时文件夹。结构体: struct coursechar coursenumber20; char coursename20;i
11、nt xuefen;int stulimit;存储课程信息。各模块的函数说明:(1) 用户登录:A、 admin_login(char *un,char *pw)函数主要用于实现管理员登陆时,用户名和密码相匹配,完成用管理员的登陆功能;形参 un 、pw分别代表管理员登陆时输入的用户名和密码,返回值1说明是管理员登陆成功。B、 student_login(char *un,char *pw) 函数主要实现学生登陆时,用户名和密码相匹配,完成用学生的登陆的功能;形参un 、pw分别代表学生登陆时输入的用户名和密码,返回值2说明是学生登陆成功。(2) 课程信息管理A、 admin_addcours
12、e()函数实现管理员对课程信息进行添加的功能。B、 admin_altercourse()函数实现管理员对课程信息修改的功能。C、 admin_delcourse()函数实现管理员对课程信息删除的功能。(3) 选课:A、 student_iscourse_exist(char *cn)函数实现学生选课时,检验学生输入的课程号是否存在的功能;形参cn为课程号。B、 student_isselected(char *sn,char *cn)函数实现学生选课时,检验学生是否已选该课程;形参sn 、cn分别代表学生姓名和课程号。C、 student_zhengxuan(char *stunumber1
13、)函数实现学生选课的功能;形参stunumber1代表学生姓名。D、 student_showselected(char *stunumber2)函数实现学生查看已选的功能;形参stunumber2代表学生姓名。E、 student_tuixuan(char *stunumber3)函数实现学生退选的功能;形参stunumber3代表学生姓名。(4) 公共函数A、scancourse()函数实现管理员和学生对已存在的课程进行查看的功能功能。6 课程设计结果欢迎界面出现该界面时请用户进行选择: 菜单 功能1-管理员 管理员进行登录2-学生 学生进行登录0-退出 退出系统管理员登陆后界面 菜单 功
14、能1-查看课程信息 浏览已存在的课程信息2-增加课程信息 对课程信息进行增加3-修改课程信息 对课程信息进行修改4-删除课程信息 删除课程信息5-显示菜单 显示管理员登陆后界面0-退出 退出系统学生登录成功后界面 菜单 功能1-查看课程信息 浏览已存在的课程信息2-正选 正式选课3-查看已选 查看已选的课程4-退选 退选已选的课程5-显示菜单 显示学生登陆后界面0-退出 退出系统7 实践心得体会1、通过这次学生选课系统设计,以C语言为基础编写,更让我掌握到C语言中相关语句的运用。2、通过这次课程设计,让我懂得了团队力量的强大,无论一个人多么优秀,一旦离开了团队,他将一事无成。3、在做课程设计时,总是有一些细节的东西无法想到,只要改一点点整个程序都能完全实现,这警告我们学软件的同学,细节绝对成败!4、用Visual StudioC+环境编写,让我们对此软件有了更深一步的账务整个设计过程过后,我们也基本掌握了设计的基本步骤。为我们以后做毕业论文也有很好的帮助。5、这次系统设计有很的不足之处,在这过程中也认识到自己对C语言也有很多的没掌握的地方。但在老师和同学的帮助下,也算弄出了一个简单的系统,在以后也要更加努力学习。