VC++里面如何使用随机数?

sytzz 2009-09-18 06:47:15
小弟刚开始学习VC++,感觉跟以前接触的编程完全不同了…
用的是VS2008,感觉有点类似VB的。
Windows编程方法也摸索了一下,也感觉很多,MFC看不懂,太复杂了。
现在想学习它,需要一些小实例,不太难,可以一步一步照着做的,以便熟悉这种编程方法,也找不到……
我就想起以前有个程序,是按一下按钮,一个TextBox就变一下位置,所以在Click事件中写了这个:
int x,y;
x=Random();
textBox1->Location->X=x;

结果错误一大堆……

1>------ 已启动生成: 项目: godmoon, 配置: Debug Win32 ------
1>正在编译...
1>godmoon.cpp
1>.\godmoon.cpp(6) : error C2143: 语法错误 : 缺少“;”(在“using”的前面)
1>e:\users\godmoon\documents\visual studio 2008\projects\godmoon\godmoon\Form1.h(104) : error C2440: “=”: 无法从“System::Random”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>e:\users\godmoon\documents\visual studio 2008\projects\godmoon\godmoon\Form1.h(105) : error C2819: “System::Drawing::Point”类型没有重载成员“operator ->”
1> c:\windows\microsoft.net\framework\v2.0.50727\system.drawing.dll : 参见“System::Drawing::Point”的声明
1> 是否要改用“.”?
1>e:\users\godmoon\documents\visual studio 2008\projects\godmoon\godmoon\Form1.h(105) : error C2232: “->System::Drawing::Point::X”: 左操作数有“class”类型,使用“.”
1>.\godmoon.cpp(19) : fatal error C1075: 与左侧的 大括号“{”(位于“e:\users\godmoon\documents\visual studio 2008\projects\godmoon\godmoon\Form1.h(2)”)匹配之前遇到文件结束
1>生成日志保存在“file://e:\Users\GodMoon\Documents\Visual Studio 2008\Projects\godmoon\godmoon\Debug\BuildLog.htm”
1>godmoon - 5 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

前面几个错误,缺少;的我也不知道是怎么回事,可能是代码弄乱了……可以华丽地无视了。。。
重要的是这个错误:error C2440: “=”: 无法从“System::Random”转换为“int”
跨过这道坎,小弟感激不尽呀!~
...全文
240 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
solu 2009-09-18
  • 打赏
  • 举报
回复
在 Button 的 onclick 添加 SetWinowPos
随机数可以用C\C++的rand函数取得
zoulie 2009-09-18
  • 打赏
  • 举报
回复
你直接用C语言的rand()函数,
移动窗口用MoveWindow或者SetWindowPos
CoderOfVC 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sytzz 的回复:]
引用 6 楼 coderofvc 的回复:
上面的这些代码应该可用,不知道你是怎么貌似没用的。


如果这样丢进去,还是没办法改变TextBox1的坐标值呀。
[/Quote]

那可能是你其它的代码无效,不是这些代码没效。。
sytzz 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 coderofvc 的回复:]
上面的这些代码应该可用,不知道你是怎么貌似没用的。
[/Quote]

如果这样丢进去,还是没办法改变TextBox1的坐标值呀。
CoderOfVC 2009-09-18
  • 打赏
  • 举报
回复
上面的这些代码应该可用,不知道你是怎么貌似没用的。
sytzz 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hellward 的回复:]
srand() 
  rand() 
 
  #include  <stdlib.h> 
  #include  <stdio.h> 
  #include  <time.h> 
 
  void  main(  void  ) 
  { 
        int  i; 
 
        /*  Seed  the  random-number  generator  with  current  time  so  that 
          *  the  numbers  will  be  different  every  time  we  run. 
          */ 
        srand(  (unsigned)time(  NULL  )  ); 
 
        /*  Display  10  numbers.  */ 
        for(  i  =  0;      i  <  10;i++  ) 
              printf(  "    %6d\n",  rand()  ); 
  } 
[/Quote]

这个我是以前用的方法,但是如果用到VC++里面,貌似就没用了。
CoderOfVC 2009-09-18
  • 打赏
  • 举报
回复
学VB的转VC是一个痛苦的过程。。嘿
jamseyang 2009-09-18
  • 打赏
  • 举报
回复
可以试试BOOL SetWindowPos(
HWND hWnd, // handle to window
HWND hWndInsertAfter, // placement-order handle
int X, // horizontal position
int Y, // vertical position
int cx, // width
int cy, // height
UINT uFlags // window-positioning options
);
还有要判断下x=Random()的值
hellward 2009-09-18
  • 打赏
  • 举报
回复
VC和VB差别可大多了啊
hellward 2009-09-18
  • 打赏
  • 举报
回复
srand()
rand()

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main( void )
{
int i;

/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );

/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
}

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