欢迎来到天天文库
浏览记录
ID:48313149
大小:175.01 KB
页数:11页
时间:2019-11-05
《华中科技大学计算机学院C++实验报告 实验五》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、面向对象程序设计实验报告课程实验报告课程名称:面向对象程序设计实验名称:面向对象的整型队列编程院系:计算机科学与技术专业班级:CS1209班学号:姓名:指导教师:李春花2015年01月22日-10-面向对象程序设计实验报告一、需求分析1.题目要求整型队列是一种先进后出的存储结构,对其进行的操作通常包括判断队列是否为空、向队列顶添加一个整型元素、出队列等。整型队列类型及其操作函数采用面向对象的C++语言定义,请将完成上述操作的所有函数采用C++编程,然后写一个main函数对队列的所有操作函数进行测试。注意,请用实验三的SATCK组合形成新的
2、类QUEQUE。请说明如果删掉virtual有什么不同。classQUEUE{STACKs1,s2;public:QUEUE(intm);//初始化队列:每个栈最多m个元素QUEUE(constQUEUE&s);//用队列s拷贝初始化队列virtualoperatorint()const;//返回队列的实际元素个数virtualQUEUE&operator<<(inte);//将e入队列,并返回队列virtualQUEUE&operator>>(int&e);//出队列到e,并返回队列virtualQUEUE&operator=(cons
3、tQUEUE&s);//赋s给队列,并返回被赋值的队列virtualvoidprint()const;//打印队列virtual~QUEUE();//销毁队列};2.需求分析采用面向对象的C++语言定义,构建整型队列并对其进行的操作通常包括判断队列是否为空、向队列顶添加一个整型元素、出队列等,再写一个main函数对队列的所有操作函数进行测试。二、系统设计用两个栈实现队列,先判栈S2是否为空,如果为空,对S1进行入栈操作,如果不是空,栈S2数据元素倒入到S1,然后对S1进行入栈操作。出队列时。判断S2是否为空,如果非空S2中的元素出栈,若果
4、为空,把S1的元素倒入到S2,对S2的元素进行出栈操作。三、软件开发使用CodeBlocks进行编写并调试。-10-面向对象程序设计实验报告一、软件测试1)总界面如图1所示:图12)进行入队列操作,如图2所示:图23)打印队列如图3所示:图34)进行出队列操作,如图4所示:图4-10-面向对象程序设计实验报告5)打印完后队列中实际元素个数如图5所示:图5一、源码和说明1.文件清单及其功能说明main.c是源程序文件1.h是头文件2.h是头文件55.exe是可执行文件2.用户使用说明书使用CodeBlocks进行编写和调试。3.源代码mai
5、n.c:#include"2.h"intmain(){intm;intop;intx,e,e3,e4;cout<<"请输入队列的最大容量m:";cin>>m;QUEUEque1(m);QUEUEque2(que1);cout<<"初始化队列:最多m个元素完成用队列s拷贝初始化队列完成";-10-面向对象程序设计实验报告Sleep(3000);do{system("cls");menu();cout<<"请输入序号:";cin>>op;switch(op){case1:x=que1;cout<<"实际元素为:"<6、n";getchar();getchar();break;case2:cout<<"将e入队列,并返回队列:";cin>>e;que1<>e3;cout<<"出队列到e,并返回队列"<>e4;if(e4==1){que1.print();}-10-面向7、对象程序设计实验报告elseque2.print();getchar();getchar();break;case6:cout<<"请输入想销毁的队列1or2";inte5;cin>>e5;if(e5==1)que1.~QUEUE();elseque2.~QUEUE();getchar();getchar();break;default:cout<<"输入有误请重新输入:";break;}}while(op);cout<<"tt******谢谢使用!!!******"<8、tream>#include#include#includeusingnamespacestd;classSTACK{int*con
6、n";getchar();getchar();break;case2:cout<<"将e入队列,并返回队列:";cin>>e;que1<>e3;cout<<"出队列到e,并返回队列"<>e4;if(e4==1){que1.print();}-10-面向
7、对象程序设计实验报告elseque2.print();getchar();getchar();break;case6:cout<<"请输入想销毁的队列1or2";inte5;cin>>e5;if(e5==1)que1.~QUEUE();elseque2.~QUEUE();getchar();getchar();break;default:cout<<"输入有误请重新输入:";break;}}while(op);cout<<"tt******谢谢使用!!!******"<8、tream>#include#include#includeusingnamespacestd;classSTACK{int*con
8、tream>#include#include#includeusingnamespacestd;classSTACK{int*con
此文档下载收益归作者所有