华中科技大学计算机学院C++实验报告 实验五.docx
-
资源ID:18913842
资源大小:19.29KB
全文页数:12页
- 资源格式: DOCX
下载积分:12金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
华中科技大学计算机学院C++实验报告 实验五.docx
华中科技大学计算机学院C+实验报告实验五当前位置:文档视界华中科技大学计算机学院C+实验报告实验五华中科技大学计算机学院C+实验报告实验五一、需求分析1.题目要求整型队列是一种先进后出的存储构造,对其进行的操作通常包括判定队列能否为空、向队列顶添加一个整型元素、出队列等。整型队列类型及其操作函数采用面向对象的C+语言定义,请将完成上述操作的所有函数采用C+编程,然后写一个main函数对队列的所有操作函数进行测试。注意,请用实验三的SATCK组合构成新的类QUEQUE。请讲明假如删掉virtual有什么不同。classQUEUESTACKs1,s2;public:QUEUE(intm);/初始化队列:每个栈最多m个元素QUEUE(constQUEUE/用队列s拷贝初始化队列virtualoperatorint()const;/返回队列的实际元素个数virtualQUEUE&operator>(int/出队列到e,并返回队列virtualQUEUE&operator=(constQUEUE/赋s给队列,并返回被赋值的队列virtualvoidprint()const;/打印队列virtualQUEUE();/销毁队列;2.需求分析采用面向对象的C+语言定义,构建整型队列并对其进行的操作通常包括判定队列能否为空、向队列顶添加一个整型元素、出队列等,再写一个main函数对队列的所有操作函数进行测试。二、系统设计用两个栈实现队列,先判栈S2能否为空,假如为空,对S1进行入栈操作,假如不是空,栈S2数据元素倒入到S1,然后对S1进行入栈操作。出队列时。判定S2能否为空,假如非空S2中的元素出栈,若果为空,把S1的元素倒入到S2,对S2的元素进行出栈操作。三、软件开发使用CodeBlocks进行编写并调试。当前位置:文档视界华中科技大学计算机学院C+实验报告实验五华中科技大学计算机学院C+实验报告实验五5)打印完后队列中实际元素个数如图5所示:图5五、源码和讲明1.文件清单及其功能讲明main.c是源程序文件1.h是头文件2.h是头文件55.exe是可执行文件2.用户使用讲明书使用CodeBlocks进行编写和调试。3.源代码main.c:#include"2.h"intmain()intm;intop;intx,e,e3,e4;cout>m;QUEUEque1(m);QUEUEque2(que1);coutSleep(3000);dosystem("cls");menu();cout>op;switch(op)case1:x=que1;cout>e;que1>e3;cout>e4;if(e4=1)que1.print();elseque2.print();getchar();getchar();break;case6:cout>e5;if(e5=1)que1.QUEUE();elseque2.QUEUE();getchar();getchar();break;default:cout#include#include#includeusingnamespacestd;classSTACKint*constelems;/申请内存用于存放栈的元素constintmax;/栈能存放的最大元素个数intpos;/栈实际已有元素个数,栈空时pos=0;public:STACK(intm);/初始化栈:最多m个元素STACK(constSTACK/用栈s拷贝初始化栈virtualintsize()const/返回栈的最大元素个数maxreturnmax;/返回栈的最大元素个数maxvirtualoperatorint()const/返回栈的实际元素个数posreturnpos;/返回栈的实际元素个数posvirtualintoperator(intx)const/取下标x处的栈元素returnelemsx;virtualSTACK&operator=max)cout>(int&e)/出栈到e,并返回栈if(pos=0)cout当前位置:文档视界华中科技大学计算机学院C+实验报告实验五华中科技大学计算机学院C+实验报告实验五public:QUEUE(intm);/初始化队列:每个栈最多m个元素QUEUE(constQUEUE/用队列s拷贝初始化队列virtualoperatorint()const;/返回队列的实际元素个数virtualQUEUE&operator>(int/出队列到e,并返回队列virtualQUEUE&operator=(constQUEUE/赋s给队列,并返回被赋值的队列virtualvoidprint()const;/打印队列virtualQUEUE();/销毁队列;QUEUE:QUEUE(intm):s1(m),s2(m)QUEUE:operatorint()constintx=s1;intx2=s2;return(x+x2);QUEUE:QUEUE(constQUEUE&s):s1(s.s1),s2(s.s2)QUEUE&QUEUE:operator=1)s2>>p;s1s1>(int&e)intx=s1;intx2=s2;if(x2=0)intp;while(x>=1)s1>>p;s2>e;return(*this);elses2>>e;return(*this);QUEUE&QUEUE:operator=(constQUEUE&s)this->s1=s.s1;this->s2=s.s2;return(*this);voidQUEUE:print()consts1.print();s2.print();当前位置:文档视界华中科技大学计算机学院C+实验报告实验五华中科技大学计算机学院C+实验报告实验五