《数据结构课程设计报告(四维数组应用).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*Intt);printf(,ttI*X欢送使用数组应用系统X*I11,);printf(,ttI*Int);printf(,ttI*I11);printf(,ttI*Inn);printf(,ttI*Inn);printf(,t