用c++写一个随机点名程序
时间: 2023-10-20 22:08:56 浏览: 312
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
int main()
{
// 设置随机数种子
srand(time(0));
// 建立学生名单
vector<string> students = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"};
// 生成随机数,选出被点名的学生
int index = rand() % students.size();
string name = students[index];
// 输出被点名的学生
cout << "今天被点名的学生是:" << name << endl;
return 0;
}
相关问题
写一个关于随机点名的c++程序
好的,我可以回答这个问题。以下是一个简单的随机点名程序的 C 代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char *names[] = {"张三", "李四", "王五", "赵六", "钱七"};
int num_names = sizeof(names) / sizeof(names[]);
srand(time(NULL));
int random_index = rand() % num_names;
printf("随机点名结果是:%s\n", names[random_index]);
return ;
}
```
这个程序首先定义了一个字符串数组 `names`,里面存放了一些学生的名字。然后通过 `srand` 函数和 `time` 函数来初始化随机数生成器,确保每次运行程序时都会得到不同的随机结果。接着,程序使用 `rand` 函数生成一个随机数,再通过取模运算得到一个在 `names` 数组范围内的随机下标。最后,程序输出随机点名的结果。
希望这个程序能够帮到你!
根据C++的流类库与输入输出,请用类设计一个随机点名的小程序,实现随机点名的功能
好的,根据您的要求,我设计了一个随机点名的小程序,使用了C++的流类库与输入输出。以下是程序的代码:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
class RandomNameSelector {
public:
RandomNameSelector(const string& filename) {
ifstream infile(filename);
if (!infile) {
cerr << "Error opening file: " << filename << endl;
exit(1);
}
string name;
while (infile >> name) {
names_.push_back(name);
}
infile.close();
}
void selectWinner() {
if (names_.empty()) {
cout << "No names found!" << endl;
return;
}
srand(time(NULL));
int index = rand() % names_.size();
cout << "The winner is: " << names_[index] << endl;
}
private:
vector<string> names_;
};
int main() {
RandomNameSelector selector("names.txt");
selector.selectWinner();
return 0;
}
```
这个程序通过类`RandomNameSelector`实现随机点名的功能。在构造函数中,它从指定的文件中读取名字列表,并保存到`vector<string>`类型的私有成员变量`names_`中。在`selectWinner()`函数中,它使用`rand()`函数生成一个随机数,根据这个随机数从`names_`中选择一个名字作为获奖者。注意,程序使用了`srand(time(NULL))`语句来初始化随机数生成器,以保证每次运行程序时都能得到不同的结果。
在`main()`函数中,程序创建了一个`RandomNameSelector`对象,并调用`selectWinner()`函数进行随机点名。注意,程序要求名字列表保存在`names.txt`文件中,您需要在程序运行前准备好这个文件,并确保文件中每行只包含一个名字。
希望这个程序能够满足您的要求!
阅读全文