各位,今天繼續(xù)給大家放C語言的源碼,這次是用C語言實現(xiàn)的模擬彩票系統(tǒng),很好玩哦~看圖:
繼續(xù)看,這是功能選擇頁面:
用戶可以選擇機選還是自選,完成選號,然后可以兌獎~ 快試試吧!
源代碼如下(PS:對于學(xué)習(xí)的同學(xué)可不要直接復(fù)制交差哦!):
/*********************************說明***********************************/ // 模擬系統(tǒng)有自選機選兩種模式,自選核心代碼采用剩余接收函數(shù)(syjs())完成相應(yīng)要求 // 機選用隨機函數(shù)生成. 程序中采用了了一些DOS口令,如Sleep,color,pause,title,time,date等函數(shù) // 程序基本完成模擬彩票系統(tǒng)的功能。 // 登陸用戶名為clang密碼為任意六個字符 /*****************************************************************************/ // 程序:彩票35選7系統(tǒng) // 作者:c語言網(wǎng)(www.sztianhecheng.cn) // 最后修改時間: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(); // 自選函數(shù) void jixuan(); // 機選函數(shù) void dh(); //登陸函數(shù) void by(); //備用函數(shù) void djsc(int n); //兌獎輸出函數(shù) void syjs(int a[],int n); //剩余接收函數(shù) void px(int a[],int n); //排序函數(shù) int dj(int a[],int n); //兌獎函數(shù) int jsgq(); //自選接收關(guān)卡 int dj(int a[],int n) /*兌獎函數(shù)*/ { 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) /*排序函數(shù)*/ { 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) /*剩余接收函數(shù)-遞歸被調(diào)函數(shù)*/ { 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++) /*重復(fù)判斷*/ { if(a[h]==a[h-i-1]) { printf("您輸入的號碼已經(jīng)存在!\n"); syjs(a,h);break; } } } else { printf("您輸入的范圍有誤!\n"); syjs(a,h);break; } if(a[6]!=0) /* 根據(jù)第七個數(shù)是否被接收判斷,下同*/ break; else continue; } } int jsgq() //自選接收關(guān)卡 { int x; char b[10]={'\0'}; //接收關(guān)卡 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}; /* 數(shù)組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++) /*重復(fù)判斷*/ { if(a[h]==a[h-i-1]) { printf("輸入的已經(jīng)存在!\n"); syjs(a,h);break; } } if(a[6]!=0) break; else continue; } } else /*若第一個數(shù)接收失敗,重新開始*/ { 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() /*自選函數(shù)*/ { system("color 8c"); system("title 自選模式 --c語言(www.sztianhecheng.cn)研究中心"); printf("您已進入自選模式\n"); printf("請輸入七個自選號碼:\n"); zixuan1(); } void jixuan() /*機選函數(shù)*/ { char x; system("color 2f"); system("title 機選模式 --c語言(www.sztianhecheng.cn)研究中心"); 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("請輸入要打印的組數(shù)(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); /*調(diào)用排序函數(shù)*/ 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(" * 歡迎使用本系統(tǒng),本系統(tǒng)分自選和機選兩種選號方式供彩民使用,登陸后可選 *\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(" * 歡迎使用本系統(tǒng),本系統(tǒng)分自選和機選兩種選號方式供彩民使用,登陸后可選 *\n"); printf(" * *\n"); printf(" ************************************************************************\n"); printf("\n\n"); printf("帳號或密碼錯誤,%d秒后重新輸入!",m); Sleep(1000); } system("cls"); dl(); } } void hy() /*歡迎界面函數(shù)*/ { printf("\n\n\n\n\n\n\n"); printf(" ============================================\n"); printf(" ============================================\n"); printf(" \n"); printf(" *******歡迎使用本系統(tǒng),請按任意鍵繼續(xù)*******\n"); printf(" \n"); printf(" ============================================\n"); printf(" ============================================\n"); getch(); system("cls"); } void dh() /*導(dǎo)航界面*/ { char x[10]; system("color 5f"); system("title 選擇方式 --c語言(www.sztianhecheng.cn)研究中心"); 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("當(dāng)前時間:"); system("time /t"); system("date /t"); } void by() /*備用函數(shù)*/ { 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() /*主函數(shù)*/ { sr; system("title 彩票35選7系統(tǒng) --c語言(www.sztianhecheng.cn)研究中心"); system("color 1f"); hy(); dl(); dh(); printf("\n\n\n"); system("pause"); by(); return 0; } /////////////////////// c語言(www.sztianhecheng.cn)研究中心 //////////////////////////
C語言研究中心(www.sztianhecheng.cn)