码迷,mamicode.com
首页 > 编程语言 > 详细

用C语言编写一个随机点名系统

时间:2014-11-22 17:27:15      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:c语言

/*编写一个随机点名系统,运行该系统后,按空格键可以显示出一名同学,以前被选中的同学,将不会再次被选中*/

#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#include <conio.h>
#include <time.h>
struct studentinfo 
{
	char sNo[5];
	char sxueNo[14];
	char sname[20];
}st[100];
int main()
{
	int i=0,j=0,k,flag,RN,*a;
	FILE *fp;
	char ch,filename[20]={0},line[100]={0};
	printf("Please input file name:");
	fflush(stdin);
	gets(filename);
	fp=fopen(filename,"r");
	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));
	a=(int*)malloc(sizeof(int)*i);
	memset(a,-1,sizeof(a));
	printf("按任意键点名:");
	fflush(stdin);
	while (!(ch=getch())==NULL)
	{
		RN=rand()%i;
		flag=1;
		for (k=0;k<i;k++)
		{
			if (RN==a[k])
			{
				flag=0;
				break;
			}
		}
		if (flag)
		{
			a[j]=RN;
			j++;
			printf("\n~~~~~\n%s\n%s\n%s\n------------\n",st[RN].sNo,st[RN].sxueNo,st[RN].sname);
		}	
	}
}

用C语言编写一个随机点名系统

标签:c语言

原文地址:http://blog.csdn.net/u011046042/article/details/41382821

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!