c单向链表的排序解读_第1页
c单向链表的排序解读_第2页
c单向链表的排序解读_第3页
c单向链表的排序解读_第4页
c单向链表的排序解读_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、河北联合大学2011-2012 第 2 学期软件设计基础-C + +课程设计报告设计名称: 设计一个处理单向链表的程序:链表的排序姓 名:王学增学 号:201005100206专业班级:土木工程1班学 院:建筑工程学院设计时间:2012-5-31设计地点:机房指导教师评语:教师评定:自评成绩;75指导教师签字:年月日软件设计基础-C+课程设计报告第18页,共 17页目 录1课程设计目的 2课程设计任务与要求 3课程设计说明书 4课程设计成果 5程序调试过程 6设计问题的不足和改进方案 7课程设计心得 8参考文献1. 课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计

2、结合实际应用的要求, 使课程设计既覆盖 C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际 分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌 握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2. 课程设计任务与要求:要求:本次课程设计利用软件设计基础 -C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清

3、楚5、课题完成后必须按要求提交课程设计报告 任务:将自己选择题目的任务要求简单填写在此处。(1)要求用C+的思想来完成程序的设计。(2 )各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件。(3)在基本要求达到后,进行创新设计,例如:将两个非递减的链表合并成一个新的非递减的链表3. 课程设计说明书! m n nrw n in nir n r= r* pir n b anirf ri e概要设计主要写模块说明,模块结构图,系统流程图(例 N-S流程图)(五号,宋体)模块说明:在我设计的程序中一共包括了六个模块,分别是:新增模块、查找模块、修改模块、完全打印

4、模块、删除模块、退出系统模块。这六个模块中新增、查找和修改都是独立分开作为子函数的,另外三个则是作为 switch语句中的一部分,通过switch语句,把六大模块联系了起来,同时,为了实现多次使用这六大模块,就在switch语句外加了 while循环。我的程序模块说明:在我设计的程序中一共可以分成三个模块,分别是数据打印模块,冒泡排序模块,主函数模块。其中,数据打印模块和冒泡排序模块都采用了for循环。并且这两个模块都是详细设计总体流程图:各功能模块流程图(1)打印数据的流程图:(以下是应用的for循环)coutn(接上页)(2)泡沫排序的流程图注:上述数组d为rj.score(3)主函数流程

5、图4. 课程设计成果 n * ara v* ar aw ara n ar r*arnahtb ar ! 工 程序源代码,运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页)(1) 链表排序的源代码#in clude#i nclude /头文件#defi ne N 100typedef int keytype;typedef char xingmin g5;typedef char xin gbie5;typedef struct num /建立keytype score;xingming n ame;xin gbie sex;nu mpxN;struct num sqlistN+1;voi

6、d px( numpx r,i nt n) /冒泡排序int i,j;for(i=1;i n; i+)for(j=1;jrj+1.score)r0=rj;rj=rj+1;rj+1=r0;void print(nu mpx list, intn) /打印数据int i;for(i=1;i=n ;i+)cout listi.score;coutn;for(i=1;i=n ;i+)cout listi .n ame;coutn;for(i=1;i=n ;i+)cout listi.sex;coutn;void ma in () /主函数int n=10;numpx a=0,16, 小斯,男,24,伊

