欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构C语言课程设计任务书完整版--学生管理系统.doc

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

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

    数据结构C语言课程设计任务书完整版--学生管理系统.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date数据结构C语言课程设计任务书完整版-学生管理系统数据结构C语言课程设计任务书完整版-学生管理系统 数据结构课程设计报告题目一、学生管理系统的设计与实现 采用顺序表结构实现题目二、图的算法实现采用邻接表和邻接矩阵结构实现班 级:_计算机101_姓 名:_刘文辉_指导教师:_董跃华_成 绩:_ 信息工程学院 2012 年 06月18 日目 录1需求分析31.1目的31.2功能32详细设计32.1数据类型4 2.2总体功能流程图42.3伪码算法5 3调试分析143.1遇到的问题143.2算法的时空分析143.3改进设想143.4经验体会144测试结果155参考文献16 1、 需求分析1.1、 目的设计并实现一个学生管理系统,即定义一个包含学生信息(学号,姓名,成绩)的的顺序表,可以不考虑重名的情况 熟练查找和排序的数据结构算法 熟练掌握数据结构 复习C语言的各个知识点1.2、 功能(1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 给定一个学生信息,插入到表中指定的位置;(4) 删除指定位置的学生记录;(5) 统计表中学生个数;(6) 利用直接插入排序或者折半插入排序按照姓名进行排序;(7) 利用快速排序按照学号进行排序;(8) 根据姓名进行折半查找,要求使用递归算法实现,成功返回此学生的学号和成绩;(9) 根据学号进行折半查找,要求使用非递归算法实现,成功返回此学生的姓名和成绩。 2、详细设计2.1、数据类型1、 本次程序采用顺序存储结构,利用结构体数组的优点进行设计。ADT List数据对象:D=ai|aiElemset,i=1,2,n,n>=0数据关系:R1=<a(i-1),a(i)>|a(i-1),a(i) D,i=2,n基本操作:Last_locate()操作结果:得到最后一个元素的位置基本操作:Stu_Insert()操作结果:学生信息的插入基本操作:Stu_Insert_appoint()操作结果:学生信息插入到指定位置基本操作:Stu_Delete_appoint()操作结果:删除某位置上的学生信息基本操作:Stu_OutAll() 操作结果:学生信息的输出基本操作:Stu_Count()操作结果:学生个数的统计基本操作:InsertSort()操作结果:按姓名直接排序基本操作:Stu_Partition(int low,int high)操作结果:按学号快速排序基本操作:Stu_Search_Bin ()操作结果:非递归折半查找基本操作:DG_Stu_Search_Bin(char key10,int low,int high)操作结果:递归折半查找 ADT List2.2、总体功能流程图1、功能模块2、主界面流程图2.3、伪码算法1、插入操作的伪代码及流程图int Stu_Insert()scanf("%d",&n);for(i=0;i<n;i+) scanf("%d",&stui.number); scanf("%s",&stui.name); scanf("%d",&stui.score);return 1;2、插入学生信息到指定位置的伪代码及流程图int Stu_Insert_appoint() scanf("%d",&j);/j为插入的位置 for(i=Last_locate();i<=j;i-)/进行元素后移操作 tui+1.number=stui.number;stui+1.name15=stui.name15;stui+1.score=stui.score;scanf("%d",&stuj.number);scanf("%s",&stuj.name);scanf("%d",&stuj.score);3、删除指定位置的学生信息的伪代码及流程图int Stu_Delete_appoint()scanf("%d",&j);free(stuj)for(i=j+1;i<=Last_locate();i+)stui-1=stui;return 1; 4、学生信息的全部结果输出的伪代码及流程图int Stu_OutAll()int i=0;while(stui.number)printf("%dtt",stui.number);printf("%stt",stui.name);printf("%dttn",stui.score);i+;return 1;5、学生数量统计的伪代码及流程图int Stu_Count()int i=0;while(stui.number)i+;printf("学生总人数:t");printf("%d",i);return 1;6、快速排序的伪代码及流程图int Score_Partition()Privotkey = stulow.key;While(low<high)While(low<high&&stuhigh.key>=privotkey) high;StulowßàStuhighWhile(low<high&&Stulow.key<=privotkey) +lowStulowßàStuhighreturn low;7、直接插入排序伪代码及流程图Void InsertSort()For(i=2;i<= Last_locate();+i)If(LT(stui.key,stu.i-1.key)Stu0=stuiStui=stui-1For(j=i-2;LT(stu0.key,stuj.key);-j)Stuj+1=stuj;Stuj+1=stu08、折半查找非递归伪代码及流程图int Search_Bin (SSTable ST, int key ) int low, high, mid; low = 1; high = ST.length; while (low <= high) mid = (low + high) / 2; if (key=ST.elemmid.key) return mid; else if (key<ST.elemmid.key) high = mid - 1; else low = mid + 1; return 0; 9、折半查找递归伪代码及流程图int DGSearch_Bin (SSTable ST,int key,int low,int high) int lo, hig, mi; low = 1; hig = ST.length; mid = (lo + hig) / 2; if(ST.elemmi.key=key) return mid; if(ST.elemmi.key>key) return D(ST,key,lo,mi-1); if(ST.elemmi.key<key) return D(ST,key,mid+1,high); return 0;3、 调试设计3.1、遇到的问题几乎没什么大问题3.2、算法的时空分析T(n)=O(n2)3.3、改进设想在进入某个功能模块时,或者某个功能的某个步骤时,可以允许出现输入错误,因此,要实现进入某个步骤时实现撤销操作.3.4、经验体会由于第一次写这么复杂的程序,开始有点无从下手,在选择合适的数据结构的时候不知道怎么去选,只能一个一个的去试,最后从结合了C语言的结构体和程序需要用到的算法中慢慢摸索到了合适的数据结构,写程序时会出现好多小的语法问题或者逻辑问题,一点点逻辑问题就会让人抓狂。但最后还是静下心来梳理情绪,慢慢的找到了问题。开始的时候没有好好理解折半插入排序。便把第0个位置也存了信息。导致哨兵没地方放。然后又全部修改了。也许哨兵不一定要放在第0个位置。但开始遇到的这个问题时,脑子里就只有一个想法,就是全部把信息结构修改一遍,虽然这看起来不是个好方法,但对于这种小程序来说,还是比较容易修改。总体来说,收获很大。 4、 测试结果4.2查询学生信息4.3添加学生信息到指定位置4.4删除学生信息4.5按姓名递归折半查找4.6按学号快速排序 5、 参考文献1、数据结构(C语言版)严蔚敏、吴伟民2、C程序设计(第三版)谭浩强-

    注意事项

    本文(数据结构C语言课程设计任务书完整版--学生管理系统.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开