c语言随机点名系统

来源:互联网 发布:app图标设计软件 编辑:程序博客网 时间:2024/05/16 11:20

#include<stdio.h>

#include<stdlib.h>

#define STUDENTNUM4  //定义班级学生的总人数

//定义一个学生结构体,用来存储学生的各种信息

typedefstruct{

   char studentNo[3];//学生编号

   char studentName[15];//学生姓名

    

} student;

//定义一个结构体数组,用来保存班级所有学生的信息

student information[STUDENTNUM]={0};


int main(int argc,const char * argv[]) {

   //函数声明部分

   void studentInformation();

   void callRoll();

   void ui();

   printf("********欢迎使用随机点名系统********\n");

   //打印界面

   ui();

    

   //接收用户的输入,并进行对应的操作

   int flag;

   while (1) {

       scanf("%d",&flag);

       if (flag==1) {

           //调用录入学生信息函数

           studentInformation();

           printf("信息录入完毕,请使用功能键进行其他操作\n");

           ui();

           continue;

        }elseif(flag==2){

            

           //调用随机点名函数

            

           callRoll();


            

        }elseif(flag==3){

           //退出系统

           printf("系统已成功退出,感谢您的使用\n");

           return 0;

        }else{

            

           printf("您的输入不正确,请重新输入\n");

           continue;

        }

        

        

    }//while到此结束

   return 0;

}

/**

 * 录入学生信息函数

 */

void studentInformation(){

   //循环遍历数组,接收用户输入的学生信息

   for (int i=0; i<sizeof(information)/sizeof(student); i++) {

       printf("请输入第%d个学生的编号\n",i+1);

       scanf(" %s",information[i].studentNo);

       printf("请输入第%d个学生的姓名\n",i+1);

       scanf(" %s",information[i].studentName);

    }

    

    

   FILE *fp=fopen("/Users/oujun/Desktop/1.txt","w");

   if (fp) {

    

       fwrite(information,sizeof(information),1, fp);

    }

   fclose(fp);

    

}

/**

 * 随机点名函数

 */

void callRoll(){

   //从文件中读取数据

   FILE *fp=fopen("/Users/oujun/Desktop/1.txt","r");

   if (fp) {

       fread(information,sizeof(information),1, fp);

    }

   fclose(fp);

   char select=0;

   int i=0;//定义变量保存随机数

   printf("请按a键进行随机点名\n");

   while (1) {

    

       printf("\n");

       scanf(" %c",&select);

       if (select=='a') {

           printf("点点点......,哎呀\n");

           //利用随机出来的数作为结构体数组的下标来访问输出学生的信息

            i=arc4random_uniform(STUDENTNUM);

           printf("%s同学,轮到你回答问题了哦\n",information[i].studentName);

        }

       else{

            

           printf("不要乱点\n");

        }

    }

    

}

/**

 * 打印界面函数

 */

void ui(){

    

   //打印界面

    

   printf("**请根据提示选择你需要的功能进行操作**\n");

   printf("1->手动录入学生信息\n");

   printf("2->进行随机点名\n");

   printf("3->退出系统\n");

    

}

0 0
原创粉丝点击