首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中定义了Septinary类(七进制类),来表示一个七进制的数及其相关操作。和十进制的数“逢十进一”类似,七进制的数定义为“逢七进一”。 这里对Septinary类的数据成员做一下说明: c
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中定义了Septinary类(七进制类),来表示一个七进制的数及其相关操作。和十进制的数“逢十进一”类似,七进制的数定义为“逢七进一”。 这里对Septinary类的数据成员做一下说明: c
admin
2019-03-05
49
问题
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中定义了Septinary类(七进制类),来表示一个七进制的数及其相关操作。和十进制的数“逢十进一”类似,七进制的数定义为“逢七进一”。
这里对Septinary类的数据成员做一下说明:
char*data;//存放七进制数的每一位数,data[0]为最高位。这里假设七进制的位数不超过99位。createSeptinary函数由构造函数调用,用于将作为参数传入的十进制数转化为七进制数,并将七进制数的每一位存入data数组中。请编写createSeptinary函数使程序可以正确运行。
注意:Septinary类中提供了numberToChar成员函数,将一个[0,6]之间的数转化为对应的ASCII码值。在main函数中给出了一组测试数据,此情况下程序的输出应该是:
243
注意:只需在//**********333**********//**********
666**********之间填入所编写的若干语句,不要改动程序中的其他内容。
#include"Septinary.h"
Septinary::Septinary(intnum){
this->data=newchar[100];
this->createSeptinary(num);
}
Septinary::~Septinary(){
if(data!=NULL)
delete[]data;
}
voidSeptinary::createSeptinary(int
num){
//**********333**********
//**********666**********
}
charSeptinary::numberToChar(int
num){
if(num<0||num>7){
cout<<"errornumber"<<
end1;
return0;
}
return(char)(num+(char)’0’);
}
voidSeptinary::show(){
cout<
}
intmain(){
SeptinaryS(129);
s.show();
writeToFile("c:\\test\\");
return0;
}
//proj3\Septinary.h
#include
#include
usingnamespacestd;
classSeptinary{//七进制类
private:
char*data;
public:
Septinary(intnum);
~Septinary();
voidcreateSeptinary(intnum);
charnumberToChar(intnum);
voidshow();
};
voidwriteToFile(constchar*path);
选项
答案
intindex=0; chartemp[i00]; while(num) { temp[index++]=numberToChar (num%7); num/=7; } data[index]=-\\’0’; inti=0; while(index) { data[--index]=temp[i++]; }
解析
主要考查考生对对象成员数据处理的掌握。函数createSeptinary的功能,是将参数十进制整数num转化为七进制数,并将七进制数的每一位存入data数组中。由于转换得到的数是逆序的,这里需要临时数组temp,用来暂时存放逆序的七进制数。首先nnm对7求余,通过成员函数numberToChar将余数转换为char类型,保存在temp中,num除以7后重新赋值为除数,继续执行求余操作,直到num为0,此时七进制数已经逆序保存在temp中,最后将temp翻转保存到data中。由于在成员函数show中,可以直接将数组data当字符串输出,所以需要在data末尾添加‘\0’,来标识字符串结束。
转载请注明原文地址:https://kaotiyun.com/show/dvAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#include<iostream>usingnamespacestd;inta;intfun();intmain(){externinta;intb;a=100;b=fun();
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指()。
在最坏情况下,冒泡排序所需要的比较次数为______。
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)_____;
C++语言程序的注释可以出现在程序中的任何地方,一个注释以______作为开始和结束的标记。
有如下定义:ClassMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是______。
一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是______。
以下程序的运行结果是()。#include<iostream.h>voidsub(intx,inty,int*z){*Z=y-x;}voidmain(){inta,b,c;sub(10,5,
下列for语句的循环次数为_____。for(inta=0,b=1;b&&a<5;a++);
人员基本信息一般包括身份证号、姓名、性别、年龄等。其中可以作为主关键字的是______。
随机试题
交流电在1s内重复的次数称为频率,单位是赫兹(用字母“Hz”表示)。()
Therevolutionaryfighterwouldratherdiewithhisheadhighthan______withhiskneesbent.
A.肠内营养B.完全肠外营养C.经口膳食D.静脉营养E.鼻饲营养全喉切除术后一般采用
A.成纤维细胞B.成牙本质细胞C.组织细胞D.未分化的间充质细胞E.淋巴细胞细胞比成纤维细胞小,但形态相似,在受刺激时,它可分化成牙髓中任何一种类型的细胞的是
下列除哪项外,常可出现血沉明显增快
能直接形成房地产市场上的增量供给的投资方式是()。
如果电路只有电阻,短路全电流最大有效值ich为超瞬变短路电流的()。
饮酒后驾驶机动车的,处暂扣一个月以上三个月以下机动车驾驶证,并处()罚款。
接上题。如果该客户一年之后卖出该股票,那么卖价约为()
以下叙述中正确的是()。
最新回复
(
0
)