学生选课系统综合课程设计.doc_第1页
学生选课系统综合课程设计.doc_第2页
学生选课系统综合课程设计.doc_第3页
学生选课系统综合课程设计.doc_第4页
学生选课系统综合课程设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

报告编号:7#综合课程设计报告C语言程序与设计学生姓名: 张 俊 张 涛 徐 超 吴 鸿 飞 指导教师: 刘 莉 所 在 系: 电子工程系 所学专业: 电子信息工程 年 级: 2013级 2班 2014 年 6 月 18 日 目 录学生选课系统I摘 要I1问题要求及任务描述21.1题目要求21.2主要任务22解决问题的主要思路和方法22.1关键问题22.2拟采用解决问题的方法22.3主要算法和处理流程图23程序实现33.1程序实现时应考虑的问题33.2主要源代码及说明44测试74.1测试结果及分析75小结85.1本问题解决方法及程序实现小结85.2尚未解决的问题以及下一步工作思路86致谢8参考文献8I学生选课系统摘 要这次程序设计是为了锻炼大家的编程能力,进一步提高动手操作能力,小组人员齐心合力,攻克每一个难题,尽力把程序编的更准确简洁,共同完成这个小组任务,培养了团结合作的能力,这次编程取得了巨大的成功,离不开大家的共同努力和相互帮助。1随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。2系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。 3本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分,并由此设计了应用程序。关键词:学生选课系统 课程信息 学生信息 1问题要求及任务描述1.1题目要求学生选课系统1.2主要任务(1) 系统以菜单方式工作。(2) 课程信息和学生选课信息录入功能。(3) 课程信息浏览功能。(4) 查询功能。(5) 按学分查询。(6) 某门课程学生选修情况。2解决问题的主要思路和方法2.1关键问题2.2拟采用解决问题的方法在此陈述解决问题的思路,准备使用的算法和数据结构等等。1.使用文件指针存储学生信息和课程信息。2.建立菜单主函数实现程序的运行。3.使用函数嵌套、递归等方法。4.建立数据库存储相应的信息。2.3主要算法和处理流程图关键的数据流程图菜单录入课程信息课程管理录入学生信息学生信息管理学生选课查询退出 图1-1流程图3程序实现3.1程序实现时应考虑的问题函数调用关系1, 课程管理主函数(1) 录入课程主函数(2) 课程管理子函数a, 增加课程b, 删除课程(3) 录入学生信息子函数2, 学生信息管理主函数(1) 录入学生信息子函数a, 从键盘录入b, 从文件录入(2) 学生信息管理子函数a, 添加学生信息b, 删除学生信息3, 学生选课主函数(1) 学生选课子函数a, 查询可选课程b, 查询已选课程4, 信息主函数(1) 储存课程信息(2) 储存学生信息(3) 输出课程信息(4) 输出学生信息3.2主要源代码及说明void filec()/录入键盘子函数(从文件录入) FILE * fp; char filepath20; struct couse *p1,*p2; N1=0; printf(输入要读入的文件路径:); getchar(); gets(filepath); if(fp=fopen(filepath,r)=NULL) printf(找不到%s文件!n,filepath); exit(0); p1=p2=(struct couse*)malloc(sizeof(struct couse); fscanf(fp,%d%s%d%d%d,&p1-num1,p1-name1,&p1-score,&p1-nelepeo,&p1-Melepeo); head1=NULL; while(!feof(fp) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); fscanf(fp,%d%s%d%d%d,&p1-num1,p1-name1,&p1-score,&p1-nelepeo,&p1-Melepeo); p2-next=NULL;void files()/录入学生信息子函数(从文件录入) int i=0; FILE * fp; char filepath20; struct student *p1,*p2; N2=0; printf(输入要读入的文件路径:); getchar(); gets(filepath); if(fp=fopen(filepath,r)=NULL) printf(找不到%s文件!n,filepath); exit(0); p1=p2=(struct student*)malloc(sizeof(struct student); fread(p1,sizeof(struct student),1,fp); head2=NULL; while(!feof(fp) i=0; N2=N2+1; if(N2=1)head2=p1; else p2-next=p1; p2=p1; p1=(struct student * )malloc(sizeof(struct student); fread(p1,sizeof(struct student),1,fp); p2-next=NULL;void inserts(struct student * incouse)/学生信息管理子函数(填加学生信息) struct student *p0,*p1,*p2; p1=head2; p0=incouse; if(head2=NULL) head2=p0; p0-next=NULL; else while(p0-num2 p1-num2) & (p1-next!=NULL) p2=p1; p1=p1-next; if(p0-num2 num2) if(head2=p1) head2=p0; else p2-next=p0; p0-next=p1; else p1-next=p0; p0-next=NULL; N2=N2+1;void dels(int num2)/学生信息管理子函数(删除学生信息) struct student *p1,*p2; if(head2=NULL) printf(n没有该学生信息,无法删除!n); goto end; p1=head2; while(num2!=p1-num2 & p1-next!=NULL) p2=p1; p1=p1-next; if(num2=p1-num2) if(p1=head2) head2=p1-next; else p2-next=p1-next; printf(已删除该学生信息!n); N2=N2-1; else printf(无该学号的学生!n); end:;4测试4.1测试结果及分析图4-1菜单 图4-2查询图4-3学生选课图4-4课程管理图4-5学生信息管理5小结5.1本问题解决方法及程序实现小结本系统以菜单方式工作,简单易操作;使用文件指针储存学生信息和课程信息,使用函数嵌套,递归等方法设计程序,从学生的角度思考程序所需要实现的一些功能,例如:课程信息浏览,某门课程学生选修情况,以及相关的查询功能。需要声明的部分,如:int num1;char name120; int score; int nelepeo;/课程已选人数 int Melepeo;/课程人数上限都已在程序中做了很好的声明。使程序更好的执行,看起来也更简单明了。5.2尚未解决的问题以及下一步工作思路该程序设计的功能不够强大,如:不能给学生一些选课的建议或推荐一些课程的组合。下一步的工作,小组会进一步改进程序,使之具有更加强大的功能,以及增加它的实用性,让这个程序能够发挥它最大的作用。6致谢首先要感谢学校为我们提供这一周的C语言实训机会,这让我们对于C语言有了更加深刻的认识,在平时我们上课有些不懂的地方也通过这次的实训懂了更多。其次要感谢我们的指导老师刘莉,在这次实训中我们遇到许多困难和不懂的地方,但是刘莉老师耐心的为我们解答,才能让我们的实训进行的更加顺利。最后要感谢的是我的两位组员,在本次实训中,每个组员分工明确,每个人都付出了汗水和努力,也让我们明白了只有团结,才能更好的解决问题。参考文献1Andrew S.Tanenbaum.计算机网络.北京:清华大学出版设.1998.2关丽荣,张晓坤.Java经典实例.北京:中国电力出版社.2009.3许勇,李杰 C语言程序设计教程.重庆大学出版设.2011.4裘宗燕 著,从问题到程序 科学出版

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论