首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。 例如:x=13,13的二进制数字为1
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。 例如:x=13,13的二进制数字为1
admin
2015-11-25
41
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
例如:x=13,13的二进制数字为1101,则输出到屏幕的为1101。
注意:不要改动main()数,不得增行或删行,也不得更改程序的结构。
#include<iostream>
#iaclude<fstream>
#include<cmath>
using narnespace std;
void WriteFile(char* str)
{
ofstream out1;
out1.open("modi2.txt",ios_base::binary|ios_base::app);
for(int i=0;str
!=0;i++)
out1.put(str
);
out1.close();
}
void fun(int x)
{
}
void ClearFile()
{
ofstream out1;
out1.open("modi2.txt");
out1.close();
}
int main()
{
ClearFile();
fun(13);
return 0;
}
选项
答案
char str[32]; int i: for(i=30;>=0;i--)//计算二进制 { if(x%2)str[i]=’1’; //求余,如果余不为零字符串str第i位为1 else str[i]=’0’; //否则为0 x>>=1; if(!x)break; } str[31]=’\0’; //串加尾符 cout<<&str[i]<<endl; WriteFile(&str[i]);
解析
【审题分析】
(1)该程序功能是实现十进制转换成二进制数。十进制到二进制的转换是对十进制的数字进行2的取余运算,余数不为零则取1,否则为0,然后对余数进行循环取余运算,直到余数为0。
(2)从已给部分源程序的main主函数开始入手,核心函数fun(int x)中的x参数为输入的十进制数。
【解题思路】
(1)定义存放二进制的字符串str。
(2)然后利用for循环对十进制数字x进行取余运算,直到余数为0结束。
(3)如果取余结果为0,则二进制字符串这个字符位的值为0,否则为1。
(4)最后调用WriteFile将运算结果存入文件。
转载请注明原文地址:https://www.kaotiyun.com/show/nYNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有关构造函数的说法不正确的是()。
以下程序的执行结果是______。#include<iostream.h>int&max(int&x,int&y){return(x>y?x:y);}voidmain(){int
以下程序的输出是()。structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50
在C++语言中,main函数默认返回一个()类型的值。
假定MyClass为一个类,则执行MyClassa[3],*p[2];语句时,自动调用该类构造函数()次。
已知程序的结果为123,请填空。#include<iostream.h>template<classT>classA{public:Tx,y,
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;
C++语言中用于定义类的关键字是
假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数首部形式为【】。
有以下程序:#include<iostream>usingnamespacestd;classsample{private:intx;public:voidsetx(i
随机试题
A.神经元细胞B.肠上皮细胞C.T淋巴细胞D.甲状腺腺泡细胞属于稳定细胞的是
A.两口角线间的距离B.下颌尖牙远中面到磨牙后垫前缘的距离C.下颌磨牙后垫中1/3的水平位置D.上唇线至平面的距离E.下唇线至平面的距离全口义齿选择后牙大小的标准,通常后牙近远中总长度相当于
下列关于“他汀类”正确的是
某工程因施工需要,需取得出入施工场地的临时道路的通行权,根据《标准施工招标文件》,该通行权应当由()。
在企业财产保险合同中,已经推销或未列入账面的财产保险金额( )。
税务师李平在代理某房地产企业的土地增值税纳税申报业务中,遇到以下问题,其中企业的下列处理正确的是()。
公文首页必须显示正文。正文一般用3号仿宋体字,编排于主送机关名称下一行,每个自然段左空二字,回行顶格。()
运算器的主要功能是
目前常用的3.5英寸软盘角上有一带黑滑块的小方口,当小方口被关闭时,作用是
【B1】【B11】
最新回复
(
0
)