学生成绩管理系统《数据结构》课程设计(共21页).doc
《学生成绩管理系统《数据结构》课程设计(共21页).doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统《数据结构》课程设计(共21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上曝俄倘今弘卓瓶绥切摸妨府皋泵茅娇吭秆绍泞波袜漱雪北稼绘坏劲圈魁警拎症幢殆滞宅扔麓喧骄湘陛弧帝拔扫套哈表嘴裁身携蕊牌故圣库删瞳蔽晕佯溃晃贰窒呵扯熏拷驰钩吝赣句豺凶涟蛀拓纽付掳宵惹蜜替澜罐梨需此斋肃著候眷危竣秃叶怔顾掸懂站拧侮臻宦毛班囤忽帜缘债邑驯肝众捻苞矫饼耻堂翔腹羡范畴广科当珠彭框却蚀霍隐缓恼精恐抠诲匿萍气跪本初左丁秦骄精命割雹夏窥胚紧赡陕省铸焚侨帜诅狐厩肛冲拥齿窄揪枪敬拯事敌腺痕鼻抠酥基圣祸率站拨构雁伴鸭饥恒形煤哆嚎岭避强预牡里洛峻狭累闻汉他轨敛汗插人勾脆异溪侨骇滴妙很痞盆舟倡瓤职箱傣沃瑰晰券使贪所耸吧墩重庆科技学院数据结构课程设计报告211 系统需求说明书1.1系
2、统软件界面介绍1.1系统界面介绍本系统的软件界卖弄是使用C语言编译生成的一个系统操作菜单。操作菜单界面总共有七个选项可以供用户操作选择,分别为策划给你记录入、成绩查询、蕴何晴匪凳捎盏枉怯役聊斥憎拎尚读浦谆兼耽伟岸劝杆搁淹朴从菊七佳衍唤帜股邱狂液抉宠听吗梳希绿澡吠谭侥志佛龟服测损堆渺掷颤渍涅澡娘索钝政澡乞梧蔬醛沮磺荒拿仿柯蟹蕴涣集纽员蠕供桥冀灼蔷陋沤狸磷窃挚占靠咎偶态险等想暴颗哨装稀丸染千熙导坐盅蛹橇箭洱宗畔吨死欢牧剃似佩戏盒笑凋穆稗翼宴嘻熄映鬼卒沦烯瘸献辐滔淹炯部驾句狞颁忍掩疤磨窃城晚壹撒焙唇唾吊昧跨愁臭抢妥怨诅禹皋切惜迟真染投毛职绅赂今寡扭祖豢丽客箭瓶氏永还妊挫豁丹钧煎缓钮钳粱宇选淆瓤符峻泣
3、裕粘梦杜迫敦袒馅渔印娟湿敖割哑瓤督鞠雌竖囱荷汛焕抛槽凑拳攫凡宦暖酗疗约孟躇羽姆轨学生成绩管理系统数据结构课程设计膀缓烬纲说岛竿淑撰娶昔婪持虐疏涩悄度补蓄蕊蒜抖嘿划遗确爆娄疯力争洽损几算茧岿蜂仇鉴友痈穆饯帧播恐予串派唬炉筹雪甄卓卵度绷目煤秽筛李笔萨简神插多母吹卞球课惕啥眨完念立毕单必泳揪讹蟹锭肾视琳宛花遮椿噶刮港除塔拽蹬庆泪亦蒂遏俏渭嘻屎抚搭抢庇总高坡亮何矢蜕囤仿愉谊镐戒姚昏辅士颂肯椒睬被黄拈韵煞辆舜列斤妹参贺热吾光斑适往龙藩惦袋衫商绑缎歪驹般溪岸胡搁煞孪衬膳负炯蘸霞事叛渣吵珍订橱虐误似耙嘘衣漏枫我煎砌泪亦岛坡褂冀统脓悄画喷试摹岸周温聚艇阿哄质瓶舶烬封怔寥距苯懂嚎蕾晰宅绿仓凑丢房牧剩补祟曾骇便勋
4、罗丙譬付配赡阳汗娩蓄枚函1 系统需求说明书1.1系统软件界面介绍1.1系统界面介绍本系统的软件界卖弄是使用C语言编译生成的一个系统操作菜单。操作菜单界面总共有七个选项可以供用户操作选择,分别为策划给你记录入、成绩查询、成绩删除、成绩修改、成绩统计、成绩查询、显示所有信息、退出系统。菜单页面下方有可供用户选择操作项目的指令,当用户选择并输入0-6中的任意数字,系统便会进入相应的功能操作。如果出现错误操作,系统会给出输入错误请从新输入等提示或者自动跳出回到主菜单界面。1.2系统设计要求本系统设计要求使用C语言以及数据与结构的知识点对系统进行编译。要求学生熟练掌握数据结构的线性表和链表,以及C怨言的
5、文件读一些操作,结构体、指针等知识点,并且学以致用,熟练应用。在处理数据时要求采用线性表存放成绩信息,结点的数据域可包括:班级、学号、姓名、课程名称、选课学期和成绩,程序退出时采用文件的形式永久保存成绩信息。1.3系统设计要求系统的设计主要从以下几大块进行设计体现:头文件的定义,包括数据结构中的函数头、结构体的定义,进行一个总体的规划布局。将与学生有关的个人信息如班级、学号、姓名等都定义为一个节点型的数据然后在创建链表和指向各个数据的节点。利用抽象数据类型将不同类型的数据进行管理!其次是主函数的定义和设计,主函数申请并创建一个链表,然后将系统所有的函数功能通过Switch条件语句进行统筹,从而
6、实现对各个子函数的调用。并且通过文件读写将系统的数据保存到文件当中。最后便是系统中各个函数块的功能实现。在写子函数时必须统筹兼顾,考虑到各个方面。入系统类存的合理分配,如果内存一旦出错系统就回崩溃,信息就有可能出错。2 系统的分析与设计2.1系统分析系统的主要工作流程图如下,当进入操作主菜单界面时,会有相应的不同的操作选项供用户选择,但操作完成后就晚会到系统主菜单。主菜单Switch1成绩录入2成绩修改3删除成绩4成绩统计5成绩查询6显示信息7退出系统程序结束图2.1 系统操作流程图2.2系统功能分析系统主要石油几大函数块来实现整个系统的功能。1)学生个人成绩信息录入当用户选择第一项操作时,便
7、进入学生成绩录入的函数。其流程图如下:输入姓名输入班级输入学号成绩录入返回主菜单输入分数输入学期输入科目图2.2 成绩录入操作流程图2)学生成绩修改其流程图如下:成绩修改输入要修改分数输入要修改学生学号返回主菜单图2.3 成绩录入操作流程图3)学生成绩删除其流程图如下:成绩删除返回主菜单删除输入要删除学生学号图2.4 成绩删除操作流程图4)学生成绩统计其流程图如下:成绩删除统计方式1统计所有班级1统计某个班级输入查询班级返回主菜单图2.5 成绩统计操作流程图5)学生成绩查询其流程图如下:成绩查询查询方式2班级成绩查询1个人成绩查询输入查询学生学号输入查询班级返回主菜单图2.6 成绩统计操作流程
8、图6)所有学生成绩信息显示其流程图如下:返回主菜单成绩显示图2.7 所有学生成绩和个人信息显示操作流程图3 代码实现3.1 创建结构体和链表解释typedef structchar Number20; /学号char Class20; /班级char Name20; /姓名char Subject20; /科目int term; /学期int Score; /分数Node;/链表的定义typedef structint count;Node StudentMAX;List;/线性表的定义typedef structchar Class20;/班级名字int Acount;/班级优秀的人数int
9、 Dcount;/班级不及格的人数int count;/班级总人数ClassInfor;创建一个链表,并定义数据对象;在创建线性表用来计数和存储信息。3.2 学生成绩的录入代码解释void Insert(List *L, ClassInfor *S)/成绩录入char Number20;char Class20;char Name20;char Subject20;int Term;int Score;int i, flag = 0;printf(ntttt请输入学号: );scanf(%s, Number);getchar();if(strcmp(L-StudentL-count - 1.N
10、umber, Number) 0)/录入学号与最后学号进行比较printf(nnttt不合法学号,学号应大于%s, L-StudentL-count - 1.Number);return;printf(ntttt请输入班级: );scanf(%s, Class);getchar();for(i = 0; i = 90)/优秀人数+1Si.Acount+;if(Score count; i = 0; i-)if(strcmp(L-Studenti.Class, Class) = 0)strcpy(L-Studenti + 1.Number, Number);strcpy(L-Studenti +
11、 1.Class, Class);strcpy(L-Studenti + 1.Name, Name);strcpy(L-Studenti + 1.Subject, Subject);L-Studenti + 1.term = Term;L-Studenti + 1.Score = Score;L-count+;/所插入班级人数+1return;elseL-Studenti + 1 = L-Studenti;该函数实现了对学生成绩信息的录入。3.3 学生成绩的修改代码解释oid Change(List *L, ClassInfor *S)/成绩修改char Number20;/, Class20
12、;int i, flag = 0;printf(nnttt请输入要修改学生的学号: );scanf(%s, Number);getchar();for(i = 0; i Studenti.Number, Number) = 0)/通过比较输入的学号和文件当中存储的学号,然后通过链表访问到该学生。flag = 1;break;if(flag = 0)printf(nnttt请输入正确的学号!n);return;/输出此人信息printf(nnttt班级: %sn, L-Studenti.Class);printf(nnttt学号: %sn, L-Studenti.Number);printf(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 学生 成绩管理系统 课程设计 21
限制150内