当前位置:编程学习 > C/C++ >>

帮忙写一篇简单的c++程序

内容不限,多简单的都可以,要求:用到类,对象,构造函数,构析函数,继承,输入输出,命名空间。字数大约4 张纸吧,谢谢。
答案:#include "stdafx.h"
#include <iostream.h>
#include <stdlib.h>
const int MaxSize = 10;
// 定义问题要求的元素数目的最大值

class SeqList
{
private:
float data[MaxSize];
// float类型的有MaxSize个元素的数组

int size;
// 当前数据元素个数
public:
//定义构造函数和析构函数
SeqList(void)

// 构造函数
{size = 0;}
~SeqList(void)

// 析构函数
{}

//定义的成员函数
void Insert(const float& item, const int pos);//在pos位置插入元素item
float Delete(const int pos); // 删除pos位置的元素并返回
int ListSize(void) const // 返回表元素的个数size

{return size;}
// 内联函数方法定义函数体
int ListEmpty(void) const; // 检测表是否为空
int Find(float& item) const; // 定位元素item的位置
float GetData(int pos) const; // 返回pos位置的元素
void Clearlist(void); // 清空表
};
void SeqList::Insert(const float& item, int pos)// 在pos位置插入元素item
{

int i;

if (size == MaxSize)
{
cerr << "顺序表已满无法插入!" << endl;

exit(1);
}

if(pos < 0 || pos > size) // 注:当pos = size时表示插入在最后
{

cerr << "参数pos越界出错!" << endl;

exit(1);
}
//从后向前把前一个元素迁移到后一个元素位置直到存储位置pos为止

for(i = size; i > pos; i--) data[i] = data[i-1];

data[pos] = item; // 在pos位置插入item

size++;
// 当前数据元素个数size加1
}
float SeqList::Delete(const int pos)// 删除位置pos的元素并返回
{

if (size <= 0)
{


cerr << "顺序表已空无元素可删!" << endl;


exit(1);
}

if(pos < 0 || pos > size - 1) // 删除元素序号pos必须在0至size-1之间
{


cerr<<"参数pos越界出错!"<<endl;


exit(1);
}

float temp = data[pos];

//从pos至size-2逐个元素左移

for(int i=pos;i<size-1;i++)data[i]=data[i+1];

size--;
// 当前数据元素个数size减1

return temp;
}

int SeqList::ListEmpty(void) const// 判顺序表空否,空返回1;不空返回0
{

if (size <= 0) return 1;

else return 0;
}
//定位元素item的位置。返回值为item在顺序表中的位置;返回值为-1表示不存在
int SeqList::Find(float& item) const
{

if(ListEmpty( )) return -1;

int i=0;

while(i < size && item != data[i]) i++; // 寻找item
if(i < size) return i;
else return -1;
}

float SeqList::GetData(int pos) const// 取顺序表中pos位置上的元素
{

if(pos < 0 || pos > size -1)
// 取的元素序号pos必须在0至size-1之间
{

cerr << "参数pos越界出错!" << endl;

exit(1);


}

return data[pos];
}
void SeqList::Clearlist(void)
// 清空顺序表
{
size = 0; // 当前数据元素个数size置为初始值
}

void main()
{
SeqList list; // 定义类SeqList的对象list
float a = 5.5;

int i;

for(i = 0; i < 5; i++)
// 顺序插入5个元素
{
list.Insert(a, i);

a = a -1;
}
list.Delete(0);
// 删除第0个数据元素

for(i = 0; i < 4; i++) // 依次取4个元素并在屏幕显示
cout << list.GetData(i) << "
" << endl;
}

Is it OK?

上一个:C++中派生类来求面积
下一个:我想学c++如果学好,可以赚钱吗?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,