C语言写一个简单的抽奖系统

 效果图

 C语言写一个简单的抽奖系统_第1张图片

#include
#include
#include
#include
#include
#include 

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("\n\n");
		printf("\t\t\t*********************************************************\n");
 
		printf("\t\t\t*\t	<-欢迎来到抽奖系统->\t\t\t*\n");
		printf("\t\t\t*\t	<-目前参与抽奖的总人数为%d人->\t\t*\n", people);
		printf("\t\t\t*\t	<  一等奖设置为%d人  >\t\t\t*\n",people1);
		printf("\t\t\t*\t	<  二等奖设置为%d人  >\t\t\t*\n",people2);
		printf("\t\t\t*\t	<  三等奖设置为%d人  >\t\t\t*\n",people3);
		printf("\t\t\t*\t\t\t\t\t\t\t*\n");
 
		printf("\t\t\t*\t\t开始抽奖请按1\t\t\t\t*\n");
		printf("\t\t\t*\t\t设置奖项人数2\t\t\t\t*\n");
		printf("\t\t\t*\t\t结束程序请按0\t\t\t\t*\n");
		printf("\t\t\t*\t\t\t\t\t\t\t*\n");
		printf("\t\t\t*********************************************************\n");
 
		printf("\n\n\t\t\t\t\t请输入选项:");
		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

 

你可能感兴趣的:(C语言)