《华中科技大学计算机学院C++实验报告 实验五.docx》由会员分享,可在线阅读,更多相关《华中科技大学计算机学院C++实验报告 实验五.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华中科技大学计算机学院C+实验报告实验五当前位置:文档视界华中科技大学计算机学院C+实验报告实验五华中科技大学计算机学院C+实验报告实验五一、需求分析1.题目要求整型队列是一种先进后出的存储构造,对其进行的操作通常包括判定队列能否为空、向队列顶添加一个整型元素、出队列等。整型队列类型及其操作函数采用面向对象的C+语言定义,请将完成上述操作的所有函数采用C+编程,然后写一个main函数对队列的所有操作函数进行测试。注意,请用实验三的SATCK组合构成新的类QUEQUE。请讲明假如删掉virtual有什么不同。classQUEUESTACKs1,s2;public:QUEUE(intm);/初始化
2、队列:每个栈最多m个元素QUEUE(constQUEUE/用队列s拷贝初始化队列virtualoperatorint()const;/返回队列的实际元素个数virtualQUEUE&operator(int/出队列到e,并返回队列virtualQUEUE&operator=(constQUEUE/赋s给队列,并返回被赋值的队列virtualvoidprint()const;/打印队列virtualQUEUE();/销毁队列;2.需求分析采用面向对象的C+语言定义,构建整型队列并对其进行的操作通常包括判定队列能否为空、向队列顶添加一个整型元素、出队列等,再写一个main函数对队列的所有操作函数进
3、行测试。二、系统设计用两个栈实现队列,先判栈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.用户使用讲明书使用Co
4、deBlocks进行编写和调试。3.源代码main.c:#include2.hintmain()intm;intop;intx,e,e3,e4;coutm;QUEUEque1(m);QUEUEque2(que1);coutSleep(3000);dosystem(cls);menu();coutop;switch(op)case1:x=que1;coute;que1e3;coute4;if(e4=1)que1.print();elseque2.print();getchar();getchar();break;case6:coute5;if(e5=1)que1.QUEUE();elseque2
5、.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;/返回栈的最大元素个数maxvirtua
6、loperatorint()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(
7、)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)s2p;s1s1(int&e)intx=s1;intx2=s2;if(x2=0)intp;while(x=1)s1p;s2e;return(*this);elses2e;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+实验报告实验五
限制150内