注册 登录
编程论坛 C++教室

2个C++小问题,麻烦帮忙解决下!

依然饭忒稀 发布于 2011-03-18 23:28, 762 次点击
#include<iostream>
using namespace std;
int max(int,int);
int main()
{
int a,b,m;
cin>>a>>b;
m=max(a,b);
  cout<<"The max is"<<m<<endl;
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return z;
}
中 下面的max函数中 最后的返回值 return z 我看书上有的加了()请问这个有影响吗?

#include<iostream>
#include<iomainp>
using namespace std;
int main()
{
int i=5;float x=3.5;char ch='a';
cout<<"i="<<setw(4)<<i<<",x="<<setw(4)<<x<<",ch="<<setw(4)<<ch;
return 0;
}
为什么这个在VC中通不过啊!

d:\vc\msdev98\myprojects\0005\set.cpp(2) : fatal error C1083: Cannot open include file: 'iomainp': No such file or directory 这个是什么意思?

 麻烦回答的朋友一起解决下!万分感谢!
7 回复
#2
十月def2011-03-19 00:12
路径设置不正确吧,我以前也试过这样
#3
lisanhu12011-03-19 03:52
括号什么的应该没有影响吧,return后边是可以加表达式的,是先计算表达式的值才返还的,所以应该不会有影响,书上写上括号也是有道理的,有的函数写的时候为了减少变量的设置,比如你的max函数还可以这么写
int max(int x,int y)
{
    return x>y?x:y;
}
像这里面用了三目运算符,在程序进行编译处理后会形成更加优化的代码,这里没有定义变量z所以起码内存会省点,这种代码总的来说更好一点,不过如果return后面的表达式不加括号的话看着有点别扭,用老师的话说,代码的可读性不强,所以加上括号是一个好的习惯,不过如果说表达式很简单的话没必要加括号的。

还有你说的编译错误的问题,我不太清楚啊,我用的是visual studio2010旗舰版有的时候也出现你说的问题,微软比较缺德,vs里面新建项目后有个文件头,叫"stdafx.h"那个头是不可以删的,要不你什么程序都无法正确编译,不过如果在新建项目的时候有一个选项叫预编译头什么的,你把它前边的对勾点掉好像就好一点。vc6.0好像跟那个很像,应该也是这么回事吧。你还可以找到那个库函数的位置,把它加到你的项目里面去,不过那个够麻烦。

ide我建议你不要用微软的,虽然说由于.net平台的存在vs中集成的类库是最好的,但是要注意一点在vs中的代码在别的编译器中就无法正常编译,别的编译器代码植入vs也有点麻烦(主要就是文件头和预编译的问题)对于c++的初学者要是要一个项目ide 的话我推荐用codeblocks 要是简单ide 的话建议是dev c++ 首先它们都是开源的,而且它们用的编译器是g++编译器,vs的编译器是自己的,比较有个性,如果你在装好了vs的机器中,而且vs的环境变量也配好了的话,那么你装个codeblocks,第一次运行会让你选编译器,可以看到它也是支持vs的编译器的,其它的编译器,只要你的电脑中有装,并且配制了环境变量那么基本都能用,而且以后使用过程中你可以在菜单中设置别的编译器,就是有一点不太好codeblocks是一个英文界面的软件,倒是有汉化包的存在不过我试了十几个汉化包了,翻译的都一塌糊涂,很令人无语,不过要是学习编程的话建议还是不要用中文的ide英文有好多的书籍国内一般没有什么翻译本,所以还是要学好英语的,用个英文的小ide有助于英语的学习。如果你是一个初学者的话建议还是用dev c++它的功能不多,就是一个简单到一定境界的文本编辑器加上一个比较标准的编译器,dev c++的编译器不错,是九成计算机考试的标准编译器,不过文本编辑上不好,没有什么自动补全什么的,不过你可以用个notepad++那个是很不错的文本编辑器,配制下就能自动补全了,一般在windows下我都是用notepad++敲代码然后复制到dev c++编译的。

[ 本帖最后由 lisanhu1 于 2011-3-19 03:54 编辑 ]
#4
rjsp2011-03-19 08:03
iomainp
iomanip
#5
lucky5635912011-03-19 08:46
1.加不加括号无所谓,2.头文件是iomanip,拼写错误
#6
飘逸的妖刀2011-03-19 10:44
#include<iomainp>  --->  #include<iomanip>

#7
我是菜鸟C2011-03-30 23:15
第一个不加括号可以
第二个是iomanip
#8
我的最爱梅2011-04-01 13:49
可以肯定括号影响不大,
iomanip这个需要细心检查哦
1