• 欢迎访问C语言网www.dotcpp.com 比赛栏每月有奖月赛!举办比赛联系QQ:2045302297
  • 问题反馈、粉丝交流 QQ群327452739 蓝桥杯训练群:113766799 申请群时请备注排名里的昵称
  • C语言研究中心 为您提供有图、有料、解渴的C语言专题! 欢迎讨论!

C语言模拟彩票系统(VC6环境)

项目源码 CTO 25136次浏览 5个评论

各位,今天继续给大家放C语言的源码,这次是用C语言实现的模拟彩票系统,很好玩哦~看图:

20151107031319103

继续看,这是功能选择页面:

20151107031348357

用户可以选择机选还是自选,完成选号,然后可以兑奖~ 快试试吧!

 

源代码如下(PS:对于学习的同学可不要直接复制交差哦!):

 

/*********************************说明***********************************/
// 模拟系统有自选机选两种模式,自选核心代码采用剩余接收函数(syjs())完成相应要求
// 机选用随机函数生成. 程序中采用了了一些DOS口令,如Sleep,color,pause,title,time,date等函数
// 程序基本完成模拟彩票系统的功能。
// 登陆用户名为clang密码为任意六个字符
/*****************************************************************************/
// 程序:彩票35选7系统
// 作者:c语言网(www.dotcpp.com)
// 最后修改时间:2011.8.3
// 版本:V2.0
/*****************************************************************************/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#include<windows.h>
#define sr srand((unsigned)time(0))
void qbjx(); //全部机选
void zixuan(); // 自选函数
void jixuan(); // 机选函数
void dh(); //登陆函数
void by(); //备用函数
void djsc(int n); //兑奖输出函数
void syjs(int a[],int n); //剩余接收函数
void px(int a[],int n); //排序函数
int dj(int a[],int n); //兑奖函数
int jsgq(); //自选接收关卡
int dj(int a[],int n) /*兑奖函数*/
{
 int o[7]={1,7,14,17,21,28,35};
 int x=0,i,j,k;
 for(i=0;i<7;i++)
 for(j=0;j<n;j++)
 if(o[i]==a[j] || o[i]==a[j]-48)
 x++;
 printf("本期的中奖号码为: ");
 for(k=0;k<7;k++)
 {
 Sleep(200);
 printf("%d ",o[k]);
 }
 printf("\n\n");
return x;
}
void px(int a[],int n) /*排序函数*/
{
 int i,j,temp;
 for(i=0;i<n-1;i++)
 for(j=0;j<n-i-1;j++)
 if(a[j]>a[j+1])
 {
 temp=a[j];
 a[j]=a[j+1];
 a[j+1]=temp;
 }
}
void syjs(int a[],int n) /*剩余接收函数-递归被调函数*/
{
 int h,i;
 for(h=n;h<7;h++) /*范围判断*/
 {
 printf("请输入第%d个号码:",h+1);
 a[h]=jsgq();
 if(a[h]<36 && a[h]>0)
 {
 for(i=0;i<h;i++) /*重复判断*/
 {
 if(a[h]==a[h-i-1])
 {
 printf("您输入的号码已经存在!\n");
 syjs(a,h);break;
 }
 }
 }
 else
 {
 printf("您输入的范围有误!\n");
 syjs(a,h);break;
 }
 if(a[6]!=0) /* 根据第七个数是否被接收判断,下同*/
 break;
 else
 continue;
 }
}
int jsgq() //自选接收关卡
{
 int x;
 char b[10]={'\0'}; //接收关卡
 scanf("%s",b);
 if(b[1]=='\0')
 x=(b[0]-48);
 else
 x=(b[0]-48)*10+b[1]-48;
 if(b[2]!='\0')
 x=100;
 return x;
}
void zixuan1()
{
 int a[7]={0}; /* 数组a初始化*/
 int x,y,i,h; //其中X为正式存放临时变量
 printf("请输入第1个号码:");
 x=jsgq();
 printf("\b");
 if(0<x && x<36)
 {
 a[0]=x;
 for(h=1;h<7;h++) /*范围判断*/
 {
 printf("请输入第%d个号码:",h+1);
 a[h]=jsgq();
 if(a[h]>35 || a[h]<1)
 {
 printf("您输入的范围有误!\n");
 syjs(a,h);break;
 }
 for(i=0;i<h;i++) /*重复判断*/
 {
 if(a[h]==a[h-i-1])
 {
 printf("输入的已经存在!\n");
 syjs(a,h);break;
 }
 }
 if(a[6]!=0)
 break;
 else
 continue;
 }
 }
 else /*若第一个数接收失败,重新开始*/
 {
 printf("输入的范围有误!\n");
 system("pause");
 zixuan1();
 }
 printf("\n开始兑奖!\n");
 system("pause");
 printf("\n\n");
 px(a,7);
 printf("\n\n ");
 printf("您的自选号码为: ");
 for(i=0;i<7;i++)
 {
 Sleep(200);
 printf("%d ",a[i]);
 }
 printf("\n\n ");
 y=dj(a,7);
 djsc(y);
}

