c/c++语言开发共享C语言实现简单的抽奖系统

本文实例为大家分享了c语言实现简单的抽奖系统的具体代码,供大家参考,具体内容如下效果图#include<stdio.h>#include<string.h>#include&l

c/c++开发分享C语言实现简单的抽奖系统实例为大家分享了c语言实现简单的抽奖系统的具体代码,供大家参考,具体内容如下

C语言实现简单的抽奖系统

效果图

C语言实现简单的抽奖系统

#include<stdio.h>  #include<string.h>  #include<stdlib.h>  #include<conio.h>  #include<time.h>  #include <windows.h>     struct data{      char id[20];      char name[20];  };     int t1,t2,t3;  struct data information[110];              //普通人员信息  struct data prize1[110];                    //总获奖人员信息  struct data prize2[110];                    //总获奖人员信息  struct data prize3[110];                    //总获奖人员信息     int people=0;                              //参与抽奖总人数  int people1=0,people2=0,people3=0;         //普通一等奖、二等奖、三等奖的人数  char strid[20];     //从文件中读取信息,放到普通人员信息中  void read_information();        //打印菜单  void print_menu();           //设置奖项人数  void set_awards();      //开始抽奖      void begin_luck();       //删除该学号人员在普通人员中的信息  void delet_information();     void main()  {      read_information();      print_menu();  }     void read_information()//从文件中读取信息  {      file *fp=fopen("抽奖人员名单.txt","r");      while(!feof(fp))      {          //存储该信息到普通人员信息中,便于设置内幕人员          fscanf(fp,"%s%s",information[people].id,information[people].name);          people++;      }      fclose(fp);  }        void print_menu()  {      int choose;      while(1)      {          system("cls");          printf("nn");          printf("ttt*********************************************************n");             printf("ttt*t    <-欢迎来到抽奖系统->ttt*n");          printf("ttt*t    <-目前参与抽奖的总人数为%d人->tt*n", people);          printf("ttt*t    <  一等奖设置为%d人  >ttt*n",people1);          printf("ttt*t    <  二等奖设置为%d人  >ttt*n",people2);          printf("ttt*t    <  三等奖设置为%d人  >ttt*n",people3);          printf("ttt*ttttttt*n");             printf("ttt*tt开始抽奖请按1tttt*n");          printf("ttt*tt设置奖项人数2tttt*n");          printf("ttt*tt结束程序请按0tttt*n");          printf("ttt*ttttttt*n");          printf("ttt*********************************************************n");             printf("nnttttt请输入选项:");          scanf("%d",&choose);                    switch(choose)          {              case 0:                  return;                 case 1:                  begin_luck();                   break;                 case 2:                  set_awards();                  break;          }          }  }        //设置奖项人数  void set_awards()  {      int choose;      while(1)      {          system("cls");          printf("请输入三等奖人数(正整数):n");          scanf("%d",&t3);          if( t3<0 || t3>people)          {              printf("输入不合法,请输入1到%d之内的数字",people);              getch();          }          else          {              people3=t3;              break;          }         }      while(1)      {          system("cls");              printf("请输入二等奖人数:n");              scanf("%d",&t2);              if( t2<0 || t2>people)              {                  printf("输入不合法,请输入1到%d之内的数字",people);                  getch();                 }              else              {                  people2=t2;                  break;              }            }      while(1)      {          system("cls");          printf("请输入一等奖人数:n");          scanf("%d",&t1);          if( t1<0 || t1>people)          {              printf("输入不合法,请输入1到%d之内的数字",people);              getch();          }          else          {              people1=t1;              break;          }      }      printf("设置完毕按任意键返回n");      getch();      return;  }        void begin_luck()   //开始抽奖  {      if(people1==0 || people2==0 || people3==0)      {          printf("请设置奖项人数!!!!n");          printf("按任意键返回n");          getch();          return;      }         if( (people1+people2+people3) > people )      {          printf("中奖人数超过总人数,请重新设置!!!!n");          printf("按任意键返回n");          getch();          return;      }         int i,j=0,choose,t;      system("cls");           /*******************三等奖人员****************************/      printf("下面开始抽取三等奖人员,按任意键继续n");      getch();      while(people3--)      {          if(people3<0)              break;          srand((unsigned)time(0));          t=rand()%people;          prize3[j++]=information[t];          strcpy(strid,information[t].id);          delet_information();      }      printf("以下是三等奖名单,按任意键继续n");      for(i=0;i<j;i++)          printf("%sn",prize3[i].name);      getch();     /*******************二等奖人员****************************/      printf("下面开始抽取二等奖人员,按任意键继续n");      getch();      while(people2--)      {          if(people2<0)              break;          srand((unsigned)time(0));          t=rand()%people;          prize2[j++]=information[t];          strcpy(strid,information[t].id);          delet_information();      }      printf("以下是二等奖名单,按任意键继续n");      for(;i<j;i++)          printf("%sn",prize2[i].name);      getch();     /*******************一等奖人员****************************/      printf("下面开始抽取一等奖人员,按任意键继续n");      getch();      while(people1--)      {          if(people1<0)              break;          srand((unsigned)time(0));          t=rand()%people;          prize1[j++]=information[t];          strcpy(strid,information[t].id);          delet_information();      }      printf("以下是一等奖名单,按任意键继续n");      for(;i<j;i++)          printf("%sn",prize1[i].name);      getch();         people=0;      read_information();      people1=t1,people2=t2,people3=t3;  }     void delet_information()   //删除该学号人员在普通人员中的信息  {      int i,j;      for(i=0;i<people;i++)          if(strcmp(information[i].id,strid)==0)          {              people--;              for(j=i;j<people;j++)                  information[j]=information[j+1];              return;          }  }

以上就是c/c++开发分享C语言实现简单的抽奖系统的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

需要了解更多c/c++开发分享C语言实现简单的抽奖系统,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/1072594.html

(0)
上一篇 2022年4月6日
下一篇 2022年4月6日

精彩推荐