ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:65.03KB ,
资源ID:10049702      下载积分:6 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10049702.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(数据库学生信息管理系统实验报告.docx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据库学生信息管理系统实验报告.docx

1、题目四 D2H :设计一个学生信息管理系统,包括学生基本信息、成绩信息等。提供输 入、编辑、删除、查询的操作界面。数据库类型自选。 1、问题分析。 由题意得,这是一道数据库类型的题目,需要实现插入,修改,删除,查询四 个功能。 确立数据的存储结构,采取二叉树进行存储数据,每个结点包含学生的姓名与 学生的成绩。 通过二叉查找树进行插入、删除和查询工作。 二叉查找树的特性是左子树关键字均小于根的关键字,而右子树的关键字均大 于根的关键字。因此加入某一关键字只要逐一比较,依据关键字的大小往右或 者往左,便可找到关键字插入的位置。 二叉查找树的删除,当删除某一结点时,若删除的是叶结点,则

2、直接删除,假 若删除的不是叶结点,则在左子树找到最大的结点或者在右子树找到最小的结 点,取代将被删除的结点。 二叉查找树的查询,决定关键字X是否在二叉查找树中,首先X先与根去比较, 若X等于根表示找到,如果乂大于树根,则往右子树查找;否则,到左子树查 找。 由于一个结点包含学生的姓名与成绩,题目要求要求编辑功能,学生的成绩具 有可变性,所以结点的关键字选取为学生的姓名。 对二叉树的遍历,写入数据,采取先序遍历:先遍历树根,然后遍历左子树, 再遍历右子树。 2、设计方案。 根据问题分析,设计程序: 1. 构造函数,使根结点为空,加载函数,将数据文件BinSearchTree.dat

3、加载到程序中; 2. 定义载入与保存方法,结点的名字初始为空,学生成绩为0,由于 BinSearchTree. Dat正常情况下能够使用,所以采取JAVA中对异常的处 理方法。使用try-throw-catch组合替代if-else语句。 3. 定义一个search方法,用来搜索某个结点,定义一个结点,当此结点不 为根结点时,如果目标结点小于此结点的关键字,向此结点的左子树搜 索,否则向右子树搜索。 4. 定义一个search_re_r方法,用来搜索右子树的替代结点,当替代结点 的不为空并且替代结点的左子树不为空时,使用替代结点的左子结点作 为替代结点。 5. 定义一个search_r

4、e_ 1方法,用来搜索左子树替代结点,当替代结点不 为空并且替代结点的右子树不为空时,使用替代结点的右子结点作为替 代结点, 6. 定义一个search_p方法,用来搜索父节点,当结点小于父节点,向左搜 索,直到搜索到位置,否则向右搜索。 7. 定义一个preorder方法,用来以先序法写入档案,采取递归方式,先遍 历树根,然后遍历左子树,再遍历右子树。 8. 定义一个access方法,用来将数据增加到二叉查找树中,调用search 方法,当增加的结点与树中结点重复时,显示结点已存在,否则,将学 生姓名与成绩存入结点,当树根为空时,结点保存为树根,当树根不为 空时,寻找数据插入点,小于关

5、键字向左查找,大于关键字向右查找, 直至找到插入位置,将结点两端与树中其他结点相连。 9. 定义一个connect方法,用来调整二叉树的链接,调用search_p方法, 寻找到父结点,当结点为父结点的左子树时,使父结点的左端与结点的 右端相连,否则,父结点的左端为空,当结点为父结点的右子树时,使 父结点的右端与结点的左端相连,否则,父结点的右端为空。 10. 定义一个replace方法,用来寻找删除非叶结点的替代结点,调用 search_re_r、search_re_1和connect方法,先搜索右子树寻找替代结 点,当替代结点在右子树存在时,将右子树的最小结点作为替代结点, 当不存在时,

6、搜索结点的左子树,讲左子树的最大结点作为替代结点, 调用connect方法,将结点间连接。 11. 定义一个removing方法,用来将数据从二叉查找树中删除,调用search 和replace方法,当找不到删除结点时,显示无法找到此结点;否则当 此结点不为叶节点时,利用replace方法,寻找替代结点,当此结点为 叶结点时,直接删除。 12. 定义插入(insert)方法,方法中要求用户输入学生姓名与成绩,方法 中调用access方法,讲输入数据存入。 13. 定义删除(delete )方法,当树根为空时,系统输出没有学生记录,否 则调用replace方法删除结点。 14. 定义编辑

7、modify )方法,当树根为空时,系统输出没有学生记录,否 则,调用search方法,找出结点,重新对结点中学生成绩赋值。 15. 定义查询展示(show)方法,当树根为空时,系统输出没有学生记录, 否则,调用search方法,找出此结点,系统输出结点的姓名与成绩信息。 16. 设计友好的界面,提示用户输入数字,并对系统输出的结果进行说明。 17. 寻找检查程序中的BUG。 3、流程图。 4.用户查询数据,show方法 5.退出,save方法,保存数据 Search_p 方法 Search-re-方法 Search-re-方法 Access方法 Search方法 R

