读书人

.net2005的一个初级有关问题

发布时间: 2012-03-06 20:47:55 作者: rapoo

.net2005的一个初级问题
#include <iostream>
using namespace std;

int main()
{
int x=30,y=300,z=1024;
//按照十进制输出
std::cout < <x < < ' ' < <y < < ' ' < <z < <endl;
//按照八进制输出
std::cout.setf(ios::oct);
std::cout < <x < < ' ' < <y < < ' ' < <z < <endl;
//取消八进制输出设置,恢复十进制输出
cout.unsetf(ios::oct);
//设置为十六进制输出
cout.setf(ios::hex);
cout < <x < < ' ' < <y < < ' ' < <z < <endl;
//设置基指示符输出和数值中的字母大学输出
cout.setf(ios::showbase|ios::uppercase);
cout < <x < < ' ' < <y < < ' ' < <z < <endl;
//取消十六进制输出设置,恢复十进制输出
cout.unsetf(ios::hex);
cout < <x < < ' ' < <y < < ' ' < <z < <endl;
int a;
cin> > a;
return 0;
}

代码如下,但是编译的时候,总是按照十进制输出,但是在.net2002下编译正常,不知道这个问题怎么解决?
对了原来的代码有两行不一样如下:
#include <iostream.h>
下面的using namespace std;是我自己加上的,否则不能编译,麻烦各位大侠帮忙看一下。


[解决办法]
标准里面没有iostream.h的吧...
[解决办法]
根据ls的建议是可以的,要先unset掉十进制的,才能set新的
或者像这样,直接在cout之后加上,也是可以的

#include <iostream>
using namespace std;

int main()
{
int x=30,y=300,z=1024;
//按照十进制输出
cout < < "按照10进制输出 " < <endl;
std::cout < <x < < ' ' < <y < < ' ' < <z < <endl;
//按照八进制输出
cout < < "按照8进制输出 " < <endl;
std::cout < <oct < <x < < ' ' < <y < < ' ' < <z < <endl;
//设置为十六进制输出
cout < < "按照16进制输出 " < <endl;
cout < <hex < <x < < ' ' < <y < < ' ' < <z < <endl;
//设置基指示符输出和数值中的字母大学输出
cout < < "设置基指示符输出和数值中的字母大学输出 " < <endl;
cout.setf(ios::showbase|ios::uppercase);
cout < <x < < ' ' < <y < < ' ' < <z < <endl;
//取消十六进制输出设置,恢复十进制输出
cout < < "按照10进制输出 " < <endl;
cout < <dec < <x < < ' ' < <y < < ' ' < <z < <endl;
int a;
cin> > a;
return 0;
}

读书人网 >C++

热点推荐