7、娃,女,13,韦德,男,35,杜兰,男,20,阿伦,男 ,37,李娜,”女,55,凯文,男,11,罗斯,男,18,波什,男,10,刘兰,女;coutn;cout原系列数据:n;prin t(a,10);coutn;px(a, n);cout排序的序列(从低到高):n;prin t(a ,n);(2)运行以上源程序后的运行结果:3513II-c:-椎舂IB品n需I链義.电hoJal xkey to continue排序的序列10刘兰罗 I女Pr-ess any15163524伊娃1S20181H 刘兰 女到13德男 低韦A(m【系列数据: 小葺伊雀3?李娜女20阿費37李娜女叵J回5.程序调试过

8、程写出程序调试步骤,及遇到的问题。(1)这时程序已经可以运行,但数据出现错误:没有输出第一组数。C :U sers del|Deski op 毛腳 葩表,D 邑 buexe*C:ller5d s lIXDeskto p毛橇館审小岂宗.ewe原系列数据:24133S2037151118100伊蛙丰德社兰阿伦李娜凯文罗斯波什刘兰女男男男女男男男女排序的 序列(MSU高)B1011131S18202435 3?刘兰罗斯韦德凯文菠什阿伦伊蛙杜兰李挪女男男男男男女男女Pa nyto co ntinu.e原系列数据二lb24133S2371bllllB小斯伊娃韦德杜兰阿伦李娜凯文罗斯披什刘二男女男男男女男

9、男男女 排序的序列(从低到高:101113151610202435071兰罗斯韦德凯文小斯披什阿伦伊蛙杜兰李娜女男男男男男男女男女 Piess mny Ikey 七口 coinlJ.nuc这是字符数组那块的知识,在数据前加上“0,”即可是程序完整显示。(2) 可以看出数据还是极不规范,需要对数据进行换行 需要在数据打印模块中每一个for循环后加cout2e韦男列16賣 阪35娃男序15斯男 列13伊男的13罗男 糸24娶序11三勇 原16小10刘女(3)下面对每组数据的间隔进行处理后面那两条语句也这样做。将语句 coutlisti.score; 改成 cout listi.score;调试后的

10、程序: C:Uer5d e I lD?skto p毛榜 1 擁表bu g 表,exe11 is 10回 SS庶系列数据:16 24 13 35 2 0 37 15 小廝伊娃韦德社兰1Q 11 12 15 i& 1S 20刘兰罗斯丰德 女男勇男男PvRISS fftny IcA v 70 f? nnl724 3E 37i fiiiif凯文罗廝阿伦伊娃杜兰刘兰李揶(4)调试到现在程序已经大概完成,为与结果一样,需要在主函数中, 得到下面程序:再改进一下间距:print(a,10);后加上 coutnext =p1;p2=p1;p1= new(STUDENT);cin p1-stu_ nu mber

11、 p1- n ame p1-sex p1-age;p2-next =NULL;最后一个结点的next成员不指向任何结点在插入时,先根据学号找到新结点的位置,例如要插入到指针变量p指向的结点后,设 q指向新结点,则插入操作:t=p-n ext;p_n ext=q;q_n ext=t;n+;/结点数目增加这样就将该新结点插入到了指定位置,注意考虑要插入的结点可能位于最后的位置。删除时,要考虑待删除结点是否为第一个结点,若为中间结点,设指针变量p1指向的结点为待删除结点,p2指向其前一个结点,则删除p2结点的操作为:p2-n ext=p1- n ext;7. 课程设计心得通过对C+的学习,以及对C+

12、的课程设计,我对C+产生很大的兴趣。课程设计是培养 学生综合运用所学知识,分析和解决实际问题,锻炼实践能力的一个重要过程。当今计算机应用 已经普及到我们生活的方方面面。所以学好计算机知识,学好C+,做好课程设计是非常重要的。我的C+基础并不好。在大一的时候学过一点 c语言,只是简单了解其中的一些函数和算 法。对于编程,我只能望尘莫及。经过这学期 C+的学习,我也进一步加深了对 C+的理解。 课程设计虽然从某种意义上讲很难。但自从拿到题目到完成整个编程,从理论到实践,我学到 很多很多的的东西,同时不仅可以巩固了以前所学过的知识, 而且学到了很多在书本上所没有 学到过的知识。通过这次课程设计使我懂得了实践是检验理论的重要标准,只有理论知识是 远远不够的,只有把所学的理论知识与实践相结合起来,才能真正提高自己的动手能力和独立思考的能力。我在设计过程中也遇到了好多问题。 我在后悔当时没好好听课的的时候, 也开始复习老师 讲过的知识以及上网查资料学习。我及时改正了我的不足之处,对学过的知识更加深刻了。同时,我也学到了一些课外知识。我懂得了:不怕做不到,就怕不去做。只要我们有一种永不放 弃的执着精神,没有什么办到的。最后,感谢老师这学期在C

温馨提示

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

评论

0/150

提交评论