2009-11-28 89 views
0

如何在方法中生成随机字符和整数,以便可以在main()中调用该方法,并使该方法一起生成随机字符和整数 I 不要想要一个生成字符的方法和另一个生成整数的方法。在C++中生成随机字符和整数

+0

你想他们一次一个,也许交替字符和整数,或者你想要一个参数,告诉多少产生?你想用什么随机生成的值? – 2009-11-28 18:59:54

回答

4

你可以写这样的方法(假设你只想要小写英文字符,你可以扩展它):

void generate(char& ranChar, int& ranNmber) 
{ 
    //Generate a random number in the range 0-25 and add the ascii value 'a' 
    ranChar = rand() % 26 + 'a'; 
    ranNumber = rand(); 
} 

int main() 
{ 
    //Seed the random number generator with the current time 
    srand(time(NULL)); 
    char ch; 
    int n= 0; 
    generate(ch,n); 
    return 0; 
} 
+0

英文字母的第27个字母是什么? :D – 2009-11-28 19:19:54

+0

我收到错误'time':找不到标识 – 2009-11-28 19:42:58

+0

#include Naveen 2009-11-28 19:48:52

0

你可以使用boost::tuple,像这样:

boost::tuple<int, char> gen() { 
// srand() etc 
return make_tuple(rand(), (rand() % ('z' - 'a' + 1)) + 'a'); 
}