当前位置:首页 » 编程语言 » c语言课堂点名系统
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言课堂点名系统

发布时间: 2023-01-02 02:28:05

A. 求c语言班级点名程序,高手们来帮帮忙啊

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct Student
{
char name[20];
bool IsRead;
}Student;
int main()
{
int i;
int select;
int mark=1;
//下面中你还可以加入一些学生,记得初始化的IsRead都是false
Student student[]=
{
{"张三",false},
{"李四",false},
{"王五",false},
{"刘六",false},
{"赵七",false}
};

printf("欢迎进入点门系统,以下是全班的花名册:\n");
for (i=0;i<sizeof(student)/sizeof(Student);i++)
printf("%s ",student[i].name);
printf("\n");

do
{
printf("请选择:\n1.点名\n2.显示没有点到的学生名字\n3.退出点名系统\n");
scanf("%d",&select);
system("cls");//如果是Linux系统,把cls改成clear。如果是其他系统请把这行注释掉,清频
if(1==select)
{
mark = 1;
while (1)
{
for(i=0;i<sizeof(student)/sizeof(Student);i++)
mark=mark*(student[i].IsRead? 1:0);
if(mark)
{
printf("你已经把全班点了个遍\n");
break;
}
srand(time(NULL));
i = rand()%(sizeof(student)/sizeof(Student));
if(!student[i].IsRead)
{
printf("点名:%s\n",student[i].name);
student[i].IsRead = true;
break;
}
}
}
else if (2==select)
{
for(i=0;i<sizeof(student)/sizeof(Student);i++)
{
if(!student[i].IsRead)
printf("%s ",student[i].name);
}
printf("\n");
}
else if(3==select)
{
printf("谢谢使用\n");
return 0;
}
}while(true);

return 0;
}

这可是我一个字一个字的打出来的,专门为你写的!~

B. 用C语言做学生点名系统

分太少没诚意

C. c语言 课堂随机点名程序 跪求大神帮我修改正确!

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <time.h>
func1(char stubuff[100][100],int stucnt);
func2(char stubuff[100][100],int stucnt);
struct Student
{
int stdno;
char name[20];
char sex[20];
};
int main()
{
FILE *fp;
int stucnt=0,x;
char line[100]="\0",stubuff[100][100];
char filename[20];
struct Student *st;
printf("\t\t\t欢迎使用课堂随机点名程序!\n\n");
printf("点名前请输入您要点名的班级:");
scanf("%s",filename);
fp=fopen(filename,"r");
while (fgets(line,99,fp)!=NULL)
{
strcpy(stubuff[stucnt++],line);
}
printf("该班一共有%d个学生\n",stucnt);

srand((unsigned)time(NULL));
printf("请选择:\n");
printf("1:开始点名\n2:查看全班具体情况\n3:结束程序\n");
printf("请输入您的选择:");
scanf("%d",&x);
switch(x)
{
case 1:
func1(stubuff[100][100],stucnt);break;
case 2:
func2(stubuff[100][100],stucnt);break;
case 3:
printf("\t\t\t谢谢使用!\n");
}
fclose(fp);
return 0;
}

func1(char stubuff[100][100],int stucnt)
{
int i,j,chou,tmp,sel[100]={0},flag;
do
{
printf("请输入这次要点名的人数:");
scanf("%d",&chou);
if (chou>stucnt)
{
printf("这个班没有这么多学生\n");
}
} while(chou>stucnt ||chou<0);

for (i=0;i<chou;i++)
{
flag=0;
tmp=rand()%stucnt+1;
for (j=0;j<i;j++)
{
if (sel[j]==tmp)
{
flag=1;
break;
}
}
if (flag==1)
{
i--;
}else
{
sel[i]=tmp;
}
}
printf("点名情况如下:\n");
printf("学号\t\t姓名\t性别\n");
for (i=0;i<chou;i++)
{
fflush(stdin);
getchar();
printf("%s",stubuff[sel[i]-1]);
}
}

func2(char stubuff[100][100],int stucnt)
{
int i;
for (i=0;i<stucnt;i++)
{
fflush(stdin);
getchar();
printf("%s",stubuff[i]);
}
}

D. 跪求c语言上课随机点名程序设计

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineSTU_NUM_MAX4
structStudentInfo//学生信息结构
{
charname[15];
intstu_id;
}stu[STU_NUM_MAX];

voidWriteData()//写入学生信息
{
FILE*fp;
intstu_num=4;

for(inti=0;i<stu_num;i++)
{
printf("请输入第%d个学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("请输入第%d个学生的学号:",i+1);
scanf("%d",&stu[i].stu_id);
}

if((fp=fopen("myfile.dat","ab"))==NULL)
{
printf("Can'topenfile ");
exit(1);
}
for(intj=0;j<stu_num;j++)
{
if(fwrite(&stu[j],sizeof(structStudentInfo),1,fp)!=1)
printf("Errorwritingfile. ");
}
fclose(fp);
}
voidTeacherDM(intstuID)//教师点名
{
FILE*fp;
boolfind_mark=false;


printf(" %s %s ","学号","姓名");
if((fp=fopen("myfile.dat","rb"))==NULL)
{
printf("Can'topenfile ");
exit(1);
}

inti=0;
do
{
fseek(fp,i*sizeof(structStudentInfo),SEEK_SET);
fread(&stu[i],sizeof(structStudentInfo),1,fp);
if(stu[i].stu_id==stuID)
{
printf(" %4d %s ",stu[i].stu_id,stu[i].name);
printf(" 请【%s】同学回答某某问题. ",stu[i].name);
find_mark=true;
break;
}

i++;
}while(!feof(fp));

if(!find_mark)printf(" 未能找到学生号为:%d的记录! ",stuID);

fclose(fp);
}
voidmain(void)
{
intstuID[4]={2013011001,2013011002,2013011003,2013011004};
//WriteData();
srand((unsigned)time(NULL));//随机种子
TeacherDM(stuID[rand()%(3-0+1)+0]);

}

运行效果截图:


另外多说一句,你所说的公正性,是不是指被点名过的同学不会再次被随机点名到。如果是这个意思,那么你可以通过数组来设置它,即把点名过的同学的学号或姓名保存到一维数组里,随机判断时只需循环检查下该同学是否已被点名过。这里就留给你做了。

E. 急求,课堂随机点名程序(c语言)

这个程序挺有意思,用MFC编?要求发我邮箱吧,我试试。[email protected]

F. 课堂随机点名系统(用C语言编写)

没有规矩不成方圆,如果没有人翘课,教务处也不会要求点名。

学风一年不如一年。