课堂随机点名系统程序设计。

课堂随机点名系统程序设计。,第1张

查找:我认为,首先把txt文件存在硬盘上,最好在学生前面编上序号,完了用rand(srand)抽取号码。抽取完毕后,用号码对应用c语言函数fscanf查找号码所对应的学生姓名。

删除和添加可以直接在txt里进行。如果非要在程序中的话,用fprintf就可以实现了。

随机点名:从网上下载个汉语的发音包,用c调用即可。

rand(srand)用法:

计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。)

我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统。

1rand()

功能:随机数发生器

用法:int rand(void)

所在头文件: stdlibh

rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。

rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。

用户未设定随机数种子时,系统默认的随机数种子为1。

rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。

2srand()

功能:初始化随机数发生器

用法: void srand(unsigned int seed)

所在头文件: stdlibh

srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

3使用当前时钟作为随机数种子

rand()产生的随机数在每次运行的时候都是与上一次相同的。若要不同,用函数srand()初始化它。可以利用srand((unsigned int)(time(NULL))的方法,产生不同的随机数种子,因为每一次运行程序的时间是不同的。

4产生随机数的用法

1) 给srand()提供一个种子,它是一个unsigned int类型;

2) 调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到RAND_MAX之间);

3) 根据需要多次调用rand(),从而不间断地得到新的随机数;

4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。

0~RAND_MAX之间的随机数程序

#include <iostream>

#include <stdlibh>

#include <timeh>

using namespace std;

int main()

{

srand((unsigned)time(NULL));

for(int i = 0; i < 10;i++ )

cout << rand() << '\t';

cout << endl;

return 0;

}

5产生一定范围随机数的通用表示公式

要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;

要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;

要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;

通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。

要取得a到b之间的随机整数,另一种表示:a + (int)b rand() / (RAND_MAX + 1)。

要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。

界面可用switch函数选择

知到app如何点名,第一步:存储全班同学姓名 。

创建一个存储多个同学姓名的容器(数组实现) 键盘输入每个同学的姓名,存储到容器中(数组)

第二步:让程序总览全班同学姓名。

第三步:应用随机原理点名其中一人。

知到(智慧树教育平台)是智慧树在线教育平台提供的一款手机客户端,你可以通过这款软件在手机上在线观看智慧树平台的课程,此外你还可以将课程视频下载到你的手机中离线观看。使用这款软件的用户还可以在线做作业、参加考试,让你能系统的学习想要学的东西。

excel的随机点名的设置步骤如下:

1、首先我们打开电脑里的excel软件,在A列单元格里输入同学们的姓名,我这里为方便用百度+数字来表示。

2、然后我们在另外的单元格先输入函数  =INDIRECT("a")  。

3、然后我们继续输入完整的函数,即“=INDIRECT("a"&RANDBETWEEN(2,16))”表示从A列第2-16单元格里随机选择一个单元格数据。

4、然后我们选中A列。

5、点击右键,点击隐藏,将名字隐藏起来,或许也可以省略这一步。

6、点名的时候只需要一直按住F9即可,松开时,就会出现一个名字了。

1、使用UrlDownLoadToFile这个API下载指定url的学生名单(#include<urlmonh> #pragma comment(lib, "urlmonlib"))

2、使用fopen读取学生名单到一个char的缓冲区, 使用stl string来处理这段缓冲区, 并使用stl vector<SStudentInfo> 存储学生信息

struct SStudentInfo

{

};

vector<SStudentInfo> m_vInfo;

3、使用C语言随机函数取得随机数,

srand((unsigned)time(0)); int rid = rand()%m_vInfosize() - 1; SStudentInfo pInfo = m_vInfo[rid];

4、将pInfo里面的信息显示到界面

界面可以使用MFC, 如果使用控制台做的话也很方便

我只提供一个思路

如果要我提供源码, 你必须告诉我你的那个网站是什么, 我需要分析你的网站信息来编写通过班级选择性加载

//当文件流为eof状态时需先clear再seek

#include <iostream>

#include <string>

#include <fstream>

#include <ctime>

using namespace std;

class Class;

class Student{

string Name;//学生姓名

string ID;//学生学号

string Number;//学生序号

public:

string GetName();

string GetNumber();

string GetID();

friend class Class;

};

string Student::GetID()

{

return ID;

}

string Student::GetName()

{

return Name;

}

string Student::GetNumber()

{

return Number;

}

class System

{

public:

void menu();

};

class Class{

Student student;

int number;

public:

Class(string);

~Class(){delete []student;};

int GetNumber();

friend void System::menu();

};

void System::menu()

{

string temp;

cout<<"请输入学生名单文件(txt)的全路径(输入exit为退出本程序):";

cin>>temp;

if(temp=="exit")exit(0);

Class cls(temp);

char tmp,tp;

loop: cout<<"Enter 1 or 0<1抽取,0退出,其它无效>:";

cin>>tmp;

if(tmp=='1')

{

int NUM;//被选中学生的号码

time_t NowTime;

again: NowTime=time(NULL);//利用系统时间

NowTime=NowTime%clsGetNumber();//用取余的方式求出NUM

NUM=NowTime;

cout<<"被抽中的是:"<<endl;

cout<<"学生序号:"<<clsstudent[NUM]GetNumber()<<endl;

cout<<"学生学号:"<<clsstudent[NUM]GetID()<<endl;

cout<<"学生姓名:"<<clsstudent[NUM]GetName()<<endl;

againchoose: cout<<"Enter 1 or 0<1为继续抽取,0为退出,其它无效>:";

cin>>tp;

if(tp=='1')goto again;

else if(tp=='0')exit(0);

else goto againchoose;

}

else if(tmp=='0')exit(0);

else goto loop;

}

Class::Class(string temp)

{

string tmp;

number=0;

char p=new char[100];

while(1)

{

ifstream File;

Fileopen(tempc_str());

if(Fileis_open())

{

cout<<"文件打开成功"<<endl;

while(!Fileeof()){Filegetline(p,100);number++;}

cout<<number<<endl;

student=new Student[number];

Fileclear(); // must clear when the stream is in the eof statue!!!

Fileseekg(0);

cout << p << endl;

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

File>>tmp;

student[i]Number=tmp;

File>>tmp;

student[i]ID=tmp;

File>>tmp;

student[i]Name=tmp;

}

Fileclose();

break;

}

else

{

cout<< "Warnning:Cannot open this file!" <<endl;

Fileclose();

}

}

cout<<"已经初始化"<<endl;

cout<<"该班学生人数为:"<<number<<"人"<<endl;

}

int Class::GetNumber()

{

return number;

}

int main()

{

System sys;

sysmenu();

return 0;

}

打开任务管理器,在管理器里面找到正在运行的那个软件程序名并结束任务,结束后再删除!

点名软件(梦畅语音点名软件)是一款支持语音播报点名结果的随机点名软件,您可以自定义名单,点击开始,点名软件(梦畅语音点名软件)会快速滚动显示名字。

1程序免安装,用户只需双击“RollCallexe”即可打开点名软件2首先,点击“编辑名单”3输入要点名 *** 作的姓名,完成点击“文件”-“保存”即可4完成姓名的编辑,点击“开始”

以上就是关于课堂随机点名系统程序设计。全部的内容,包括:课堂随机点名系统程序设计。、知到app如何点名、excel的随机点名怎么弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9833484.html

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

发表评论

登录后才能评论

评论列表(0条)

保存