如何用C++做一个抽取人名的程序?

如何用C++做一个抽取人名的程序?,第1张

#include <stdlib.h>

#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进行绝对引用是为了向下填充公式的时候这个单元格区域始终需要保持不变,否则这个区域就会向下移动。

最后效果图如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7710856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存