2009-11-28 90 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'); 
}