问题如图所示,要求使用c++面向对象的程序设计和构造函数的方法
看输出的样子,不足5位的情况下要用0补齐。类的实现方式如下:
运行结果:
代码:
#include <iostream>
using namespace std;
class Trans
{
private:
int mNmb;
public:
Trans(int n){mNmb = n;}
void showOctal()
{
int a[10],n=0;
int t = mNmb;
while(t)
{
a[n] = t%8;
n++;
t/=8;
}
for(int i=n;i<5;i++)
cout <<"0"; //不足5位,用0补齐
//输出
for(n--;n>=0;n--)
cout << a[n];
}
};
int main()
{
int n;
cin >> n;
Trans tr(n);
tr.showOctal();
return 0;
}
参考一下
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数(0-32767): ";
cin >> num;
if(num < 0 || num > 32767) {
cout << "输入的整数超出范围!" << endl;
return 0;
}
cout << "输入的整数的八进制表示为:" << oct << num << endl;
return 0;
}
右键源文件,选择添加->新建项
给C++文件起个名称,然后点击添加即可。