#include <fstream>
#include <time.h>
#include <iostream>
using namespace std
int main()
{
ifstream fin("data.txt")
char str[60][100] = {0}
char input = '\0'
int nameNum = 0
while (fin.getline(str[nameNum],100) && nameNum < 60)
{
nameNum++
}
srand(time(NULL))
while(cout << "n for next" << endl && cin >> input && input == 'n')
{
cout << "Select: " << str[rand()%nameNum] << endl
}
return 1
}
很简单啊,比如你要从5个人名:张三,李斯,王五,马六,田七你产生1-5个数字:一一对应就行了,如果产生的随机数是1
那么label1.caption="张三",以此类推!
例子:
private
sub
command1_click()
randomize
select
case
int(rnd
*
5
+
1)
case
1
label1.caption
=
"张三"
case
2
label1.caption
=
"李斯"
case
3
label1.caption
=
"王五"
case
4
label1.caption
=
"马六"
case
else
label1.caption
=
"田七"
end
select
end
sub
1、没有ROUNDBETWEEN这个函数;
2、A1:A66后面多了一个右括号;
3、A1:A66没有绝对引用。
解决办法:
1、应该是RANDBETWEEN函数;
2、去掉A1:A66后面的右括号;
3、A1:A66进行绝对引用。
公式如下:
=INDEX($A$1:$A$66,RANDBETWEEN(1,66))
将公式拖动填充下去即可,
如下图:
对A1:A66进行绝对引用是为了向下填充公式的时候这个单元格区域始终需要保持不变,否则这个区域就会向下移动。
最后效果图如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)