数据结构课程设计报告(四维数组应用).docx

上传人:夺命阿水 文档编号:1093084 上传时间:2024-03-15 格式:DOCX 页数:26 大小:124.86KB
返回 下载 相关 举报
数据结构课程设计报告(四维数组应用).docx_第1页
第1页 / 共26页
数据结构课程设计报告(四维数组应用).docx_第2页
第2页 / 共26页
数据结构课程设计报告(四维数组应用).docx_第3页
第3页 / 共26页
数据结构课程设计报告(四维数组应用).docx_第4页
第4页 / 共26页
数据结构课程设计报告(四维数组应用).docx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据结构课程设计报告(四维数组应用).docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告(四维数组应用).docx(26页珍藏版)》请在课桌文档上搜索。

1、数据结构课程设计报告原创设计题目:数组应用专业班级学生学号指导教师时间目录一、设计任务3二、软件环境4三、程序源代码4四、算法设计思想及流程图114.1 算法设计思想114.2 流程图134.2.1主要功能模块流程图134.2.2输入函数流程图134.2.3输出函数流程图144.2.4查找函数流程图15五、输入及相应运行结果16六、收获及体会19七、参考文献20八、附录(局部截图)21一、设计任务题目:数组应用功能:按照行优先顺序将输入的数据建成4维数组,再按照列优先顺序输出结果,给出任意处的元素值,并给出对应的一维数组中的序号。分步实施:1 .初步完成总体设计,搭好框架,确定人机对话的界面,

2、确定函数个数;2 .完成最低要求:完成第一个功能;3 .进一步要求:进一步完成后续功能。有兴趣的同学可以自己扩充系统功能。要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。二、软件环境VC+6.0三、程序源代码#include#include#include#defineM100typedefstructintdata;intwei4;node;typedefstruct(nodedatM;intmax_meiwei4;每维的长度intm;shu;void

