C语言实训项目论文报告_第1页
C语言实训项目论文报告_第2页
C语言实训项目论文报告_第3页
C语言实训项目论文报告_第4页
C语言实训项目论文报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

C语言实训项目题目:学生信息管理院系专业:软件学院软件工程姓名:XXXXXXXXXXXX学号:学号:2011年08月任务分配、教师评阅以及答辩情况记录任务分配情况1、成员一:XXX探索链表实现排序删除,查询等模块。2、成员二:XXX文件的写入和读出等,调试程序。3、成员三:XXX论文,界面美化,结果分析。4、成员四:XXX论文材料的整理,程序调试。均完成良好,表现积极!(填写时注意不要扩充表格高度以及宽带,填写好不必要文字删除)小组成员签名:日期:教师评阅以及答辩情况记录签名:日期:目录TOC\o"1-3"\h\u9084绪论 38192第一章需求分析 410941.1实际需求分析 486221.2功能需求分析 59146第二章系统设计 592112.1主功能模块 542172.2流程图 7168792.3功能模块分析 8196292.4变量说明 88372.5主要函数原型 9323742.6函数调用关系描述 914462.7模块分析与介绍 917597第三章系统运行测试 1032513.1调试方法 10234413.2测试过程中遇到的问题 105993第四章用户手册 11216254.1学生管理系统简介 11198814.2学生管理系统的安装 1226674.3学生管理系统的卸载 12283854.4学管理系统的运行环境要求 12302664.6系统演示 13294884.7版权所有 16286044.8联系作者 16231644.9留言版 162307附录源程序清单 1816713参考文献 19绪论随着信息技能的不断发展和人们对各种数值情势的信息需求和交流的不断增长,使恰当今的计算机网络,特别是internet从传统的数值处理装备(如计算机)和管理工具中驳离出来,担当一个非常重要的角色。信息技能的基础举措措施与获取、同享和交流信息的首要工具,并成为人们在当今社会生活及事情中不成缺少的组成部分。经过了几年的迅猛发展,计算机网络已经在很多方面改变了人们传统的事情和生活方式…web浏览、e-mail、qq(上网聊天)、vod(视频点悉播)、文件传道输送、远程诊断、电子商务、网络大学及虚拟学校等无一不与计算机网络有着千丝万缕的接洽。这些基于网络的各种应用,正在以惊人的速度扩展,逐渐渗透到了社会生活的各个方面。Web站点向用户提供的服务将越来越丰富,越来越人性化.计算机在管理中应用的普及和其运行的高效率,使得利用计算机实现各种管理势在必行。随着社会的发展及知识经济时代的到来,对于各种单位部门,利用计算机支持高效率完成繁杂庞大的信息管理都是一项必不可少的举措。而学生信息管理系统就是典型的信息管理系统。众所周知,C语言程序设计是计算机科学与技术以及相关专业的重要专业基础课程。C语言程序设计课程的开设对提高学生分析问题和解决问题的能力,提高逻辑思维的严谨性,培养学生从问题空间到计算机程序空间的转变起到了重要的作用。运用数据结构中的算法思想,结合C语言基本知识,编写一个操作简单而且方便使用的学生基本信息管理系统。实现对在校学生的动态管理,使得对信息的管理更加方便,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好等等。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。第一章需求分析1.1实际需求分析学生信息管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。因此为了保证学校的信息流畅,工作高效,有必要设计一个学生信息管理系统。这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。学校学生成绩管理工作都是采用传统的手工管理,这各传统人工的管理方式存在着许多缺点,如:效率低,保密性差,导致教师对学生信息情况不了解,时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误的产生。学生信息管理系统,由于以上的优点,帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。1.2分析:功能需求分析学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)输入学生信息浏览功能输出查询、排序功能算法(按学号查询、按姓名查询、学生信息的删除与修改)限制条件界面比较美观,有一定的容错能力。第二章系统设计2.1主功能模块我们使用MICROSOFT公司的VISUAL,BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先根据实际情况,我们使用原型法,在短时间内建立系统应用原型,即以少量代价快速地构造一个可执行的软件系统模型,使用户和开发人员可以较快的确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐加上去,直到所有的性质全部满足。学生信息管理主菜单学生信息管理主菜单1、学生信息录入2、学生信息浏览3、按学号查询4,、按姓名查询5、排序(按成绩排序)6、删除学生信息7、修改学生信息8、退出系统2.2流程图开始开始学生信息管理系统主菜单1录入2浏览3按学号查询4按姓名查询5排序6删除7修改8退出input()函数获取学生的信息,直到输入学号为0结束save()函数将信息写入文件中read()函数读出文偶信息件中已存储的所有信息根据用户输入的学号,通过Search()函数查找根据函数namesearch()查找Sort()函数排序Stud_txt文件写入读出del()函数删除学生信息Changealter()函数修改学生信息保存保存保存详细设计2.3功能模块分析①算法分析首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。②细节阐述已知一些学生,编写程序,输入每个学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail,成绩等(学号为0时,结束输入)。先将资料写入文件:,然后,再读入并输出到屏幕显示。2.4变量说明#defineNULL0#defineLENsizeof(structstudent)intID;//学号 charname[30];//姓名 intage;//年龄 intsex;//性别chardate[10];//出生年月 charaddress[50];//地址 chartel[15];//电话号码 charemail[20];//E-mail intscore;//成绩2.5主要函数原型voidmenu();//主菜单 voidinput(student&a);//输入函数 structstudent*creat(void);//创建链表 voidsave();//写入文件中 voidread();//从文件中浏览所有信息 voidprint();//打印信息 structstudent*del(intid);//删除信息 voidsort();//对成绩进行由低到高排序冒泡排序 voidnamesearch(char*name1);//按姓名查询 voidSearch(intid);//按学号查询 structstudent*ChangeAlter(intid);//修改学生信息改学生信息2.6函数调用关系描述通过If…else和while语句调用八个函数。2.7模块分析与介绍对本系统的功能进行分析后可作如下的模块化设计:输入模块实现功能:按顺序将有学号(ID)/姓名(name)、地址(address)、年龄(age)等依次输入,并建立链表将其连接。当输入学号为0时,数据输入完毕。并同时将所输入的数据写入文件stud_txt中。删除模块实现功能:在已经存储的文件中删除指定的学生信息,并释放内存空间,删除所有相关的信息。查找模块实现功能:在已经存储的文件中查找指定的学生资料。可以按照查找姓名或学号进行查询。输出模块实现功能:当实行浏览信息功能时,输出所创建的文件中包含的全部学生信息。排序模块实现功能:对已经存储在文件中的学生资料,根据成绩从高到低排序,储存,并打印出排序后的结果。修改模块实现功能:在已经存储在文件中的学生的资料进行修改,根据学生学号找到要修改的学生信息,然后对其修改,可以修改所有信息,包括学号、姓名、年龄、性别、地址…等等。主序模块实现功能:完成系统的界面处理,如主菜单界面。第三章系统运行测试3.1调试方法逐条的对程序中的错误进行修改;修改程序中的变量、声明新函数以及声明头文件对函数进行调试。先进行人工检查,即静态检查,在人工检查无误后,再上机调试。在改正语法错误(包括“错误(error)”和“警告(warning)”)后,程序经过连接(link)就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。应当对运行结果作分析,看它是否符合要求。有的初学者看到运行结果就认为没问题了,不作认真分析,这是危险的。运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法:将程序与流程图仔细对照,如果流程图是正确的,程序写错了,是很容易发现的。例如,复合语句忘记写花括弧,只要一对照流程图就能很快发现。如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,逐段往下检查。直到找到在某一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就能发现错误所在。也可以用“条件编译”命令进行程序调试(在程序调试阶段,若干printf函数语句就要进行编译并执行。当调试完毕,这些语句不用再编译了,也不再被执行了)。这种方法可以不必一一去掉printf函数语句,以提高效率。如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题。如有则改正之,接着修改程序。有的系统还提供debug(调试)工具,跟踪程序并给出相应信息,使用更为方便,请查阅有关手册。

3.2测试过程中遇到的问题1、删除学生信息功能不能实现。问题描述:在选择删除功能后不能对其他的学生信息进行修改。解决办法:出现这个问题肯定是数据覆盖的时候出现了错误。经讨论发现是忘记家save()把删除的讯息保存到后台文件中。2、显示结果时候出错问题描述:每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。解决办法:现实出错也就是printf语句中的结构没有排列好所导致的。检查所有的printf语句后发现所有的printf语句中少输出了一个成绩,且它们不能完全对齐。增加了“成绩”,也增加了一些控制输出如“%-nd,%-ns,\t”等来对齐字符,问题解决了。3、在排序后没有保存文件解决办法:在排序函数中的末尾加上save()函数。第四章用户手册4.1学生管理系统简介4.2学生管理系统的安装4.3学生管理系统的卸载4.4学生管理系统的运行环境要求4.5学生管理系统的具体使用说明4.6系统演示

4.7版权信息4.8联系作者

4.9留言版4.1学生管理系统简介(一)系统的优点

(1)本系统是完全基于C语言的一个系统,具有很好的兼容性。在VC6.0,VS2008等上都可以使用。所以客户只要安装有此类软件就可以很方便的使用该系统。(2)本系统非常注重系统的人性化设计。具体表现为:①学生信息录入模块:在录入第一条记录后继续录入下一条记录,可以不断的录入学号,直到录入的学号为零就会自动跳出录入模块。把录入的信息都保存在文件中。对于录入学生信息业有一定的限制,系统会对录入的性别,年龄,分数等进行判断,并作出相应的提示避免了提交数据后再报错的弊端。②学生信息浏览模块:在这个模块可以一目了然的对所有的学生信息进行浏览,更加直观的了解每个学生的信息。③学生信息查询模块:提供了两种查询方式:按学号查询和按姓名目查询。此两类的查询可以很快的在大量数据中搜索到某个具体学生的信息。更加方便和快捷的了解学生。④学生成绩排序模块:为了了解学生的整体情况,该模块按学生的额成绩进行排序,同时会把排序后的成绩计入文件中。⑤学生删除和修改模块:这两个模块可以很好的解决录入学生信息出错的问题,并且录入的信息也会保存在文件中4.2学生管理系统的安装将“学校管理系统”解压到一个文件夹中,然后将此文件夹在VC6.0或VS2008打开后就立即可以使用了。4.3学生管理系统的卸载直接删除文件夹,就卸载了“学管生理系统”。4.4学管理系统的运行环境要求学校管理系统是基于VC6.0开发的一套管理系统,正常使用该系统您必须保证您的服务器满足如下要求:1)有安装有vc6.0的软件,或者vs2008,2010等都可以。推荐使用:VC6.0作为运行环境4.5学生管理系统的具体使用说明1)在安装好该系统后,首先进入的主菜单。可以通过对主菜单的了解,进行你需要的选择。2)对每个模块的操作的具体方式,在系统中都会有相应的提示,可以很方便的达到你想要的效果。3)操作完毕后,要退出系统时只需关闭编译软件即可。4.6系统演示录入写入文件和浏览按学号查询按姓名查询成绩排序删除信息修改信息退出4.7版权所有本学生管理系统的所有版权属于119team.4.8联系作者《学生管理系统》是119team所有,作者119team所有成员保留该系统的所有权利。在开发过程中得到学校的大力支持,感谢学校领导的大力推广。作者信箱:119team@.4.9留言版如果你有什么疑问,或已完成录入、修改学生信息、成绩,可以在留言版留言,或查询疑难解答。第五章总结与心得体会前言:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。XXX:我主要负责的是系统分析,界面管理,结果分析以及论文报告的撰写。这是一个强调团队精神的时代,如果不团结,或者说不能让自己的优点与的别人的长处接洽,那么久不能很好的的融入这个高速运转和变化的社会。某些工作或许枯燥而繁琐,只要它是被需要的,那么我们就要投入去完成。这次实训由刚开始的怨声载道变为现在的充实。从不懂到懂,从一堆不见经传的代码的一个可运行的程序,我感觉我和我的队友都在不知不觉中又学到了许多。能力真的很重要,我还要做更的锻炼,让我的能力进步。总之,这是一趟发现之旅,也是一条成长之路。在完成项目的过程里,我想我们要学的不只是编程的技能,还有耐性,恒心等很多东西。而我们得到的,也不只是一份完成的作业。XXX:这次项目我主要负责的是项目整体链表的建立,排序,查找等操作,此次对于我们来说是一个挑战。在这之前没有用链表完整的写过一个项目,在这次项目中出现了很多问题,在老师的帮助下顺利的解决的这些问题。并且学到了很多关于链表和指针的操作,增加了对于链表和指针的一些新的认识和理解。由于此次项目没有负责文件部分的操作,所以对于文件的读入等操作还是不会应用。这次收获很大,并且体验到了团队协作的力量。同时也,认识到自己对于C语言的许多不足。需要更加深入的了解和学习。XXX:这次的项目我主要负责的是文件的写入和读出部分,还穿插一些程序的调试!一开始,自己一个人写程序,只用数组将信息写入和读出文件,很简单就完成了!但是,当队友用链表写好删除功能后,需要整理在一起后遇到很多困难!包括要传递头指针,全局变量的改变等都带来了很大的麻烦!最后还是请教老师讲解才成功写好。虽然只是简单的一部分,却让我收获很多。当成功运行整个程序后,心里真的非常激动...这次的实训也让我重新认识了C语言,发现它的强大,突然觉得自己以前学的很肤浅,接下来我会多花更多的时间

温馨提示

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

评论

0/150

提交评论