问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-25 15:15

我来回答

3个回答

热心网友 时间:2022-04-23 16:07

#include<stdio.h>
#include <stdlib.h>
#include <time.h>
#define  STU_NUM_MAX 4
struct StudentInfo  // 学生信息结构
{
 char name[15];
 int stu_id;
}stu[STU_NUM_MAX];

void WriteData()  //写入学生信息
{
FILE *fp;
int stu_num=4;
   
for (int i=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't open file\n");
exit(1);
}
for (int j=0;j<stu_num;j++)
{
if(fwrite(&stu[j],sizeof(struct StudentInfo),1,fp)!=1)
 printf("Error writing file.\n");
}
fclose(fp);
}
void TeacherDM(int stuID) // 教师点名
{
FILE *fp;
bool find_mark=false;

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

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

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

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

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

}

运行效果截图:


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

热心网友 时间:2022-04-23 17:25

是C编程吗?
C的话,先把myfile.dat的信息读到结构类型数组里面
然后随机函数 随机把数组的某个打印出来

热心网友 时间:2022-04-23 18:59

随机数点名就可以了。很简单的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
五羊本田摩托车125c太费油 拖泥带水,束手无策,是什么生肖? 北汽幻速S7两年车都有哪些费用? 新北汽幻速s7这款车后期的维护大致要多少钱?花费大吗? 新学期的打算250字作文。。。急急 一般冷暴力的话有什么? 逻辑学怎么造句 想知道: 松原市 从长岭县到集体乡胜利村怎么坐公交 孕期不同阶段进行自然胎教的方法 香港路•浅水湾配套信息 课堂随机点名软件哪个好 顾淇的简介 课堂随机点名系统程序设计。 课堂随机点名程序(C++的) 课堂点名机软件 淇滨育才学校的介绍 基于App Inventor的课堂点名系统设计与实现 知道app随机点名怎么破解 山东省临沂市淇岔河村简介 我是初中语文老师,想找一个课堂随机点名软件,这样点名的时候也公平一... 有什么软件,可以方便老师在课堂上抽选学生答题呢? 教师上课随机点名软件怎么消名字 雨课堂怎么避免随机点名被老师抽到? 怎么删除系统软件 CAD机械制图知道最高顶点到顶点的距离的内切八边形怎么操作? CAD图,请问这个怎么画? 我想用CAD画一个正八边形,如何能够直接画出正多边形的角在正上方啊?求大神指教!谢谢。 CAD正八边形旋转问题,求解! CAD作图时,要做一个正8边形,顶点对顶点的距离是怎么做出来的? 请问那个CAD 用直线命令的8八边形怎么画出来的 淇滨区的介绍 怎样可以分辨对方的是不是实名制 想用vb和access做一个教室上课随机点名程序,哪位会,帮忙做一下。感激不尽阿 c语言 课堂随机点名程序 跪求大神帮我修改正确! 大连紫美淇服装服饰有限公司介绍? 老师上课Vb随机点名程序,用excel读入学生名单 做课程设计关于课堂随机点名程序 有哪些老师可用的教学软件值得推荐? 做房贷的时候贷款银行怎么定的啊? 我在广鑫汇融贷款平台申请贷款已通了,但对方要我交598元开通vlp,才能提现,这靠谱吗? 贷款新房需要哪些费用 中企创富贷款可靠吗,是不是高利贷? 商业房贷可以自己选银行吗? 关于银行贷款 个人需求一笔20万贷款,做投资 如何办理房产贷款? 怎么样银行贷款 牛奶雪花冰怎么做? 牛奶冰块的做法,牛奶冰块怎么做好吃,牛奶冰块 怎样做牛奶冰棒