3、menu(shu*G);voidinput(shu*G);voidoutput(shu*G);voidfind(shu*G);voidintroduce(shu*G);函数声明/*/voidinput(shu*G)/输入按行intij,k,hh,b,n;G-m=l;for(i=0;imax-meiweii);G-m*=G-nax.meiweii;维数长度积即为数据个数)n=0;for(i=0;ivGmax_meiwei0;i+)坐标(for(j=Oymax-meiwei1Jjj+)J(for(k=0;kmax_meiwei2;k+)/$&(for(l=0;lGmax_meiwei3;l+)化(

4、G-datn.weiO=i;G-datn.weil=j;G-datn.wei2=k;G-datn.wei3=l;n+;)for(n=0;nvG-m;n+)依次输入各个结点的坐标值printf(ttt请输入At);for(b=0;bdatn.weib);)PrilItfrb的值n”);scanf(%dM,&G-datnJ.data);)system(,pause1);menu(G);/*/voidoutput(shu*G)/输出按列优先顺序intiJb,k,l,h,n;for(i=0;imax_meiwei3;i+)先固定第四维,而后由里到外依次输出(for(j=0ymax_meiwei2;j+

5、)(for(k=0;kmax_meiweil;k+)(for(!=0;lmax_meiwei0;l+)printf(,tf,);for(h=0;hm;h+)(if(G-dath.wei3=i&G-dath.wei2=j&G-dath.weil=k&G-dath.weiO=l)(printf(,t%d,G-dathJ.data);)prmtf(,n,);)printf(,n,);SyStem(pause);menu(G);/*/*/voidfind(shu*G)/给出任意元素值输出对应的一维数组所在的位置inti,a,k=j;system(,dsn);printf(,nnttt请输入所查值:”)

6、;scanf(,%d,a);for(i=0;im;i+)(if(a=G-datli.data)逐个比拟,找出数组中和所给值相等的数(printf(ntt4444444444444444);prntf(,nttt对应第一维位置为:%dn,i);printf(,tt5555555555555555nn);k=l;)if(k=O)printf(,nttt-(_)-n,);Printfnttt继续lnttt返回2nttt请选择:”);scanf(,%d,j);if(j=l)(find(G);elseif(j=2)(menu(G);)SyStem(pause);menu(G);/*/voidmenu(s

7、hu*G)/藻单inti;system(,clsn);system(ncolor9an);Printf(ttnnnnnn);Printfrttn);PrintfNIIiiiiiiiiiiiiiiiiiiiw);printf(,ttI*I11);printf(,tt+*WELCOME*+n,);printf(*,ttI*I11);printf(,tt+*+n,);printf(uttI*I11,);printf(,tt+*输入(press1)*+nt);printf(,ttI*输出(press2)*In,);printf(,ttI*查找(press3)*In,t);printf(*,tt+*退出

8、(press0)55nt);printf(,ttI*In,);printf(,ttI*I11);printfC,tt+HIlllHdllIl+111t);printf(uttt请选择”);printf(,ntttu);scanf(%d,i);switch(i)case 1: input(G);break;case 2: output(G);break;case 3: find(G);break;case0:(system(,cls);printf(nnM);printf(*ttnn);printf(,ttnn);printf(,tt(.)nt);printf(*tt+oo(_)oo+n,);p

9、rintf(,ttn);printf(,tt再见!谢谢使用!!|暧);printf(,ttnn);printf(,tt+oooOooo+no);Printfrnr);exit(O);break;default:menu(G);break;/*/*/voidintroduce(shu*G)inti;system(,clsn);printf(,nnnntt此系统的功能有nn);Prilltfrtt按照行优先顺序将输入的数据建成4维数组nn”);Prilltftt按照列优先顺序输出nn”);Prilltfrtt给出任意处的元素值,查询相应的一维数组的序号nn);printf(,nnntt按1返回n)

10、;printf(,nntt按O退出暧);scanf(,%d,i);if(i=l)menu(G);)elseif(i=O)exit(O);)/*/main()intij=l;shu*G;G=(shu*)malloc(sizeof(shu);开辟一段空间while(j)利用j来实现while循环system(,clsn);system(,color9e);printf(,nttt333333333 printf(,nnnttt333333333 printf(,nnnttt333333333 printf(,nttt 请选择:”);printf(,nnn,);-111n);printf(,ttI*

11、Intt);printf(,ttI*X欢送使用数组应用系统X*I11,);printf(,ttI*Int);printf(,ttI*I11);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inu);printf(,ttI*In,t);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inu);printf(,ttI*In,t);printf(,ttI*Inn);printf(,ttI*In).printf(,tt1-j11,);简介I333

12、3333n);登录23333333);退出33333333,);/case语句,控制输入情况scanf(,%dn,&i);switch(i)case 1:j=0;introduce(G);break;case 2:j=0;menu(G);break;case 3:j=0;exit(0);default:Prirltf输入有误,请重新输入。/储强程序健壮性j=i;return0;四、算法设计思想及流程图3.1 算法设计思想首先,在定义四维数组的数据类型时,我选择了整型以方便编程及利于数据的输入和输出。为了实现任务所要求的功能,我将程序划分为三类:功能函数,界面函数以及主函数。另外,其中的功能函数

13、包括以下几种函数:四维数组元素输入函数、四维数组元素输出函数、元素查找函数、功能介绍函数以及主函数。对于四维数组输入函数,我通过四个for循环语句先对数组的坐标进行初始化,并输入各个维的长度。然后,再利用一个for循环输入各个元素值。输入时,先固定第一维,然后依次输入各个结点的元素值。对于思维数组输出函数,我也是通过多重for循环进行元素值的输出。先固定第四维,然后依次输出各个结点的元素值。对于元素查找函数,就比拟简单了。就是依次对四维数组中的元素值进行比对,如果所查找的元素与数组中的元素值相同,那么输出该元素所在的一维编号即可。界面函数包括欢送界面以及选择菜单界面,包括在完成某些操作后循环出

14、现的选择界面。出于对界面更加友好的考虑,我适当的装饰了一下界面,并采用了DOS系统的清屏命令以及暂停函数,这样就使得界面更加的清晰、简洁,便于使用。在主函数里,我先输入了欢送界面,然后进入系统选择菜单,最后在退出该系统时,还设置了欢送界面,使得该系统更加的人性化。4.2流程图4.2.1主要功能模块流程图4.2.2数组输入函数流程图4.2.3数组输出函数流程图4.2.4查找函数流程图五、输入及相应运行结果15372648第一组:一二三四维数分别为2,2,2,2,行优先输入16个数:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16列优先输出相应结果:9131115101

15、41216查找元素16:对应的一维位置为15第二组:一二三四维数分别为2,2,2,2:行优先输入16个数:5,3,4,7,11,3,9,10,8,5,5,7,40,21,31,22列优先输出相应结果:5114933710840531521722查找元素7:对应的一维位置为3,11六、收获及体会通过数据结构的课程设计,我学到了许多,并将这些知识应用于实践中,进一步锻炼了自己的动手能力。当然,也会出现一些问题。总结如下:1、 对于出现的调试错误要仔细分析错误的原因,根据错误提示,按照自顶向下的程序设计原那么,逐个进行排错。只要够细心,就一定能够找到错误的所在。2、 程序的易操作性很重要,也就是要有

16、一个足够友好的界面。基于这一点,我设计了自己程序的人机对话界面,通过一个个选项来完成各种操作,大大增强了程序的易用性。3、 编程过程中参加必要的注释是很重要的,这不仅时为了别人能更容易的看懂你的源程序,更重要的是方便自己未来的修改。因为程序源代码一多,自己未必能够十分清楚变量及函数的作用。此时,加必要的注释,就能帮助自己变量及函数的含义,而不是从头理解,提高了工作的效率。4、 要善于利用各种资源,以此提高自己编程的效率。否那么,就会花费许多无谓的时间在不必要的事情上面。5、 编写的程序要通俗易懂,比方变量与函数的定义要尽量做到见名知义。七、参考文献C程序设计(第四版)2010. 01数据结构(

17、C语言版)1997. 041、谭浩强编著清华大学出版社2、严蔚敏编著清华大学出版社3、网络资源八.局部截图三C:DocuaentsandSettIngsXAdainistratordsfadf.exe此系统的功能有 按照行优先顺序将输入的数据建成4维数组 按照列优先顺序输出 给出任意处的元素值,查询相应的一维数组的序号按1返回按0退出H=*IcC:DocuBentsandSettIngsXAdBinistrator3Sdsfadf.ezeUELCOMEpresspresspresspress入出11I肉C:DocuertsandSettiiIgSAdiinistratorA桌面dsfadfex。入裳出2 2 2 2 值 庾 长长长长0,0 rJ 4 - 生在H 0 幺一幺“幺* 12 3 4 0 g2FrgA 入入入入入 1请道TM请请请输入A0,H,0,11的值请输入At0,0,1,0的值请输入At8,0,i,l的值请输入AtB/.0,6】的值-1111WELCOMEentsandSettingsAdinistratordsfadf.exe.*230入出战出is121537264891311IS10141216上

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号