用C#随机点名小程序源代码
思路:
首先是用StreamReader读文本文档里的姓名信息,这里需要使用命名空间using System.IO;
然后定义一个LineCount()方法获取文本的姓名的条数;
用字符串数组变量strarr储存每条姓名信息;
用Random取得一个小于姓名信息条数的随机数n;
用Console.WriteLine();显示对应的姓名,这里需要使用命名空间using System;
//获取文本文本的行数,这里假设每条姓名用一行储存
static int LineCount(string Filename)
{
int i = 1;
StreamReader reader = new StreamReader(Filename);
do
{
i++;
reader.ReadLine();
} while (reader.Peek() != -1);
reader.Close();
return i;
}
//读入文本姓名数据的方法
static void ReadNames(string[] strarr,string Filename)
{
StreamReader reader = new StreamReader(Filename);
int line=0;
do
{
strarr[line]=reader.ReadLine();
line++;
}
while(reader.Peek()!=-1);
reader.Close();
}
//主程序里执行代码如下:
static void Main()
{
//读入一个本文数据
string Filename = @”C:\123.txt”; //假设姓名文本文档的路径为C:\123.txt
string[] strarr=new string[LineCount(Filename)]; //根据数据条数声明一个字符串数组存放姓名
ReadNames(strarr,Filename);//读入测试数据文本
//产生一个小于姓名条数的非负随机数
Random r = new Random();
int n = r.Next(LineCount(Filename));
Console.WriteLine(“随机抽取的名字是:{0}”,strarr[n-1]);//显示姓名
}
呵呵,有错误的地方请指出!以上代码仅供参考,方法是多种的,勤于实践,善于思考总有意想不到的收获。
有没有点名软件或者微信小程序?
这类小程序,一般都需要导入学生的姓名、学号之类的信息,所以建议你还是找一家专业的小程序开发公司来帮你做一个比较好.由于这种小程序做起来比较简单,因此费用方面基本不会很贵的.
PHP,编写一个随机点名的程序
1 2 3 4 5 6 7 这个代码很简单:
用C语言编写一个随机点名程序
例:
#include<stdio.h>/*standardinput&output*/
#include<stdlib.h>/*standardlibary*/
#include<string.h>/*string*/
#include<conio.h>/*ConsoleInput/Output*/
#include<time.h>
structstudentinfo/*学生信息的结构体*/
{
charsNo[5];/*学生编号*/
charsxueNo[14];/*学号*/
charsname[20];/*学生的姓名*/
}st[100];
charhash[100]={0};/*链表的数组*/
intmain()
{
inti=0,j=0,flag=0,RN,*a;
FILE*fp;
charch,filename[20]={0},line[100]={0};
printf("Pleaseinputfilename:");
//fflush(stdin);/*用来清空输入缓存,以便不影响后面输入的东西*/
gets(filename);/*键盘输入文件名*/
fp=fopen(filename,"r");/*openreadonly*/
printf("名单如下:\n");/*显示所有的学生信息*/
while(fgets(line,sizeof(line)-1,fp))
{
if(line[0]!='\n'&&line[0]!='')
{
sscanf(line,"%s%s%s\n",st[i].sNo,st[i].sxueNo,st[i].sname);/*文件输入*/
printf("%s\n%s\n%s\n",st[i].sNo,st[i].sxueNo,st[i].sname);/*打印出来*/
i++;/*统计人数*/
}
}
/*设置随机数种子*/
srand((unsigned)time(NULL));
/*sizeof(类型符)是计算类型所占字节数,sizeof(int)是int所占字节数,再乘以i,得到i个int型数据的总字节数。malloc函数用于动态开辟一块内存空间,参数为开辟的内存空间字节数,返回开辟的内存空间的首地址指针。*/
a=(int*)malloc(sizeof(int)*i);
memset(a,-1,sizeof(a));/*将已开辟内存空间a的第4个字节设置为-1*/
printf("按空格键点名,其他键退出:");
fflush(stdin);
while((ch=getch())=='')
/*while(!(ch=getch())==NULL)*/
{
if(flag==i)/*如果flag等于总人数*/
{
printf("%s\n","点名结束");
break;
}
RN=rand()%i;/*产生一个随机数*/
while(hash[RN]==1)/*判断有没有完成某个一个学生点名*/
RN=rand()%i;/*产生随机数*/
flag++;/*计数*/
printf("\n~~~~~\n%s\n%s\n%s\n------------\n",st[RN].sNo,st[RN].sxueNo,st[RN].sname);/*输出学生的信息*/
hash[RN]=1;
}
}
扩展资料:
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
想用vb和access做一个教室上课随机点名程序,哪位会,帮忙做一下.感激不尽阿
用rnd随机生成一个数字,对应学号,这样就可以点名了. Dim MyValue MyValue = Int((6 * Rnd) + 1) ‘ 生成 1 到 6 之间的随机数值.
javascript随机抽号点名程序
var map = {}, num = 40; for(var i = 0; i < num; i++){ var rand = Math.floor(Math.random() * num) + 1; if(!map[rand]){ console.log(rand + "号抽出"); map[rand] = rand; }else{ i--; } } console.log("全部抽出");
C#,用vs做一个winform随机点名程序,求帮助。紧急~
public string[] nameStr={“甲”,“乙”,……};姓名组
public int ids=10;随机数量
public string[,] names=string[ids]; 出现的名称
public void time() 执行的语句
{
int i=0;
while(iint id=random(nameStr.length());//随机函数 showname(id,i) id++; } } 生成名单 public void showname(int id,int i) { nameStr[i]=nameStr[id]; //加入显示名单的语句textbox.text=textbox.text+nameStr[id]; str(id); } 数组移动 public void str(int id) { int tempids=nameStr.length()-1; string[] tempstr=new string[tempids]; int tempi=0; for(int j=0;j<=tempids;j++) { if(tempi!=id) { tempstr[tempi]=nameStr[j]; tempi++; } } nameStr=tempstr; }网上有现成的,我只是搬过来,不过自己写也简单
java随机点名程序,一班28个人没有7号,二班29个人没有8号和13号,三班30人没有23号,最好还能做出一个简易的界面
… … . . .
老师怎样用微信小程序来点名
老师的话是无法使用微信,小程序来点名的,因为该小程序,目前还没有推出,您可以在微信群中进行点名,或者是使用QQ群中的点名.
C语言随机点名
自己写吧!先使用数据流来根据行获取文本的数据,然后看下数据的格式,做相应的分解.然后吧名字加入,数组,使用,随机排序的方式,随机排序,然后按照每行 5个数据在写入文档.