C语言课程设计学生信息管理系统_百度文库_第1页
C语言课程设计学生信息管理系统_百度文库_第2页
C语言课程设计学生信息管理系统_百度文库_第3页
C语言课程设计学生信息管理系统_百度文库_第4页
C语言课程设计学生信息管理系统_百度文库_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、1*实践教学*兰州理工大学计算机与通信学院2011年春季学期课程设计题 目:学生信息管理系统 专业班级:姓 名: 学 号:指导教师:成 绩:_ _2摘 要学生信息管理系统是一个教育单位不可缺少的部分, 它的内容对于学校的决策者和管理者来说都至关重要, 所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。此系统具有查询方便快捷,用简单的界面来展示学生信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C 语言开发,实现了简单的学生基本信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。3目 录一、

2、需求分析 . 4 二、总体设计 . 5 三、详细设计 . 61. 模块设计 . . 6 2. 算法流程图 . . 7四、编码 . 10 五、测试 . 11 六、设计总结 . 15 致谢 . 17参考文献 . 184一、 需求分析设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。主要功能:1、键入学生信息 2、查看录入的信息 3、按姓名查看信息4、按学号查看信息 5、按平均成绩排序 6、删除信息 7、保存信息 8、读取文件 9、我的个人信息 0、退出5二、总体设计根据需求分析,为了实现系统功能,我确定图书信息管理系

3、统总体模块如图所示。 (图) 学生信息管理系统功能模块图6三、详细设计1. 模块设计模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:学生信息系统使用帮助声明函数void help(,对整个系统进行使用说明模块三:录入学生信息声明函数void readfile(,说明一个文件指针FILE *fp 打开文件student.txt模块四:学生信息的查找声明void seek(为查找函数,通过switch(item设定用学号查找,用姓名查找两个分支模块五:学生信息的修改声明void modify(为学生信息修改函数,通过switch(item设定所要修改的项目模块

4、六:学生信息按学号排序声明void sort(将录入学生系按升序排列,用的是“冒泡排序法”实现排序模块七:增加学生信息声明void insert(插入学生信息,先通过判断学生是否存在,若否则继续输入,若是跳出,重新循环模块八:删除学生信息声明void del(实现学生信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。模块九:显示学生信息通过display(函数输出学生信息模块十:保存信息通过fp=fopen(student.txt,w;写入信息7模块十一:界面菜单通过switch(num调用,以上各函数,实现功能2. 算法流程图*函数主要功能说明: 1、输入学生的信息函数功能:typ

5、e 函数通过循环向结构体中输入学生的学号、姓名、性别、英语成、数学成绩、语文成绩。 Type 函数流程图2、查看输入的信息功能:通过look 函数以一个循环的形式输出所要查看的信息。3、查询功能:通查询信息,过search_name函数和search_number函数来进9行比较查找,找到后输出该学生信息查找函数的流程图4、排序功能:对数据进行排序,通过order 函数对数据按平均分进行排序,排序结束后调用save 函数保存。5、删除功能:删除信息,通过del 函数实现,删除后调用save 函数对数据保存。6、保存功能:对数据进行保存,用save 函数向文件中写入数据实现该功能。 7、退出程序

6、 10四、编码*源代码见光盘学生管理系统: 1、 键入学生信息 2、 查看录入的学生信息 3、 查询学生信息 4、 按平均成绩排序 5、 删除学生信息 6、保存学生信息7、 打开文件 8、 我的个人信息 0、 退出11五、测试1. 菜单屏幕 2. 输入学生信息 123. 查看学生信息 4. 按姓名查询 5. 按学号查询 6. 按平均成绩排序 8. 删除学生信息 13 9. 保存文件 10. 打开文件 11. 我的个人信息 1415 六、设计总结调试方法:逐条的对程序中的错误进行修改;修改程序中的变量、声明新函数以及声明头文件对函数进行调试。测试过程中遇到的问题:1、删除学生信息功能不能实现。问

7、题描述:在选择删除功能后不能把选择的学生信息删除,而总是删除其他学生的信息。解决办法:出现这个问题肯定是数据覆盖的时候出现了错误,也就是循环出现了错误。检查循环程序后发现,循环体内数据交换出现了错误,没有定义结构体变量。重新定义结构体变量后问题解决了。2、显示结果时候出错问题描述:每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。解决办法:现实出错也就是printf 语句中的结构没有排列好所导致的。检查所有的Printf 语句后发现所有的printf 语句中少输出了以个语文成绩,且它们不能完全对齐。在增加了“语文”,修改了转义字符以及空格后,问题解决了。3、在查询信息的时候出错

8、问题描述:在输入不在文件中保存的姓名、学号时,没有信息提示。解决办法:出现此问题说明if 语句后少了一条else 语句,加上该语句后,显示的结果正确了。4、打开文件出错问题描述:当显示保存成功后关闭程序。重新打开程序选择打开文件后,文件不能正常打开,或打开文件后没有显示结果。解决办法:查看文件文件中有数据,说明文件在保存的是后没有出错。再仔细观察运行结果后,发现该函数在执行到循环输出的时候把该循环跳了过去没有执行。出现此问题是因为循环的终止条件改变了。将openl 函数该为有返回值函数之后,重新定义了一个see 函数来调用openl 函数,并在see 函数中用循环输出已经打开的文件中的数据。重

9、新定义一个函数后保存的文件可以成功的打开。5、在排序后没有保存文件解决办法:在order 函数后边加上了 printf(是否保存?(y or n; getchar(;scanf(%c,&a; if(a=y save(;else printf(退出;语句后可以选择是否保存排序后的文件。 通过课程设计,我更深刻的了解了 C 语言中每个函数的含义,领会了算法是 C 语言的灵魂这句话的真谛。一个好的算法可以使程序简洁,运行速度更快。同 时也对 C 语言中的循环,函数的调用有了更深的理解。 虽然这次的课程设计,老师已经给出了程序让我们读懂。看起来比较容易, 但是要让程序实现要求的几个功能却不是很容易。而

10、且要看懂每一个函数也不是 十分的容易。在修改程序的过程中也收获了很多以前忽略的东西。在修改的过程 中巩固了基础,认识了自已以前常犯得错误,也发现了自己的不足之处。 在程序编写中,我认识编写一个系统不仅仅要有良好的用户界面,良好的程 序编写风格也是相当重要的。只有良好的种程序编写风格,程序代码的可读性才 会好,开发的复杂度才能大大减少,检查错误、修改代码时才会更加容易下手。 通过实际操作,学会 C 语言程序编程的基本步骤、基本方法,开发了自己的 逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到了团队协作的重 要性。 16 致谢 结束了一周的课程设计,首先要感谢周老师在课程设计上给予我的指导,支 持与帮助。这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了 许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多 新的知识,而且也开阔了视野,提高了自己的设计能力。其次,要感谢和我共同 做同一个课题的任力同学, 他为我解决了很多我不明白的知识以及技术上的难题, 让我们共同完成了这个课题。 17 参考文献 1姜灵芝,余健. C 语言

温馨提示

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

最新文档

评论

0/150

提交评论