⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 luck.c

📁 这是一个基于控制台的彩票管理系统
💻 C
字号:
/***********************/
#include "head2.h"
 void luck()
 {
	extern  DATA2 *openfile2();
	int i;
	long int m=0;
	int b[9]={0};/*保证下标与号码位置对应***/
	int a[8]={0};/*保证下标与号码位置对应***/
	printf("请输入该期的中奖号码及其期号:\n");
	
	printf("同时该期的中奖号码的信息将被保存在中奖号码文件中\n");
	
	printf("请输入该期号码的期号:\n");
    scanf("%ld",&m);
	
	printf("请输入该期的中奖号码:\n**注意**将特别号码放在第八位输入,即最末尾否则程序会出现错误\n");
	
	for(i=1;i<=8;i++)/***b[0]不存放任何数字***/
		scanf("%d",&b[i]);
    printf("请输入你保存中奖号码文件的文件名:\n");
	/***中奖号码将被保存在中奖号码文件中**/
    scanf("%s",filename2);
	if((d1=(DATA2*)malloc(LEN2))==NULL)
	{ 
		printf("内存不足,链表创建失败!\n");
		printf("该中奖号码的信息不能被保存.\n按任意键返回\n");
		getch();
		return;
	}
	if((fp=fopen(filename2,"ab"))==NULL)
	{	
		printf("文件打开失败,\n该中奖号码的信息不能被保存.\n按任意键返回菜单\n");
		getch();
		return;
	}
	d1->name2=m;/***中奖号码的期号存入结点*****/
	for(i=1;i<=8;i++)/***中奖号码的内容存入结点*****/
	d1->number2[i-1]=b[i];
	if(fwrite(d1,sizeof(DATA2),1,fp)!=1)
	{	
		printf("该中奖号码的信息不能被保存\n按任意键返回菜单\n");
        getch();
		return;
	}
   printf("%d",fwrite(d1,sizeof(DATA2),1,fp));
   fclose(fp);	 
   printf("该中奖号码的信息已被保存!\n按任意键返回继续\n");
   getch();
   printf("****************************************\n");
	/*********************************/
	printf("以下文件名中请输入你保存投注号码的文件名,以便对奖:\n");
	head2=openfile2();
    
	printf("以下是文件中你保存的投注号码:\n");
	print_perf2(head2);
	if(head2==NULL)
	{	
		printf("\n你没投过注,很遗憾!\n按任意键返回!");
        getch();
		return;
	}
	d1=head2;
	while(d1!=NULL)
	{   
		for(i=0;i<=6;i++)
		{
			a[i+1]=d1->number2[i];
		}
		compare(a,b,d1->name2);
		d1=d1->next2;
	}
	printf("其余号码都没有中奖!\n");
	printf("\n看完后按任意键返回!");
	printf("上面的信息不保存,请看好\n*******************\n");
    getch();
	return;
 }
   
 /*************************************/
 /*******比较投注号码与中奖号码函数****/
 /***************************************/
 
void compare(a,b,list)/**a[8]存放投注号码b[9]存放中奖号码**/
int a[8],b[9];
long int list;/*8,9保证下标与号码位置对应;list 记录是第几注中奖***/
{	
	int base,str,i,j,c;
	/****base记录有几个号码与基本号码相同*/
    /**list记录是否有号码与特别号码相同**/
	base=0;
	c=0;
	j=0;
	str=0;
	/****判断有几个号码与基本号码相同*/
	for(i=1;i<=7;i++)
		for(j=1;j<=7;j++)
		{ 
			c=(a[i]-b[j]);
			if(!c)
			{	
				base++;
				break;
			}
		}
	/**判断是否有号码与特别号码相同有则str加一**/
	for(i=1;i<=7;i++)
		if(!(a[i]-b[8]))
		{	
			str++;
			break;
		}
 
	switch(base)
	{ 
		case 7:pri(1,list);break;/***pri()是一个带参数的宏定义,输出第几注得了几等奖**/
		case 6:switch(str)
				{
					case 1:pri(2,list);break;
					case 0:pri(3,list);break;
				}break;
		case 5:switch(str)
				{	
					case 1:pri(4,list);break;
					case 0:pri(5,list);break;
				} break;

		case 4:switch(str)
				{	
					case 1:pri(6,list);break;
					case 0:pri(7,list);break;
				}break;
		case 3:if(str==1)pri(7,list);break;
		default:break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -