欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生成绩管理系统科研实践设计说明书.doc

    • 资源ID:1150944       资源大小:674KB        全文页数:25页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生成绩管理系统科研实践设计说明书.doc

    1、福建农林大学金山学院科研实践设计说明书设计题目: 学生成绩管理系统 学 院: 金山学院 专业年级: 计算机科学与技术 2009级 组 号: 16 学 号: 092231011 姓 名: 何陈文 指导教师: 陈小娥 成 绩: 20112012学年第二学期福建农林大学金山学院科研实践设计结果评定序号评定标准分值评定结果1设计报告符合规范,条理清晰,重点突出202程序实现设计方案,软件可靠性好403设计有自己的收获、体会、感受,等等154能够按照要求演示设计结果155有一定的创新性,难易程度10总分指导教师签字:任务下达日期:2012年5 月 3 日评定日期:目 录1.创新设计概述11.1 创新设计

    2、的目的与收获11.2 创新设计的任务与要求11.3创新设计开发环境31.3.1硬件环境:31.3.2软件环境:32.项目的可行性研究与需求分析32.1项目可行性研究32.1.1经济可行性32.1.2技术可行性32.1.3运行可行性32.2项目需求分析32.2.1功能需求32.2.2硬件需求42.2.3界面需求43.创新设计的基本原理和采用的主要方法与技术43.1前言43.2算法设计44.本人实现项目的过程与步骤54.1系统流程图及各模块54.1.1系统流程图54.1.2查找函数函数流程图:64.1.3修改函数流程图74.2调试过程74.3项目操作84.3.1输入数据84.3.2显示所有记录84

    3、.3.3查找记录84.3.4删除记录94.3.5添加记录94.3.6修改记录104.3.7保存加载记录104.3.8记录排序104.3.9成绩统计114.3.10退出115.个人遇到的困难与获得的主要成果116.创新设计完成结果分析与个人小结137.附录13参考文献15学生成绩管理系统1.创新设计概述 1.1 创新设计的目的与收获1)通过本次创新设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识;2)为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识创造实践机会。为学生提供主动学习、积极探索与大胆创新的机会;3)使学生通过参加

    4、小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性;4)使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能;5)通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习、深入实践的机会,并且通过创新设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。1.2 创新设计的任务与要求1)学习创新设计指导书和分组 学习研究课创新计指导书,进行分组(网站开发项目5人一小组;个人主页

    5、设计项目3人一组)并且明确每个学生在开发小组中扮演的角色及承担的职责(包括选出组长)。2)确定目标、初步方案,准备、试用开发环境与工具 每个小组确定开发初步方案;选择、准备、试用开发平台、数据库、交互网页开发技术、网页设计工具及其他有关开发工具。3)学习与搜集素材,借阅、购置必要的书籍与材料 学习开发小组及成员根据自己承担的任务利用各种途径(图书馆、因特网、书店、同学亲友等)进行针对性的学习并收集相关素材,包括精选、购置必要的书籍。4)课堂与课下结合开发项目 因为需要自学和探索的内容与软件较多,每个学生要特别发挥积极主动精神投入创新设计和开发活动。除了实验室正式安排的课程设计时间之外,学生需要

    6、充分利用好课余时间,自己有计算机的学生更要充分利用有利条件以取得尽可能好的开发成果,力争获得最大收益。5)各阶段的开发工作 小组开发各阶段的任务及成员角色分工参看后面的“开发阶段任务及角色分工一览表”。需要说明的是,表中给出的各阶段顺序是迭代进行的,可能需要反复多次改进才能最后完成。开发过程中,小组长必须承担起领导责任,不定期召开小组开发工作研讨会(建议5-8次)。会前有准备,会议有记录(包括日期、出席人员、主题、讨论纪要、结论与问题、计划与行动分工。事后要保存好供老师检查),会后有分工和检查。开发小组工作会议的可能内容是: 1) 选题,开发方案研讨;小组成员分工;开发计划拟定。2) 数据库设

    7、计及应用研讨。 3)专门开发技术或开发工具使用的研讨。 4)原型功能改进与扩充;开发文档整理、汇总。5) 做好小组与个人的开发记录、总结,做好小组内外的交流与互助 各个开发小组及其每个成员可以互相研讨、帮助,但必须独立完成自己承担的开发任务与文档编制任务,不得抄袭他人成果。在创新设计进行期间,每个小组由小组长建立项目开发记录本(不少于30页),每周至少做一次记录,包括小组会议记录,小组记录本要保存好供老师检查。建议每个小组成员也建立自己个人的开发记录或日志。记录的内容可以包括:个人在小组中承担任务、计划与进度;相关学科与软件工具学习内容摘要与存在问题、难点;好的创意与建议;开发或学习心得;文档

    8、草稿;重要信息与线索记录等。这样做可以有助于项目开发工作和自己的学习,也有助于最后完成个人和小组的创新设计报告。1.3创新设计开发环境1.3.1硬件环境:本系统适用与DOS环境下的计算机,内存2G,配备显示屏、键盘和鼠标等。1.3.2软件环境: 本系统采用标准C语言,在LINUX 4.0的环境下运行开发。2.项目的可行性研究与需求分析2.1项目可行性研究2.1.1经济可行性本系统是在PC机上开发的,现在计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运

    9、行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。2.1.2技术可行性本系统的开发利用Microsoft SQL sever作为本系统的数据库,适用于大中规模的数据量需求,而且操作简单方便。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用LINUX作为系统开发的开发环境,它提供完善的指令控制语句的支持及丰富的数据类型,更加界面化的操作,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。2.1.3运行可行性本系统为一个小型的学生成绩管理

    10、系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。2.2项目需求分析2.2.1功能需求本系统由组员分工完成各个模块,模块包括:进入,添加,显示记录,查找记录,删除记录,修改记录,载入保存文件,排序和统计。2.2.2硬件需求CPU:P4 2.0G以上 内存:512M 硬盘:60G以上2.2.3界面需求用户界面:体现美观、简约、现代、友好易用等设计元素。3.项目设计的基本原理和采用的主要方法与技术3.1前言学生成绩管理系统的开发利用了程序的文件操作,数组操作和开关语句等基础C编程完成,各组员分工完成各个功能模块。模块包括:进入,添加,显示记录,查

    11、找记录,删除记录,修改记录,载入保存文件,排序和统计。本人负责模块:查找,修改。3.2算法设计本程序设计采用模块化,采用人机界面:便于用户操作。其中选项的选择主要用switch函数实现,各个函数使用调用函数实现。查找函数主要是利用循环语句,然后使用strcmp函数进行记录的比较,找出符合条件的记录的序号,然后用print函数输出。修改函数类似与查找函数,调用find和findunits函数,然后选择要修改的项目,利用strcpy覆盖原有的记录,完成修改。3.3用户文档当用户进入程序时,会有进入提示,然后输入密码:1234567,即可进入人机界面,然后根据选择进行相应操作。3.4技术文档本系统包

    12、含的主要函数有:int enter(ADDRESS t); /进入函数void list(ADDRESS t,int n); /显示函数void search(ADDRESS t,int n); /搜索函数int delete(ADDRESS t,int n); /删除函数int add(ADDRESS t,int n); /添加函数void save(ADDRESS t,int n); /保存函数int load(ADDRESS t);/载入函数void modify(ADDRESS t,int n); /修改函数 void sort(ADDRESS t,int n); /排序函数void

    13、tolength(ADDRESS t,int n); /统计及格率函数void print(ADDRESS temp); ./输出函数int find(ADDRESS t,int n,char *s) ; /查找name函数,输出序号int findname(ADDRESS t,int n,char *n1); /查找name函数,输出序号int menu_select();/菜单选择函数enter主要是利用C的循环和关闭函数exit();list主要是利用printf输出函数;search采用循环和数组操作函数;delete主要是利用逐个替代功能;add函数主要是用改变数组的顺序;save和

    14、load主要是利用c语言的文件操作;修改函数主要是替代;排序函数主要是一个个比较的方法实现;统计函数主要是统计及格率;输出函数主要是用printf,查找函数是利用for循环进行查找;函数选择主要是得到选择的功能序号4.本人实现项目的过程与步骤本人在项目中主要负责的模块是:查找、修改。4.1系统流程图及各模块4.1.1系统流程图开始是否12345670输入记录1显示2搜索3删除4添加5修改6加载7保存8排序9统计10关闭结束是输入密码4.1.2查找函数函数流程图:输入要查找的类型1? 0?输入学号s输入名字n1Strcmp(n1,ti.name)Strcmp(s,ti.num)10=0?=0?返

    15、回i,输出ti结束是是4.1.3修改函数流程图输入学号sStrcmp(s,ti.num)=0?输出i结束是输入要修改的类型学号姓名电话数学英语语文进行修改strcpy4.2调试过程调试没有出错,程序运行正确。4.3项目操作4.3.1输入数据4.3.2显示所有记录4.3.3查找记录按姓名查找4.3.4删除记录删除后列表4.3.5添加记录添加后列表4.3.6修改记录修改后的列表4.3.7保存加载记录4.3.8记录排序排序后的列表4.3.9成绩统计个人班级4.3.10退出5.个人遇到的困难与获得的主要成果在设计实现阶段,我遇到了很多技术上实现的问题。例如C+中类的继承关系,C+封装等等,功能分配和整

    16、合等等问题。后来,通过网络和书籍,我借鉴了别人成功作品的实现手法,慢慢的找到了解决问题的思路。因为我对编程中的C+接触不是很多,所以做这次的实现只能从头摸索,不断实践,终于和小组的其它成员将该系统的功能基本实现。在这次的实践过程当中,经过不断地学习和温习以前学过的知识才得以很好地完成本次创新设计。但是仍然在一些细节方面仍感觉有很多问题,也不知该如何解决,后来通过询问和参考的方法,弥补了不足,解决了问题。通过本次课程设计,我常常地体会到了知识的学习,需要切实的将理论和实践联系在一起,也感受到团队配合的重要性和配合过程中的乐趣。我知道现在做软件程序地开发,一个团队很好地合作是一个项目成功的重要因素

    17、,如果一个团队可以很好地动作起来,那么项目的成功率就大大地增加了。6.创新设计完成结果分析与个人小结 此次创新设计在本人的不懈努力以及组员的帮助下,圆满完成了。它不仅外观完美,功能强大,而且易操作,是居家旅行必备软件。在此次创新设计中,我作为组长,我主要负责查找与修改两个模块,在完成这两个模块的过程中,我懂得了linux系统下的C编程,懂得了利用linux下的终端实现学生管理系统的开发和运行,懂得了linux操作系统的基本命令。加强了个人的动手能力,熟悉了C的使用和C与linux的通用化。懂得了利用数组和字符串来实现数据的查找和修改。最让我受益匪浅的就是,我明白了个人诚可贵,团队价更高。世界上

    18、最强大的就是团队合作,在此我由衷地感谢我的组员,是他们的不懈地帮助,才让我有如此多的收获。7.附录/*header file(.h)*/#include stdio.h /*I/O*/#include stdlib.h /*STL*/#include string.h/*string functions*/#include ctype.h /*Functions to manipulate strings*/#define M 50 /*record number*/typedef struct /*data structure*/ char num20; char name30; char

    19、tele11; int math; int english; int chinese;ADDRESS;/*function prototype */int enter(ADDRESS t); void list(ADDRESS t,int n); void search(ADDRESS t,int n); int delet(ADDRESS t,int n); int add(ADDRESS t,int n); void save(ADDRESS t,int n); int load(ADDRESS t);void modify(ADDRESS t,int n); void sort(ADDR

    20、ESS t,int n); void tolength(ADDRESS t,int n); void print(ADDRESS temp); int find(ADDRESS t0000001212A1210,int n,char *s) ;int findname(ADDRESS t,int n,char *n1); int menu_select(); void welcome();/*welcome*/void welcome()long int code;printf(请输入密码:1234567n);scanf(%ld,&code);if(code!=1234567) exit(0)

    21、; /*main function */main() long time1,time2; int i; /* index */ ADDRESS adrM; int length; /*the length of record*/ welcome(); for(;) switch(menu_select() case 0:length=enter(adr);break; case 1:list(adr,length);break; case 2:search(adr,length);break; case 3:length=delet(adr,length);break; case 4:leng

    22、th=add(adr,length); break; case 5:modify(adr,length);break; case 6:length=load(adr); break; /*load the document*/ case 7:save(adr,length);break; case 8:sort(adr,length);break; case 9:tolength(adr,length);break; case 10:exit(0); /*menu select */menu_select() char s80; int c; / getchar(); printf(*MENU

    23、*nn); printf(0. 输入全部记录n); printf(1. 显示全部记录n); printf(2. 查 找 记 录 n); printf(3. 删 除 记 录n); printf(4. 增加一条记录n); printf(5. 修改一条记录n); printf(6. 读 取 文 件n); printf(7. 保 存 文 件n); printf( 8. 记 录 排 序n); printf( 9. 成 绩 统 计n); printf( 10. 退 出n); printf(*n); do printf(请输入你的选择(010):); scanf(%d,&c); if(c10) printf

    24、(你的输入有误!请重新输入:n); while(c10); return c;/*search record*/void search(ADDRESS t,int n) char s20; char n130; int i,t1,j,k; printf(输入查找类型:学号(0) 或者 姓名(1):n); scanf(%d,&t1); switch(t1) case 0: scanf(%s,&s); i=find(t,n,s);break; case 1: scanf(%s,&n1); i=findname(t,n,n1);break; if(in-1) printf(无该条记录n); else

    25、 print(ti); int findname(ADDRESS t,int n,char *n1) /*n:numbers s:name*/ int i; for(i=0;in;i+) if(strcmp(n1,ti.name)=0) return i; return i; void print(ADDRESS temp) printf(nn*n); printf(学号 姓名 电话号码 数学 英语 语文 n ); printf(-n); printf(%-10st%-10st%-10st %-10d%-10d%-10dn,temp.num,temp.name,temp.tele,temp.m

    26、ath,temp.english,temp.chinese); printf(*end*n);/*find function*/int find(ADDRESS t,int n,char *s) /*n:numbers s:name*/ int i; for(i=0;in-1) printf(无该条记录n); else printf(你想修改哪一项? 1.学号 2.姓名 3.电话 n); printf( 4.数学 5.英语 6.语文n); scanf(%d,&c); switch(c) case 1: printf(请输入新学号 );scanf(%s,number1);strcpy(ti.nu

    27、m,number1);break; case 2: printf(请输入新姓名 );scanf(%s,name1);strcpy(ti.name,name1);break; case 3: printf(请输入新电话 );scanf(%s,tele1);strcpy(ti.tele,tele1);break; case 4: printf(请输入新数学成绩 );scanf(%d,&math1);ti.math=math1;break;case 5: printf(请输入新英语成绩 );scanf(%d,&english1);ti.english=english1;break;case 6: p

    28、rintf(请输入新语文成绩 );scanf(%d,&chinese1);ti.chinese=chinese1;break; pass+; strcpy(az,ti.name) ; z+; printf(通过语文的人数: %dn,pass); printf(语文科目的通过率 %d%n,100*pass/n); printf(通过语文的人: n%s,a0); for(i=1;iz;i+) printf( %s ,ai); break; case 4: for(i=0;i=60) pass+; if(ti.english=60) pass+; if(ti.math=60) pass+; printf(总共通过考试的人次: %dn,pass); printf(平均通过率:%d%n,100*pass/(3*n); break; break; 参考文献1.谭浩强. C程序设计(第三版),2005,7.清华大学出版社2. 张海藩,软件工程导论(第四版),清华大学出版社,20033. 郑人杰等,实用软件工程(第二版),清华大学出版社,19974 谢蓉. Linux基础及应用M.北京:中国铁道出版社,2008.21


    注意事项

    本文(学生成绩管理系统科研实践设计说明书.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922