找回密码
 注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

扫一扫,访问微社区

快捷导航
事务所专题-柯南20周年纪念事件簿
搜索
查看: 665|回复: 6
打印 上一主题 下一主题

关于C++ 的几个问题= =

 关闭 [复制链接]

名侦探

水区荣誉版主
草莓 BRAVO
晓の朱雀

0

主题

0

好友

398

积分

 

升级
27%
帖子
10587
精华
4
积分
398
威望
178
RP
286
金钱
173 柯币
人气
0 ℃
注册时间
2003-3-1
跳转到指定楼层
顶楼
发表于 2004-9-27 08:32:06 |只看该作者 |正序浏览
先看下这个程序,是偶老师写的.

#include <iostream>
using namespace std;

double larger(double x, double y);

int main()
{
   double num; //variable to hold the current number
   double max; //variable to hold the larger number
   int count;  //loop control variable

   cout << "Enter 10 numbers." << endl;
   cin >> num;                                                                          //Step 1
   max = num;                                                                                 //Step 1

   for(count = 1; count < 10; count++)                                //Step 2
   {
                cin >> num;                                                                   //Step 2a
                max = larger(max, num);                                          //Step 2b
   }

   cout << "The largest number is " << max << endl;        //Step 3

   return 0;
}//end main

double larger(double x, double y)
{
   if (x >= y)
           return x;
   else
       return y;
}

问题是1,double larger(double x, double y);(我用了粗体)这个是方程申明,为什么用了两次?我认为只要在后面的那次里写上就可以了啊~第1次用在MIAN函数前面不明不白的...

问题2,第2个函数(也就是第2个粗体后面的部分)能不能写在MAIN函数前面?我看书里有不少是这么写的.

问题3,void是用在不返回值上的.有什么用呢?一个函数没有最终值的话...想不出有什么用- -b

问题4,和前面的程序无关的.setw(n)应该怎么用?
比如我写:cout<<setw(2)<<a;
但出来的a值并不是有2位...如果我要和fixed和setprecision(n)连用的话,次序应该是怎么样的?

谢谢~

杯户大学生

0

主题

0

好友

41

积分

 

升级
3%
帖子
246
精华
1
积分
41
威望
1
RP
93
金钱
106 柯币
人气
314 ℃
注册时间
2003-11-6
7
发表于 2004-9-28 15:50:51 |只看该作者

回复: 关于C++ 的几个问题= =

貌似问题已经解决了。。。
来晚了的说。。。
回复

使用道具 举报

名侦探

水区荣誉版主
草莓 BRAVO
晓の朱雀

0

主题

0

好友

398

积分

 

升级
27%
帖子
10587
精华
4
积分
398
威望
178
RP
286
金钱
173 柯币
人气
0 ℃
注册时间
2003-3-1
6
发表于 2004-9-28 13:56:54 |只看该作者

回复: 关于C++ 的几个问题= =

终于弄清楚了,它的定义是right justify.也就是从输出的量的右边开始往左边数空格(space)...
谢谢STAR,斑竹可以锁了
回复

使用道具 举报

推理爱好者

事务所程序组

0

主题

0

好友

119

积分

 

升级
98%
帖子
389
精华
0
积分
119
威望
14
RP
252
金钱
510 柯币
人气
0 ℃
注册时间
2003-10-14
5
发表于 2004-9-27 20:01:00 |只看该作者

回复: 关于C++ 的几个问题= =

MSDN == Microsoft Developer Network,就像Visual C++的Help.
setw(n)是设置后面一个的宽度的。
cout << setw(2) << a就是,a以两个字符的宽度显示。
比如a=1,输出就是" 1"。如果a=11,输出就是"11"。
我蹦,我跳,你们抓不到我!:)
回复

使用道具 举报

名侦探

水区荣誉版主
草莓 BRAVO
晓の朱雀

0

主题

0

好友

398

积分

 

升级
27%
帖子
10587
精华
4
积分
398
威望
178
RP
286
金钱
173 柯币
人气
0 ℃
注册时间
2003-3-1
地板
发表于 2004-9-27 16:11:44 |只看该作者

回复: 关于C++ 的几个问题= =

感谢2位~
第4个问题还是没怎么弄懂....MSDN是什么= =
我说的setw是属于iomanip 头文件里的.据说是插入空格用的...- -b
但我输入如 cout<<setw(2)<<a
完全不起作用= =
回复

使用道具 举报

推理爱好者

事务所程序组

0

主题

0

好友

119

积分

 

升级
98%
帖子
389
精华
0
积分
119
威望
14
RP
252
金钱
510 柯币
人气
0 ℃
注册时间
2003-10-14
板凳
发表于 2004-9-27 13:53:21 |只看该作者

回复: 关于C++ 的几个问题= =

1. C++是按顺序编译的,要调用就在调用之前必须定义。所以,如果事先不定义,就会出无定义。
2. 能。如果写在main前面(调用者),那么最开始的声明就不用了。
3. void有无数用处。比如void *什么的。当void用于返回值时,就是没有返回值。没有返回值不代表这个函数不做事情呀!如果你学过basic或pascal之类的,就知道有子过程和子函数这两种东西。
4. 查MSDN。http://msdn.microsoft.com
我蹦,我跳,你们抓不到我!:)
回复

使用道具 举报

资源补档组荣誉
快报区荣誉版主
倉木麻衣の大ファン

0

主题

0

好友

1542

积分

 

帖子
15138
精华
16
积分
1542
威望
873
RP
1295
金钱
1000 柯币
人气
8 ℃
注册时间
2004-8-11
沙发
发表于 2004-9-27 09:53:07 |只看该作者

回复: 关于C++ 的几个问题= =

问题是1,第一个double larger(double x, double y);后面是分号,没有{},应该是没有函数体……我C++没学过,我知道在Java中应该是抽象类……

问题2,函数写在哪个位子应该是无所谓的,只要在class中就行……顺序是根据main函数来的……而不是哪个函数在前,哪个函数在后……

问题3,没有返回值应该就是一个方法~如果有返回值可以写成:

double a=double larger(4,5);

但是没有返回值可以写成这样:

void a(int a,int b)
{
int a=temp;
temp=int b;
int b=int a;
}

当执行完毕,a跟b的值互换,这个就是用处啊~

问题4,我没有学过C++,所以这个问题不知道……
约定
兰~我一生唯一爱的女孩,我会照顾你一辈子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 新浪微博登陆

手机版|Archiver|名侦探柯南事务所 ( 沪ICP备17027512号 )

GMT+8, 2024-9-22 11:24 , Processed in 0.036483 second(s), 18 queries , MemCached On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部