数据结构实训报告学生样.doc_第1页
数据结构实训报告学生样.doc_第2页
数据结构实训报告学生样.doc_第3页
数据结构实训报告学生样.doc_第4页
数据结构实训报告学生样.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

吉林工业职业技术学院( 数据结构实训报告 )( 2011 2012 学年第1 学期)实训地点: 网站建设实训室 指导教师: 张君楠、刘文宏 专业班级: 信管 3101 学生姓名: 王福玺( 0 3 ) 2011年12月16日目 录 实训项目2实训目的2设计分析2设计方案3详细设计5使用说明7运行调试8实训心得8参考文献8数据结构实训报告实训项目1. 个人项目:二分法查找演示问题描述: 用箭头表示指针,模拟出二分法查找的指针变化过程。要求: 给定一组数据。可以动态地显示二分法查找的过程。用到函数:setcolor(WHITE)画颜色;line(x1,y1,x2,y2)画直线;bar(x1,y1,x2,y2)画矩形;settextstyle(0,0,2)字体大小;outtextxy(x,y,变量或常量)输出内容;initgraph(&gd,&gm,c:tc) tc所在目录的路径;setfillstyle(SOLID_FILL,0)每次演示的时候先将下面显示的文字给去处掉,等等。2. 小组项目:通讯录管理系统问题描述:建立一个本班学生通讯录文件,包括学号(num)、姓名(name)、性别(sex)、电话(phone)、电子邮箱(email)、住址(addr)。要求:编写菜单程序,功能包括:建立通讯录、插入记录,删除记录、修改记录、按照学号或姓名查询记录、显示记录、保存文件。定义班级学生结构体名称为student。学号(num)、姓名(name)、性别(sex)、电话(phone)、电子邮箱(email)、住址(addr)均为字符型数组,长度分别为2、8、2、11、20、20。实训目的通过本次实训,能够进一步巩固、掌握程序设计基础和数据结构课程的基本知识、基本技能。运用算法分析与程序设计的一般方法进行实际项目的开发。本项目需要具备熟练的数组和线性表知识,具备程序编写、调试的基本能力,具有一定的文字表达和报告撰写能力,具备办公软件使用能力。.设计分析1. 个人项目:二分法查找演示用户在键盘上输入的是中缀表达式时,即两个操作数和中间一个运算符,如:3*(2+6)/4。计算时遵循“从左向右计算,先乘除后加减,先括号内后括号外”规则。因此中缀表达式的计算需要考虑括号、运算符优先级等因素,比较麻烦。为此先将中缀表达式转换为后缀表达式再进行运算,因为后缀表达式已经考虑了运算符优先级,消除了括号,运算时只需要处理操作数和运算符即可。2. 小组项目:通讯录管理系统设计方案1. 个人项目:表达式求值把问题分成两个部分:一是将中缀表达式转换为后缀表达式的算法;二是对后缀表达式求值的算法。实现第一个算法思想:设置两个栈分别表示操作数栈和运算符栈,分别存放表达式中的操作数和运算符。设“0”为表达式的结束符。算法的基本思想是:(1) 两个栈初始化为空;(2) 从左到右扫描表达式,遇到操作数一律进操作数栈。以“0”为表达式的结束标志;(3) 遇到运算符,则判断其优先级是否大于运算符栈栈顶元素的优先级。若大于则进栈,否则栈顶元素出栈并输出到操作数栈;(4) 遇到左括号则左括号进运算符栈。若遇到右括号则出栈并输出到操作数栈,一直遇到左括号为止;(5) 重复(2)(3)(4),直到整个表达式扫描结束,并且运算符栈为空。如表达式:3*(2+6)/40实现第二个算法思想:(1) 设置一个空栈stack;(2) 从左到右扫描后缀表达式;(3) 遇到操作数压入stack栈中;(4) 遇到运算符,则执行两次出栈操作,对出栈的两个操作数按照指定的运算符进行运算,结果进stack栈;(5) 重复(2)(3)(4),直到整个表达式扫描结束。此时栈顶元素就是最后结果。数据结构定义:#define MAXSIZE 100structchar dataMAXSIZE;/中缀表达式转换为后缀表达式用到的运算符栈int top;op;structfloat dataMAXSIZE;/定义后缀表达式求值用到的栈int top;op;2. 小组项目:学生成绩管理 (1)建立一个明了的管理菜单。(2)使操作人员很容易的完成对学生成绩的查询,修改和添加。(3)对要查询的数据要有准确性。数据结构定义:定义主函数main( );在main( )里定义变量,使用do-while设计程序的容错性,定义被调函数fun1、fun2、fun3、fun4、fun5、fun6和fun7判断所要进行的操作。 if(choose=1|choose=2|choose=3|choose=4|choose=5 |choose=6|choose=7|choose=8|choose=0)switch(choose)case 1:fun1(); break;/ 添加case 2:fun2(); break;/ 计算个人总分、平均分,班级总分、平均分case 3:fun3(); break; /排序case 4:fun4(); break; /查询case 5:fun5(); break; /修改case 6:fun6();break; /删除case 7:fun7();break; /插入详细设计1. 个人项目:表达式求值源程序代码如下:include#define MaxSize 100void trans(char str,char exp)struct char dataMaxSize; int top;op;char ch;int i=0,t=0;op.top=-1;ch=stri;i+;while(ch!=0)switch(ch)case(:op.top+;op.dataop.top=ch;break;case):2. 小组项目:学生成绩管理 使用说明1. 个人项目:表达式求值本程序在turboc 2.0环境下运行通过。运行后,根据提示输入数据即可。可以输入由运算符+、-、*、/、()所构成的算术表达式。表达式输入结束时按回车键。在屏幕上输出后缀表达式,并输出计算结果。2. 小组项目:学生成绩管理 运行调试1. 个人项目:表达式求值运行可执行文件00.exe或在turboc2.0下同时按住ctrl+F9运行00.c文件即可。运行实例如下:测试数据一:图1 不等式测试数据二:2. 小组项目:学生成绩管理 实训心得参考文献1 闵敏. 数据结构. 高等教育出版社.2007.72 严蔚敏. 数据结构C语言.

温馨提示

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

评论

0/150

提交评论