帮忙写一篇简单的c++程序
内容不限,多简单的都可以,要求:用到类,对象,构造函数,构析函数,继承,输入输出,命名空间。字数大约4 张纸吧,谢谢。
内容不限,多简单的都可以,要求:用到类,对象,构造函数,构析函数,继承,输入输出,命名空间。字数大约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++如果学好,可以赚钱吗?