使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。 例如:x=13,13的二进制

admin2019-04-18  55

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
    例如:x=13,13的二进制数字为1101,则输出到屏幕的为1101。
    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#include
#include
#include
using namespace std;
void WriteFile(char*str)
{
    ofstream outl;
    outl.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(1 3);
    return 0;
}

选项

答案char str[32]; int i; for(i=30;i>=0;i一一)//计算二进制 { if(x%2)str[i]=’1’; //求余,如果余不为零字符串str第i位为1 el se str[i]=‘0’; //否则为0 x>>=1; if(!x)break; } str[31]=‘\0’; //串加尾符 cout<<&Str[i]<
解析 (1)该程序功能是实现十进制转换成二进制数。十进制到二进制的转换是对十进制的数字进行2的取余运算,余数不为零则取1,否则为0,然后对余数进行循环取余运算,直到余数为0。
(2)从己给部分源程序的main主函数开始入手,核心函数fun(int x)中的x参数为输入的十进制数。
转载请注明原文地址:https://kaotiyun.com/show/paAp777K
0

最新回复(0)