21xrx.com
2024-11-22 02:57:00 Friday
登录
文章检索 我的文章 写文章
C++实现随机点名的代码
2023-07-13 08:14:47 深夜i     --     --
C++ 随机 点名 代码

随机点名是课堂教学中常用的一种方式,可以调动学生的积极性和主动性,增强课堂气氛。在计算机课程中,使用C++实现随机点名功能也是一种有趣而实用的方法。下面介绍一下使用C++实现随机点名的代码。

首先,需要定义一个学生名单数组,可以手动输入或者从文件中读取。定义一个随机数生成器,来保证每次点名的随机性。


#include <iostream>

#include <fstream>

#include <cstdlib>

#include <ctime>

using namespace std;

const int MAX = 50;

string stuList[MAX];

int numStu = 0;

void readStuList(string fileName) { // 从文件读取学生名单

  ifstream infile(fileName, ios::in);

  if (!infile) {

    cout << "Error opening file!" << endl;

    exit(1);

  }

  while (!infile.eof()) {

    getline(infile, stuList[numStu]);

    numStu++;

  }

  infile.close();

}

void printStuList() { // 打印学生名单

  cout << "Student List:" << endl;

  for (int i = 0; i < numStu; i++) {

    cout << stuList[i] << endl;

  }

}

string getRandomStudent() { // 随机选择一个学生

  srand(time(0)); // 初始化随机数生成器

  int randNum = rand() % numStu;

  return stuList[randNum];

}

int main() {

  string fileName = "student_list.txt";

  readStuList(fileName);

  printStuList();

  cout << "The lucky student is: " << getRandomStudent() << endl;

  return 0;

}

在代码中,首先定义了一个MAX常量来限制学生名单的最大数量,定义了一个全局数组stuList来存储学生名单,以及一个全局变量numStu来记录学生数量。接下来需要实现三个函数。readStuList函数从文件中读取学生名单,printStuList函数将学生名单打印到屏幕上,getRandomStudent函数用来随机选择一个学生。

在主函数中,先调用readStuList函数读取学生名单,调用printStuList函数打印出学生名单,然后调用getRandomStudent函数随机生成一个学生名。最后,输出随机选择出来的学生名。

通过以上的代码实现,可以让随机点名更加公正、随机化。同时也运用到了文件操作及随机数在计算机课程中的应用,有助于提高学生对于代码的理解和熟练度。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复