用C语言编写一个随机点名系统
用C语言编写一个随机点名系统,运行该系统后,按空格键可以显示出全班任意一位同学。若该系统花名册没有该同学名字,也可以加入进系统花名册。 本帖最后由 jhq999 于 2021-11-12 12:28 编辑#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
typedef struct STUDENT
{
int ID;
char stname;
STUDENT *next;
}Student,*pStudent;
int OutrndID(int stsum);
int CallID(int stsum);
pStudent Outst(int ID);
pStudent Outst(int ID)
{
pStudent tmp=firstST.next;
while ((ID!=tmp->ID))
{
tmp=tmp->next;
if (NULL==tmp)break;
}
return tmp;
}
int OutrndID(int stsum)
{
return (rand()%stsum)+1;
}
int CallID(int stsum)
{
STUDENT firstST={0};
int i=0,j=0;
pStudent tmp=&firstST;
for(i=1;i<=stsum;i++)
{
pStudent pst=(pStudent)malloc(sizeof(STUDENT));
tmp->next=pst;
pst->ID=i;
for (j = 0; j < sizeof(pst->stname); j++)
{
pst->stname='\0';
}
pst->next=NULL;
tmp=pst;
}
srand((unsigned int)(time(NULL)));
char inputch=0;
while (1)
{
printf("输入空格:");
//scanf("%c",&inputch);
inputch=_getch();
printf("\n");
if (0x20!=inputch)
{
printf("是否退出(Y/N)?");
inputch=getchar();
if (('Y'==inputch)||('y'==inputch))
{
break;
}
continue;
}
if (NULL==(tmp=Outst(OutrndID(stsum))))
{
printf("没有找到!");
}
if (!tmp->stname)
{
printf("(学号:%d)没有录入名字,请录入:\n",tmp->ID);
scanf("%s",tmp->stname);
getchar();
}
else
{
printf("(学号:%d)姓名:%s\n",tmp->ID,tmp->stname);
}
}
if (NULL!=firstST.next)
{
tmp=firstST.next->next;
free(firstST.next);
firstST.next=tmp;
}
return 0;
}
int main ()
{
CallID(5);
return 0;
} #include<stdio.h>
#include<time.h>
#include <stdlib.h>
#define Students_init 5 //学生人数
intStudents_num = Students_init;
char *name = {"学生1","学生2","学生3","学生4","学生5"};
void check_name(void);
void add_name(void);
int mian(void)
{
int com = 0;
while(1)
{
printf("请选择功能:“1”为点名,“2”为添加学生姓名,“3”为退出系统");
scanf("%d",&com) ;
if(com == 1)
check_name();
else if(com == 2)
add_name();
else
break;
}
return 0;
}
void check_name(void)
{
time_t t;
unsigned int i;
srand((unsigned)time(&t)); //// 使用当前时间值初始化伪随机数种子序列
i = rand() %Students_num;
printf("%s",name);
}
void add_name(void)
{
printf("请输入需要添加的姓名:");
scanf("%s",name) ;
Students_num++;
printf("添加成功");
}
页:
[1]