8、eplac。方法 加载函数,写入档案 用户选择功能,调用相应方法 —1.用户录入数据,1庭。1方法 • 2.用户删除数据,delet(方法 *3.用户编辑数据,modify方法 4、测试数据、测试结果、 结果分析。 Removing 方法 Connect 方法 r preorder方法 File loading...OK! *******Welcome to student score System************** <1> insert <2> delete <3> <4> modify search quit *****

9、Welcome to <5> student score System************** Enter your choice: No student record *******Welcome to student score System************** <1> insert ~ <2> delete <3> modify <4> search <5> quit *******Welcome to student score System************** Enter your choice: 1 ======INSE

10、T INFORMATION====== Enter student's name: peter Enter student's score:1 *******Welcome to student score System************** <1> insert <2> delete <3> modify <4> search <5> quit *******Welcome to student score System************** Enter your choice: 3 ======MODIFY STUDENT INFORMATION=====

11、 Enter student name: peter Original Student name: peter Original Student score: 1 Enter new student: 2 Information of student peter modified *******Welcome to student score System************** <1> insert <2> delete <3> modify <4> search <5> quit *******Welcome to student score System**

12、 Enter your choice: 4 ======SHOW STUDENT INFORMATION====== Enter student name: peter Student name: peter Student score: 2 *******Welcome to student score System************** <1> insert <2> delete <3> modify <4> search <5> quit *******Welcome to student score System***********

13、 Enter your choice: 2 —DELETE STUDENT INFORMATION—™ Enter student,s name: peter Data of student peter deleted! *******Welcome to student score System************** <1> insert <2> delete <3> modify <4> search <5> quit *******Welcome to student score System************** Enter your choi

14、ce: 5 File saving. . . OK! 当学生成绩为符点数时,系统无法识别,输入自然数能够满足题目中要求 5、相关运行界面。 =public votca i 卜 infbrmationmanage.java 岂 prihlia void loa.d_f [| String naune - int a core-' 3; bnalEan done fHine; Systen.. ocrt.print [^Fale leading. . . H); try { mflie new CacalnpucStrean.(new } catch (lOExceprlon

15、 s|- { Sir5T:eni. s-rTrpilncln | ^teilEd!") ? S ysreni. s-Tr rpr inc Ln I ^B lnS ear clhl rte return; 1 wFiil€ | done = talse> { try{ naita = Uxtiie. raaim F (F; sccze = in£lle.reo!(llfj.c (); ) a atali. (ECFEjecepr 1 oel ecf) < done = true: ) c ft tab (ICExaeptinn e*i < } if dar.e ! —-tir

16、us[ iCEess |r.Brne, scare); } Byste-. otit-pziTitln f'CX "R【 try{ inf lie. el cjse (); } catch rlOExcecitaaK 巴卜{) Fi IsInpccStrsaiii ( rdeu nor- rawidr u 旦 xn het rch rz-ee . dat [卜匚 Dutline ] Console ES ' <|grnninaD&d> Bln&wrehTTi&ea) [Java Appircaflton] c\pn .f I底•席回更)1 /日F - ITq 3DtL