void zixuan() /*自选函数*/
{
 system("color 8c");
 system("title 自选模式 --c语言(www.dotcpp.com)研究中心");
 printf("您已进入自选模式\n");
 printf("请输入七个自选号码:\n");
 zixuan1();
}
void jixuan() /*机选函数*/
{
 char x;
 system("color 2f");
 system("title 机选模式 --c语言(www.dotcpp.com)研究中心");
 system("cls");
 printf("\n\n\n\n");
 printf(" ***************************************************\n");
 printf(" * *\n");
 printf(" * 选择机选模式: *\n");
 printf(" * 全部机选--请键入1 *\n");
 printf(" * *\n");
 printf(" * *\n");
 printf(" * 退出--请键入2 *\n");
 printf(" ***************************************************\n\n");
 for(;;)
 {
 x=getch();
 if(x=='1') {qbjx();break;}
 else if(x=='2'){by();break;}
 }
 system("pause");
 by();
}
void qbjx()
{
 int j,k;
 char i;
 int y,m;
 char x;
 int a[9][7];
 printf("请输入要打印的组数(1-9):\n");
 printf("\n");
 for(;;)
 {
 i=getch();
 if(i>'0' && i<='9')
 {
 for(k=0;k<i-48;k++)
 {
 printf("<%3d >",k+1);
 for(j=0;j<7;j++)
 {
 a[k][j]=rand()%35+1;
 for(m=1;m<j+1;m++)
 {
 if(a[k][j]==a[k][j-m])
 {j--;break;}
 }
 }
 px(a[k],7); /*调用排序函数*/
 for(j=0;j<7;j++)
 printf(" %2d ",a[k][j]);
 printf("\n\n");
 }
 printf("您想要第几组号码兑奖?");
 printf("\n");
 for(;;)
 {
 x=getch();
 if(x>'0' && x<=i)
 {
 printf("\n\n ");
 Sleep(50);
 printf("您选择了第%d组号码:",x-48);
 for(j=0;j<7;j++)
 {
 Sleep(200);
 printf("%d ",a[x-48-1][j]);
 }
 printf("\n\n ");
 y=dj(a[x-48-1],7);
 djsc(y);break;
 }
 }break;
 } // if的
 } // for的
}
void dl() /*登陆界面*/
{
 int i,j,m;
 char a[100],mm[7];
 printf("\n\n\n\n");
 printf(" ************************************************************************\n");
 printf(" * *\n");
 printf(" * 欢迎使用本系统,本系统分自选和机选两种选号方式供彩民使用,登陆后可选 *\n");
 printf(" * *\n");
 printf(" ************************************************************************\n");
 printf("\n\n");
 printf(" 请输入帐号: ");
 scanf("%s",a);
 printf(" 请输入六位密码:");
 for(j=0;j<6;j++)
 {
 mm[j]=getch();
 printf("*");
 }
 printf("\n");
 printf("正在验证,请稍候...\n");
 printf(">>>>>>>>");
 for(i=0;i<70;i++) /* 控制打印<*/
 {
 Sleep(50);
 printf(">");
 }
 printf("\n");
 if(strcmp(a,"clang")==0)
 {
 printf("---------------------------------登陆成功!----------------------------------\n");
 system("pause");
 system("cls");
 }
 else
 {
 for(m=3;m>0;m--)
 {
 system("cls");
 printf("\n\n\n\n");
 printf(" ************************************************************************\n");
 printf(" * *\n");
 printf(" * 欢迎使用本系统,本系统分自选和机选两种选号方式供彩民使用,登陆后可选 *\n");
 printf(" * *\n");
 printf(" ************************************************************************\n");
 printf("\n\n");
 printf("帐号或密码错误,%d秒后重新输入!",m);
 Sleep(1000);
 }
 system("cls");
 dl();
 }
}
void hy() /*欢迎界面函数*/
{
 printf("\n\n\n\n\n\n\n");
 printf(" ============================================\n");
 printf(" ============================================\n");
 printf(" \n");
 printf(" *******欢迎使用本系统,请按任意键继续*******\n");
 printf(" \n");
 printf(" ============================================\n");
 printf(" ============================================\n");
 getch();
 system("cls");
}
void dh() /*导航界面*/
{
 char x[10];
 system("color 5f");
 system("title 选择方式 --c语言(www.dotcpp.com)研究中心");
 printf("\n\n\n\n\n\n");
 printf("\n");;
 printf(" ============================================\n");
 printf(" 请选择选号方式: \n");
 printf(" \n");
 printf(" 自选----------请输入1 \n");
 printf(" 机选----------请输入2 \n");
 printf(" 退出----------请输入3 \n");
 printf(" ============================================\n\n");
 printf("请选择要进行的操作(1或2或3),然后回车:");
 scanf("%s",x);
 if(x[0]=='1') zixuan();
 else if(x[0]=='2')
 {
 printf("您已进入机选模式\n");
 jixuan();
 }
 else if(x[0]=='3') exit(0);
 else
 {
 system("cls");
 dh();
 }
}
void djsc(int n)
{
 switch(n)
 {
 case 0: printf(" 很遗憾!您没能中奖!再接再厉! \n");break;
 case 1: printf(" 恭喜!有一个号码正确!\n");break;
 case 2: printf(" 恭喜!有两个号码正确!\n");break;
 case 3: printf(" 恭喜!您中了三个号码!\n");break;
 case 4: printf(" 恭喜恭喜!您中了四个号!\n");break;
 case 5: printf(" 恭喜恭喜!三等奖!\n");break;
 case 6: printf(" 恭喜恭喜! 二等奖!\n");break;
 default: printf(" 恭喜!恭喜!\n您的运气太好了! 恭喜您中大奖!\n");break;
 }
 printf("\n");
 printf("当前时间:");
 system("time /t"); system("date /t");
}
void by() /*备用函数*/
{
 char x;
 printf("\n\n\n");
 printf(" ------------------------------------------- \n");
 printf(" | 您希望? | \n");
 printf(" | | \n");
 printf(" | 返回--------->请输入 q | \n");
 printf(" | | \n");
 printf(" | 退出--------->请按其他键 | \n");
 printf(" ------------------------------------------- \n");
 x=getch();
 if(x=='q')
 {
 system("cls");
 dh();
 }
 else exit(0);
}
int main() /*主函数*/
{
 sr;
 system("title 彩票35选7系统 --c语言(www.dotcpp.com)研究中心");
 system("color 1f");
 hy();
 dl();
 dh();
 printf("\n\n\n");
 system("pause");
 by();
 return 0;
}
/////////////////////// c语言(www.dotcpp.com)研究中心 //////////////////////////

C语言研究中心(www.dotcpp.com)

C语言网提供「C语言、C++、算法竞赛」在线课程,全部由资深研发工程师或ACM金牌大佬亲授课,更科学、全面的课程体系,以在线视频+在线评测的学习模式学习,学练同步,拒绝理论派,真正学会编程!还有奖学金等增值福利等你!

C语言网, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C语言模拟彩票系统(VC6环境)
喜欢 (30)
[jinyangH@aliyun.com]
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
(5)个小伙伴在吐槽
  1. 预处理无头文件
    vagrant2016-09-28 20:02 回复
    • 已经改好啦
      CTO2016-10-07 17:04 回复
      • 您好,我有问题想问您
        狂野男孩2017-06-08 17:07 回复
  2. 到底要怎样登陆啊!
    神人2017-07-14 00:55 回复
  3. 这玩意还要账号密码登录
    牛牛2023-05-07 10:26 回复