首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。 例如:x=13,13的二进制
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。 例如:x=13,13的二进制
admin
2018-10-23
83
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
例如:x=13,13的二进制数字为1101,则输出到屏幕的为1101。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
1 #include<iostream>
2 #include<fstream>
3 #include<cmath>
4 using namespace std;
5 void WriteFile(char* str)
6 {
7 Ofstream out1;
8 out1.open(’’modi2.txt’’,ios_base::binary|ios_base::app);
9 for(int i=0;str
!=0;i++)
10 out1.put(str
);
11 out1.close();
12 }
13 void fun(int x)
14 {
15
16 }
17 void ClearFile()
18 {
19 ofstream out1;
20 out1.open(’’modi2.txt’’);
21 out1.close();
22 }
23 int main()
24 {
25 ClearFile();
26 fun(13);
27 return 0;
28 }
选项
答案
1 char str[32]; 2 int i; 3 for(i=30;i>=0; i--)//计算二进制 4 { 5 if(x%2)str[i]=’1’; //求余,如果余不为零字符串str第i位为1 6 else str[i]=’0’; //否则为0 7 x>>=1; 8 if(!x)break; 9 } 10 str[31]=’\0’; //串加尾符 11 tout<<&str[i]<<end1; 12 WriteFile(&str[i]);
解析
(1)该程序功能是实现十进制转换成二进制数。十进制到二进制的转换是对十进制的数字进行2的取余运算,余数不为零则取1,否则为0,然后对余数进行循环取余运算,直到余数为0。
(2)从已给部分源程序的main主函数开始入手,核心函数fun(int x)中的x参数为输入的十进制数。
(4)定义存放二进制的字符串str。
(5)然后利用for循环对十进制数字x进行取余运算,直到余数为0结束。
(6)如果取余结果为0,则二进制字符串这个字符位的值为0,否则为1。
(7)最后调用WriteFile将运算结果存入文件。
转载请注明原文地址:https://kaotiyun.com/show/VwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于语句cout<<setfilll(’*’)<<setw(10)<<1<<setill(’*’)<<setw(2)<<2;的输出结果是()。
三种基本结构中,能简化大量程序代码行的是()。
已知下列程序的输出结果是42,请将横线处缺失的部分补充完整。#include<iostream>usingnamespacestd;classFoo{intvalue;p
在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义:classBase{protected:voidfun(){}};classD
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:Base(int0{x=i;}~B
虚基类说明格式如下:slass派生类名【】<继承方式><基类名>。
若类A和类B的定义如下:#include<malloc.h>classA{inti,j;public:intgeti(){returni;}};classB:
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>=b)?a:b;}下列对函数模板Max()的调用中错误的是()。
下列数据结构中,属于非线性的是()。
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
随机试题
严重肝功能不全者宜选择
A.瓣膜穿孔B.瓣膜增厚、粘连、卷曲C.室间隔缺损D.瓣膜闭锁缘粟粒状赘生物E.在已有病变的心瓣膜上形成菜花状、易脱落的赘生物先天性心脏病
下列哪几项检查有助于糖尿病的诊断
甲女委托乙公司为其拍摄一套艺术照。不久,甲女发现丙网站有其多张半裸照片,受到众人嘲讽和指责。经查,乙公司未经甲女同意将其照片上传到公司网站做宣传,丁男下载后将甲女头部移植至他人半裸照片,上传到丙网站。下列哪些说法是正确的?()
在用钼酸铵分光光度法测定水中的总磷时,首先要对水样进行消解处理,使各种形态的磷转变为()。
矫正幼儿习惯性阴部摩擦的最佳方法是()
—Howis______goingwithyou?—Soso.
教唆不满18周岁的人实施违反治安管理行为的,应加重处罚。()
使用sniffer在网络设备的一个端口上能够捕捉到与之属于同VLAN的不同端口的所有通信流量,该种设备是()。
在计算机网络中,英文缩写LAN的中文名是__________。
最新回复
(
0
)