标签: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语言
原文地址:http://blog.csdn.net/u011046042/article/details/41382821