ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:188.54KB ,
资源ID:10818479      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10818479.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(学生选课系统实验报告.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

学生选课系统实验报告.doc

1、 武 夷 学 院 课程设计报告 课程名称: C语言程序设计 设计题目: 学生选课管理系统 学生班级: 2014级计算机科学与技术2班 学生姓名: = 指导教师: 完成日期: 2015-1-9 数学与计算机学院 课程设计项目研究报告 目 录 第 1 章 项目简介 03 1.1 项目名称 03 1.2 开发人员 03 1.3 指导教师 03 第 2 章 项目研究意义 03 2.1 课程

2、设计概述 03 2.2 需求分析 03 2.3 研究意义 04 第 3 章 采用的技术 04 3.1 课程设计的方案设计论证 04 3.2 流程描述或代码描述 05 3.3 部分重要算法设计 06 第4 章 课程设计项目进度表 07 第5 章 课程设计任务分配表 08 第6 章 达到的效果 08 6.1 程序设计思想 08 6.2 程序最终实现结果 09 第7 章 源程序 11 第8 章 附录 14 8.1 学生选课登记管理系统 14 第9 章 设

3、计心得 15 第10 章 参考文献 15 数学与计算机学院 15 第 1 章 项目简介 1.1 项目名称 学生选课管理系统 1.2 开发人员 2014计算机科学与技术 刘雪涓 王芬岚 王小倩 王林峰 丁义勋 1.3 指导教师 程仁贵 第 2 章 项目研究意义 2.1 课程设计概述 学生选课管理系统是学生管理的一个重要环节,程序是在Microsoft VC++上执行的。该程序为学生提供选修课程。1.假定有n门的课程,每门课程都有编号、课程名称、课程性质、(专业选修课、公

4、关课)、总学时、总学分、理论学时、已选修本课程学生人数等信息;每门课最多允许60个学生选修。2.选修信息文件,用来保存每个学生选修课程的信息,每条记录包括:学生的学号、所选修的课程编号和课程名称。3.系统以菜单的方式工作(需要输入功能号码,进入功能模块程序。)4.用函数分别实现动态链表的建立、动态链表输出等功能。5.界面友好,程序中加入必要的注释。6.学生选修一门课后,要同时更新课程信息和选修信息文件。 .2.2 需求分析 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用与信息系统的环境。计算机的最到好处的是利用它能够进行信息管理,使用计算机进行信息

5、控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。 数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 2.3 研究意义 该系统的实际实现学生选课信息关系的系统化,规范化和自动化。学生选课系统要

6、求处理的开发性,方便老师上传学生成绩,学生上网选课和查询选课信息及成绩。采用这样的系统即可以小范围的处理信息有可疑根据业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无需进行复杂的计算,也不会因为复杂的操作而影响到其他用户。所以具有较强的可靠性,稳定性。在功能方面,可实现学生选课注册。可对学生成绩档案进行管理,成绩表单生成简便。安全有效的进行用户区分和管理档案数据也更加具有保密性和安全性。使用起来稳定,操作性能好,惭怍方法又易于掌握,系统安全性强,所以该系统很值得研究开发。 ……………….. 第 3 章 采用的技术 3.1 课程设计的方案设计论证 1.简洁明了的程序菜单。程

7、序主要采用了六组层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。 2.人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地进行程序的操作。 3.智能化的模块设计。程序的智能化主要体现在减少了许多人工操作。如功能模块操作结束后,均会返回主菜单进行下一模板的运行,并提示是否再进行类似的操作,这样给用户带来了操作的方便,大大提高了学生选课的效率。 本程序达到了C语言课程设计题目的所有要求。即本程序(1)系统一菜单方式工作(2)课

8、程信息和学生选课信息录入功能(课程信息用文件保存输入(3)课程信息浏览功能——输出(4)查询功能(至少一种查询方式)——算法(5)按学分查询(6)某门课程学生选修情况(可选项)的功能要求。 与此同时,程序各模块开发设计依据了程序的具体实际的使用情景,而有所改进,使其更具有实用性。 3.2 流程描述或伪代码描述 .3.3部分重要算法设计: 【1】 void overview(); //浏览函数,负责浏览整个课程信息 void seek(); //查询函数,负责查询课程信息 void choose_course();//选课函数,负责让用户选课 void out(type te

9、mp); void input(); int main() { int n,i; if((fp1=fopen("course_information.txt","wb"))==NULL) {printf("创建文件失败!\n");exit(0);} printf("请输入要存储的课程数目:\n"); 【2】 while((scanf("%d",&n))!=EOF) { if(n==1) overview(); if(n==2) seek(); if(n==3) choose_course(); if(n==0) exit(0); printf("\n\n

10、如想继续操作,只要按规则输入你要进行的操作即可!\n规则:如想浏览整个课程信息,请输入1;如想查询课程信息,请输入2;如想进行选课,请输入3!\n"); 【3】 void overview() { rewind(fp1); course temp; printf("整个课程信息如下:\n"); while((fread(&temp,sizeof(type),1,fp1))!=0) out(temp); } void seek() { int judge,credit=0,kind=0; char a='N'; course temp; printf("如想按学

11、分查询,请输入1;如想按课程性质,请输入2:\n"); scanf("%d",&judge); rewind(fp1); //将文件指针位置置为开头 if(judge==1) 【4】 while((fread(&temp,sizeof(type),1,fp1))!=0) { for(int i=0;i

12、你所选的课为:\n"); while((fread(&temp,sizeof(type),1,fp1))!=0) { for(int i=0;i

13、程设计纸质和电子版材料 第5 章 课程设计任务分配表 第6 章 达到的效果 6.1 程序设计思想 为了让程序更加精简在算法上采用了结构体数组外考虑在程序的算法设计上引入了链表结构,考虑这样对数据组织存储效率上会有提高作用。 为了不让某些程序部分输入错误会导致程序终止或转向其他功能模块,采用对每个数据输入段代码进行更深的研究与分析,明确变量的类型、可能的数值,然后进行分类判断(if或switch语句),必要时借助for循环语句来控制程序进行,保障各模块运行相对独立,稳定准确执行各自功能。典型方法是如果输入数据错误,通过printf输出问题,并用for或whil

14、e构成循环,输入三次以上程序自动跳出主菜单或直到用户输入正确为止。 6.2 程序最终实现结果 第7 章 源程序 #include "stdio.h" #include "stdlib.h" #include "string.h" typedef struct course { char number[15],name[25]; int kind,time,lessontime,practicetime,credit,term; }type; FILE *fp1; void overview(); //浏览函数,负责浏览整个课程信息 v

15、oid seek(); //查询函数,负责查询课程信息 void choose_course();//选课函数,负责让用户选课 void out(type temp); void input(); int main() { int n,i; if((fp1=fopen("course_information.txt","wb"))==NULL) {printf("创建文件失败!\n");exit(0);} printf("请输入要存储的课程数目:\n"); scanf("%d",&n); printf("开始创建文件,请输入课程信息:\n\n"); for(i=0;i

16、

17、操作即可!\n规则:如想浏览整个课程信息,请输入1;如想查询课程信息,请输入2;如想进行选课,请输入3!\n"); } printf("欢迎您使用此程序进行选课,谢谢!\n"); fclose(fp1); return 0; } void input() { course c_a; printf("请输入课程编码: "); scanf("%s",c_a.number); printf("请输入课程名: "); scanf("%s",c_a.name); printf("请输入课程性质:限选课,请输入1;选修课,请输入2;必修课,请输入3! "); scanf("%d

18、",&c_a.name); printf("请输入课程总学时: "); scanf("%d",&c_a.time); printf("请输入课程授课时间: "); scanf("%d",&c_a.lessontime); printf("请输入课程实验或实践时间: "); scanf("%d",&c_a.practicetime); printf("请输入课程学分: "); scanf("%d",&c_a.credit); printf("请输入课程所在的学期,比如第二学期,就输入2即可。"); scanf("%d",&c_a.term); fwrite(&c_a,siz

19、eof(struct course),1,fp1);//将一个结构体元素写入文件中 } void out(type temp) { printf("课程代码: %s\n课程名: %s\n",temp.number,temp.name); printf("课程名: %s\n",temp.name); if(temp.kind==1) printf("课程性质: Limited optional course\n"); else if(temp.kind==2) printf("课程性质: Optional course\n"); else if(temp.kind==3)

20、printf("课程性质: Required Courses\n"); else printf("该编码系统不认识,即无对应的课程性质存在!\n"); printf("课程总学时: %d\n课程授课学时: %d\n实验或上机学时: %d\n学分: %d\n课程开课学期: %d\n\n",temp.time,temp.lessontime,temp.practicetime,temp.credit,temp.term); } void overview() { rewind(fp1); course temp; printf("整个课程信息如下:\n"); while((f

21、read(&temp,sizeof(type),1,fp1))!=0) out(temp); } void seek() { int judge,credit=0,kind=0; char a='N'; course temp; printf("如想按学分查询,请输入1;如想按课程性质,请输入2:\n"); scanf("%d",&judge); rewind(fp1); //将文件指针位置置为开头 if(judge==1) { printf("请输入要查询的学分:\n"); scanf("%d",&credit); while((fread(&temp,si

22、zeof(type),1,fp1))!=0) if(credit==temp.credit) out(temp); } else if(judge==2) { printf("请输入你要查找课程的性质(限选课,请输入1;选修课,请输入2;必修课,请输入3):"); scanf("%d",&kind); while((fread(&temp,sizeof(type),1,fp1))!=0) if(temp.kind==kind) out(temp); } else printf("不好意思,无此类查询!\n"); } void choose_course() {

23、 rewind(fp1); course temp; int judge=1,n=0,time=0,credit=0; char choose[20][20]; r1: printf("请开始填写课程编号进行选课:\n"); while(judge==1) { printf("请输入你所选课程的标号: "); scanf("%s",choose[n]); n++; printf("如想继续选课,请输入1;如想提交,请输入0!\n"); scanf("%d",&judge); } while((fread(&temp,sizeof(type),1,fp1))!=0)

24、{ for(int i=0;i

25、} } 第8 章 附录 8.1 学生选课登记管理系统表 课程编码 课程名 课程性质 课程总学时 授课时间 实践时间 学期 学分 001 jiaoyu 2 18 56 56 2014-2015 第2学期 100 002 kexue 1 18 56 56 2014-2015 第2学期 100 003 Kexue 2 18 56 56 2014-2015 第2学期 100 004 lvyouxue 2 18 78 78 2014-2015 第2学期 100 005 guanglixue

26、2 18 56 56 2014-2015 第2学期 100 第9 章 设计心得 这次的课程设计实验是对我们进入大学以来学习c语言结果的一次大考验。自己动手,发现问题和解决问题。并发现了许多自己的不足,平时没掌握的知识在实践中暴漏,经过不断的思考,查阅书籍和上网查资料及上机运行,解决了大部分问题,还稍微有些小问题。但是,我相信经过深入的的学习,一定能把它解决好。我们不仅巩固《c语言程序设计》课程学习的内容,掌握设计的基本方法,强化上机动手能力,还进一步掌握以下了知识:数据类型、分支控制、循环控制、函数的定义及调用、结构体及数组、指针、文件操作、编译预处理等;通过课程设计

27、掌握了程序的局部测试、调试方法,建立程序系统调试、测试的基本概念和思想,学会较大程序的系统测试和调试方法。 团队精神不可少,分工合作也是必须的。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。更重要的是,这次课程设计虽然花了我不少时间,但正是这些时间, 让我见识到了C语言的重要性。这个学生选修课程管理系统都是在自己知识范围内完 成的,所以界面清晰简单,从这里我也得到一个体会,做一个程序,或者开发一个软件,应该着重从它的后台制作入手,不能做出一个中看不中用的程序或者软件。相信这次的课程设计会为我们以后继续从事计算机工作打了一个小小的开头。 第10 章 参考文献 [1] 计算机基础,高等教育出版社,2003年 [2] C语言程序设计,哈尔滨工程大学出版社,2013年

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服