17、de!LG record *** ftfr* fcSfeiCO3t=. CO scuienc score aysrem*** <1> iDsexr <2> i-lete <3> itodify s-sazet: <5> ri rf n fl rf ft H11 >ZDIT^ tQ 3t'j.dent jscore Syst— Enter yaur chaj.ze: ™™I3£ET I3FCRMATID}]™" Enter atedert s najr,e: w Enter atuien匚『js accTe: 1 ****** *Welccoire co

18、stcdenc a core Sysrem** * <1> inserr <2> lelete <3> moditj? <4> search <5> q;Qlc ****** *Welccarje co a du. le tic score Sysrem.*** EDtez yDUE eliaices 3 ==^KCDIEY snjrorr IZ-ITOBKiTIGK== Enter sctuieeic Eiams: cecei Cr±giEL!ail 5tuMnc r.air.e: petisr Cx±gir.a± S t%id-=r.t scare: LOO Enter new st

19、udejit: ZCD In±crn-atx=D sf :3t匚注三二匚 peter xed 6、关键代码 1. 将新增数据添加到二叉树中: public void access(String name, int score) { Student node, prev = null ; if (search(name) != null ) { System. out .println( "Student "+ name + "has existed!" ); return ; ) ptr = new Student(); ptr . name = name; ptr

20、 score = score; ptr . llink = ptr . rlink = null ; if (root == null) root = ptr ; else { node = root ; while (node != null ) { prev = node; if (ptr . name .compareTo(node. name ) < 0) node = node. rlink ; else node = node. rlink ; ) if (ptr . name .compareTo(prev. name ) < 0) prev.

21、 llink = ptr ; else prev. rlink = ptr ; ) ) 2. 将数据从二叉查找树中删除: public void removing(String name) { Student del_node; if ((del-node = search(name)) == null ) { System. out .println( "Student "+ name +" not found!" ); return ; ) if (del-node. llink != null ||del_node. rlink != null

22、 ) del_node = replace(del_node); else if (del_node == root ) root = null ; else connect(del_node, 'n'); del_node = null ; System. out .println( "Data of student " + name + " deleted!"); 3. 寻找非叶结点的替代结点: public Student replace(Student node) Student re_node; if ((re_node = search_re_r(nod

23、e. rlink )) == null ) re_node= search_re_l(node. llink ); if (re_node. rlink != null ) connect(re_node, 'r'); else if (re_node. llink != null ) connect(re_node, 'l'); else connect(re_node, 'n'); node. name = re_node. name ; node. score = re_node. score ; return re_node; } 4. 调整二叉树的链接: public v

24、oid connect(Student node, char link) { Student parent; parent = search_p(node); if (node. name .compareTo(parent. name )<0) if (link == 'r' ) parent. llink =node. rlink ; else parent. llink = null ; else if (link == '1') parent. rlink =node. llink ; else

25、 parent. rlink = null ; } 5. 先序法将数据写入档案: public void preorder(Student node) if (node != null) { try { outfile .writeUTF(node.name ); outfile .writeInt(node.score ); } catch (IOException e) {} preorder(node.llink ); preorder(node.rlink ); ) ) 6. 搜索目标结点: public Student search(Stri

26、ng target) { Student node; node = root ; while (node != null ){ if (pareTo(node. name ) == 0) return node; else if (pareTo(node. name ) < 0) node = node. llink ; ) return node; ) 7. 搜索右子树替代结点: Student search_re_r(Student node) { Student re_node; re_node = node; while (re_node != null &&

27、re_node. llink != null ) re_node = re_node. llink ; return re_node; ) 8. 搜索左子树替代结点: public Student search_re_l(Student node) { Student re_node; re_node = node; while (re_node != null &&re_node. rlink != null ) re_node =re_node. rlink ; return re_node; ) 9. 搜索node的父结点: Student parent; pare

28、nt = root ; while (parent != null ){ if (node. name .compareTo(parent. name ) < 0) if (node. name .compareTo(parent. llink . name ) == 0) return parent; else parent = parent. llink ; else if (node. name .compareTo(parent. rlink . name ) == 0) return parent; else parent = parent. rlink ; } return null ; }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服