预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(完整word)随机点名系统源程序ok(完整word)随机点名系统源程序ok(完整word)随机点名系统源程序ok#include〈stdlib.h〉#include〈stdio.h〉#include〈math。h〉#defineSIZE4structstudent{charnum[20];charname[20];inttime;}std[SIZE];voidsave(){inti;FILE*fp;if((fp=fopen("myfile。dat",”rb+”))==NULL){printf(”文件打开失败\n”);exit(0);}for(i=0;i〈SIZE;i++)if(fwrite(&std[i],sizeof(structstudent),1,fp)!=1)/*将内存中的数据输出到磁盘文件中*/printf("文件保存失败\n");}voidmain(){intj,i;charc;FILE*fp;/*if((fp=fopen("myfile。dat",”wb+"))==NULL){printf(”文件打开失败\n”);exit(0);}for(i=0;i〈SIZE;i++)scanf(”%s%s%d",std[i]。name,std[i]。num,&std[i]。time);for(i=0;i〈SIZE;i++)fwrite(&std[i],sizeof(structstudent),1,fp);fclose(fp);*///第一次运行写入名字if((fp=fopen("myfile。dat”,"ab+"))==NULL){printf(”文件打开失败\n");exit(0);}for(i=0;i<SIZE;i++)fread(&std[i],sizeof(structstudent),1,fp);/*将fp所指向的文件中的数据存储到数组std中*/printf(”*************欢迎使用上课随机点名程序**************\n”);printf("*************输入a:显示所有同学名情况*************\n”);printf("*************输入d:开始点名**********************\n”);printf("*************输入s:保存点名**********************\n”);printf(”*************输入b:点名次数归零******************\n");printf("*************输入q:退出**************************\n”);printf("***************************************************\n");while(1){c=getchar();switch(c){case'a':for(i=0;i〈SIZE;i++)printf(”\t\t%s\t\t%s\t\t被点名%d次\n”,std[i]。num,std[i]。name,std[i].time);break;case's':save();printf(”****文件保存成功!退出请输入q****\n");break;case'b’:for(i=0;i〈SIZE;i++)std[i].time=0;printf("点名次数归%d\n”,std[i]。time);break;case'q':exit(0);case’d':loop:j=rand()/1000;/*调用rand的函数进行点名*/if(j==0){std[0]。time++;printf(”\t\t%s\t\t%s\n",std[j].num,std[j]。name);}elseif(j==1){std[1]。time++;printf(”\t\t%s\t\t%s\n”,std[j]。num,std[j].name);}elseif(j==2){std[2].time++;printf("\t\t%s\t\t%s\n",std[j]。num,std[j]。name);}elseif(j==3){std[3].time++;printf("\t\t%s\t\t%s\n”,std[j]。num,std[j].name);}elsegotoloop;break;}}fclose(fp);}运行结果: