好文档 - 专业文书写作范文服务资料分享网站

面向对象程序设计课程实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

return NULL; else {

if((p-〉pos)==0) printf(\栈为空\\n”); else {

e=p->elems[(p—>pos)—1]; (p->pos)-—; return p; } } }

STACK *const assign(STACK*const p, const STACK&s) //赋s给p指得栈,并返回p

if(p==NULL || &s==NULL) {

return NULL; } else {

free(p->elems); //free(p);

//STACK *p = (STACK *)malloc(sizeof(STACK)); initSTACK(p,s); return p; } }

void print(const STACK*const p) ??//打印p指向得栈 {

int i;

if(p == NULL) {

return;

else if(p->pos == 0) {

printf(”栈为空\\n\ } else {

for(i=0;i〈(p->pos);i++) {

printf("%d \>elems[i]); }

printf(\\n”); } }

void destroySTACK(STACK*const p)?//销毁p指向得栈 {

free(p-〉elems); free(p);

printf("栈已销毁\\n"); }

实验二.面向对象得整型栈编程

1。需求分析

1、1题目要求

整型栈就是一种先进后出得存储结构,对其进行得操作通常包括判断栈就是否为空、向栈顶添加一个整型元素、出栈等。整型栈类型及其操作函数采用面向对象得C++语言定义,请将完成上述操作得所有函数采用C++编程, 然后写一个main函数对栈得所有操作函数进行测试。

class STACK{

int *const elems;?//申请内存用于存放栈得元素 const int max;?//栈能存放得最大元素个数 int pos;? ?//栈实际已有元素个数,栈空时pos=0; public:

STACK(int m);? //初始化栈:最多m个元素 STACK(const STACK&s); //用栈s拷贝初始化栈 int size ( ) const;??//返回栈得最大元素个数max int howMany ( ) const;?//返回栈得实际元素个数pos int getelem (int x) const;?//取下标x处得栈元素 STACK& push(int e); //将e入栈,并返回栈 STACK& pop(int &e); //出栈到e,并返回栈

STACK& assign(const STACK&s); //赋s给栈,并返回被赋值

得栈

void print( ) const;??//打印栈 ~STACK( ); };

//销毁栈

1、2需求分析

采用面向对象得C++语言定义整型栈,对其进行得操作通常包括判断栈就是否为空、向栈顶添加一个整型元素、出栈等。

2、系统设计

2、1概要设计

首先需要定义一个类来实现栈,然后依次实现栈得各个功能,在主函数中给定一个栈然后,然后通过函数调用实现栈得功能、

2、2详细设计

STACK(int m) 功能:初始化栈:最多m个元素 返回值:无

STACK(const STACK&s) 功能:用栈s拷贝初始化栈 返回值:无

int size ( ) const 功能:返回栈得最大元素个数max 返回值:最大元素个数max int howMany ( ) const 功能:返回栈得实际元素个数pos 返回值:元素数目pos

int getelem (int x) const 功能:取下标x处得栈元素 返回值:下标为x得元素 STACK& push(int e) 功能:将e入栈 返回值:栈得引用 STACK& pop(int &e) 功能:出栈到e,并返回栈 返回值:栈得引用

STACK& assign(const STACK&s) 功能:使用栈s给栈p赋值 返回值:栈得引用

void print( ) const 功能:打印栈 返回值:无

~STACK( ) 功能:销毁栈 返回值:无

3.软件开发

在Codeblocks编译环境下,使用C++语言编写。

4、软件测试

测试结果见图2.1

图2、1

5.特点与不足

5、1技术特点

完成了初定目标,无其她特点。

5。2不足与改进得建议

人机交互需要进一步完善。

6、过程与体会

6。1遇到得主要问题与解决方法

由于第一次使用c++面向对象编写程序,开始不明白对象得生成及使用、在与同学老师得沟通与交流中,慢慢学会了编程得方法、

面向对象程序设计课程实验报告

returnNULL;else{if((p-〉pos)==0)printf(\栈为空\\n”);else{e=p->elems[(p—>pos)—1];(p->pos)-—;return
推荐度:
点击下载文档文档为doc格式
5owk00aywf00kc5204u903ypi6bk8900j58
领取福利

微信扫码领取福利

微信扫码分享