您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页c++

c++

来源:爱站旅游
河北联合大学 2011-2012第2学期

《软件设计基础-C++》

课程设计报告

设计名称: 设计一个处理单向链表的程序:链表的排序 姓 名: 李雪雨 学 号:

201005100206

专业班级: 10石油二班 学 院: 矿业工程学院

设计时间: 2012-5-31 设计地点: 机房

指导教师评语: 成绩: 指导教师签字: 年 月 日 《软件设计基础-C++》课程设计报告 第 3 页,共 17 页

目 录

1.课程设计目的 ···································································································· 2.课程设计任务与要求························································································· 3.课程设计说明书 ································································································ 4.课程设计成果 ···································································································· 5.程序调试过程 ···································································································· 6.设计问题的不足和改进方案 ············································································· 7.课程设计心得 ···································································································· 8.参考文献 ···········································································································

《软件设计基础-C++》课程设计报告 第 4 页,共 17 页

1.课程设计目的 《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。 2.课程设计任务与要求: 要求: 本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,完成所布置的任务。 要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、流程图要清楚 5、课题完成后必须按要求提交课程设计报告 任务: 将自己选择题目的任务要求简单填写在此处。 (1)要求用C++的思想来完成程序的设计。 (2)各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件。 (3)在基本要求达到后,进行创新设计,例如:将两个非递减的链表合并成一个新的非递减的链表 《软件设计基础-C++》课程设计报告 第 5 页,共 17 页 3.课程设计说明书 ⑴概要设计 主要写模块说明,模块结构图,系统流程图(例N-S流程图)(五号,宋体) 模块说明: 在我设计的程序中一共包括了六个模块,分别是:新增模块、查找模块、修改模块、完全打印模块、删除模块、退出系统模块。这六个模块中新增、查找和修改都是分开作为子函数的,另外三个则是作为switch语句中的一部分,通过switch语句,把六大模块联系了起来,同时,为了实现多次使用这六大模块,就在switch语句外加了while循环。 我的程序模块说明: 在我设计的程序中一共可以分成三个模块,分别是数据打印模块,冒泡排序模块,主函数模块。其中,数据打印模块和冒泡排序模块都采用了for循环。并且这两个模块都是 模块结构图: 链表的排序 打印数据 主函数排序后输出 ⑵详细设计 总体流程图: 各功能模块流程图 头文件 冒泡排序 建立函数 冒泡排序 打印数据 主函数进行排序,输出。 (1) 打印数据的流程图:(以下是应用的for循环) 《软件设计基础-C++》课程设计报告 第 6 页,共 17 页 cout<<\"\\n\" 结束循环,cout<<\" \"<n? i=1 cout<<\"\\n\" 结束循环,cout<<\" \"<n? i=1 《软件设计基础-C++》课程设计报告 第 7 页,共 17 页 (接上页) (2)泡沫排序的流程图 cout<<\"\\n\" 结束循环,cout<<\" \"<n? i=1 《软件设计基础-C++》课程设计报告 第 8 页,共 17 页 注:上述数组d为r[j].score (3)主函数流程图 得到排序后的成员信息 进行冒泡排序 打印出成员数据 确定成员信息 主函数 定义成员个数 《软件设计基础-C++》课程设计报告 第 9 页,共 17 页 4.课程设计成果 程序源代码,运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页) (1)链表排序的源代码 #include #include // 头文件 #define N 100 typedef int keytype; typedef char xingming[5]; typedef char xingbie[5]; typedef struct num // 建立 { keytype score; xingming name; xingbie sex; }numpx[N]; struct num sqlist[N+1]; void px(numpx r,int n) // 冒泡排序 { int i,j; for(i=1;ir[j+1].score) { r[0]=r[j]; r[j]=r[j+1]; r[j+1]=r[0]; } } } } 《软件设计基础-C++》课程设计报告 第 10 页,共 17 页 void print(numpx list,int n) // 打印数据 { int i; for(i=1;i<=n;i++) { cout<<\" \"<next =p1; p2=p1; p1=new(STUDENT); cin>>p1->stu_number >>p1->name >>p1->sex >>p1->age; p2->next =NULL; //最后一个结点的next成员不指向任何结点 head=p1; //将链表中第一个新建结点作为表头 在插入时,先根据学号找到新结点的位置,例如要插入到指针变量p指向的结点后,设q指向新结点,则插入操作: t=p->next; p->next=q; q->next=t; n++;//结点数目增加 这样就将该新结点插入到了指定位置,注意考虑要插入的结点可能位于最后的位置。 删除时,要考虑待删除结点是否为第一个结点,若为中间结点,设指针变量p1指向的结点为待删除结点,p2指向其前一个结点,则删除p2结点的操作为: p2->next=p1->next; 《软件设计基础-C++》课程设计报告 第 16 页,共 17 页 7.课程设计心得 通过对c++的学习,以及对c++的课程设计,我对c++产生很大的兴趣。课程设计是培养学生综合运用所学知识,分析和解决实际问题,锻炼实践能力的一个重要过程。当今计算机应用已经普及到我们生活的方方面面。所以学好计算机知识,学好c++,做好课程设计是非常重要的。 我的c++基础并不好。在大一的时候学过一点c语言,只是简单了解其中的一些函数和算法。对于编程,我只能望尘莫及。经过这学期c++的学习,我也进一步加深了对c++的理解。课程设计虽然从某种意义上讲很难。但自从拿到题目到完成整个编程,从理论到实践,我学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。。通过这次课程设计使我懂得了实践是检验理论的重要标准,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正提高自己的动手能力和思考的能力。 我在设计过程中也遇到了好多问题。我在后悔当时没好好听课的的时候,也开始复习老师讲过的知识以及上网查资料学习。我及时改正了我的不足之处,对学过的知识更加深刻了。同时,我也学到了一些课外知识。我懂得了:不怕做不到,就怕不去做。只要我们有一种永不放弃的执着精神,没有什么办到的。 最后,感谢老师这学期在c++上为我们所做的一切。同时,对给过我帮助的所有同学表示忠心的感谢! 《软件设计基础-C++》课程设计报告 第 17 页,共 17 页 8.参考文献 (1)《C++程序设计》 谭浩强编著 清华大学出版社,2004年版 (2)《C++程序设计教程》 钱能编著 清华大学出版社,1999年版 (3)《从新手到高手:C++全方位学习》 范磊编著 科学出版社 (4)《C++程序设计》 曾辉主编 北京邮电大学出版社 (5)《C++程序设计》 李宁主编 广播电视大学出版社

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务