用C#實現模擬雙色球中獎程序 控制台應用程序


前言

這是我在大一第一學期C#的課程設計,要求編寫一個模擬雙色球彩票的控制台應用程序,用以實現簡單的模擬選購彩票。
一、雙色球購號號碼生成:
1.系統購號:通過“隨機數”產生雙色球的各個號碼,通過“數組”保存所生成的每一注號碼,並生成系統購號記錄。
2.手動購號:用戶輸入要購買的數字,通過“數組”保存所生成的每一注號碼,並生成手動購號記錄。
二、雙色球開獎號碼生成:
同每一注系統購號號碼生成原理相同。
三、開獎對比:
將開獎結果與手動、系統購號記錄進行對比,輸出中獎結果並打印。
中獎規則

課題介紹

一、功能要求
(1)用 C#語言實現程序設計;
(2)利用結構體進行相關信息處理;
(3)良好的人機互交;
(4)需求設計,滿足功能和非功能需求;
(5)界面設計,內容編排合理,布局合理,易於操作;
(6)結構設計,程序設計合理,邏輯結構清晰,處理流程正確,功能划分明確;
(7)項目設計文檔,項目架構設計正確,詳細描述數據庫設計和項目功能模塊設計;
(8)編碼可讀性,代碼編寫遵循規范,注釋清晰,可讀性強;
(9)項目調試,能夠熟練調試程序;
(10)項目測試,能夠熟練測試程序,找到bug並進行修正;
(11)項目整體運行情況,項目程序能成功運行,無重大Bug,出現Bug也能當場調試通過;
(12)項目答辯,項目講解較為清晰,能正確回答老師的提問。
二、主要任務
(1)運用本學期所學的控制台應用程序;
(2)熟練掌握數組、隨機數、方法、類等;
(3)編寫代碼;
(4)程序分析與調試。
三、運行環境
(1)Win7 /Win10系統;
(2)Visual Studio 2019 開發環境;
四、開發語言
C#語言。

用到的按鍵

功能選擇: QW ER
數字選擇:0123456789
功能確認:Enter

程序設計

一、系統流程
系統流程
二、特色功能的實現
(1)產生模擬獎池;
(2)生成自定義數據庫;
(3)打印數據,讀取數據;
(4)界面輸出優化;
(5)保護用戶隱私;
(6)程序結束后可繼續查看中獎記錄等。
三、運行展示
運行展示
參考文獻:

C# 文本文件的讀寫:
https://www.runoob.com/csharp/csharp-text-files.html;
C# 如何改變控制台輸出字體顏色:
https://zhidao.baidu.com/question/1429971132764662059.html;

四、數據保存設計

第1次設計.
用普通數據記錄
第【01】注:紅色球:01 02 03 04 05 06 藍色球:07	【系統購號】時間:2019.06.12 22:02:01
第【02】注:紅色球:06 14 15 22 29 32 藍色球:11	【手動購號】時間:2019.06.12 22:02:07
第2次設計.
去掉固定字符
01_01_02_03_04_05_06_07_系統購號_2019.06.12 22:02:01
02_06_14_15_22_29_32_11_手動購號_2019.06.12 22:02:07
第3次設計.
用標記值 _
01_01_02_03_04_05_06_07_2019.06.12 22:02:01
02_06_14_15_22_29_32_11_2019.06.12 22:02:07
第4次設計.
用標記值 X R B T
X01R010203040506B07T2019.06.12 22:02:01
X02R061415222932B11T2019.06.12 22:02:07

核心代碼

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:Program.cs
//        description:程序入口文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Program
    {
        public static void Main(string[] args)
        {
            Class1 myclass1_guize = new Class1();
            Class3 myclass3_xuanhao = new Class3();
            Class4 myclass4_kaijiang = new Class4();
            myclass4_kaijiang.ShanChuXiTongWenJian();//刪除程序啟動前創建的系統購號記錄
            myclass4_kaijiang.ShanChuShouDongWenJian();//刪除程序啟動前創建的手動購號記錄
            Console.WriteLine("                                             @摘繁華 版權所有");
            Console.WriteLine("你好!歡迎你進入摘繁華的模擬雙色球程序!\n");
            Console.WriteLine("===================================================程序開始===================================================");
            int biaojizhi = 1;
            while (biaojizhi != 0)
            {
                Console.WriteLine("請選擇:1.不了解雙色球規則,查看規則【Q/q】; \t2.了解雙色球規則,進入模擬【W/w】; \t3.結束本程序【E/e】;");
                string xuanze =Console.ReadLine().ToUpper();
                switch (xuanze)
                {
                    case "Q":
                        Console.WriteLine("你選擇了查看雙色球規則;");
                        myclass1_guize.GuiZe();
                        break;
                    case "W":
                        Console.WriteLine("你選擇了進入模擬;");
                        myclass3_xuanhao.HaoMa();
                        break;
                    case "E":
                        Console.WriteLine("你選擇了結束程序!");
                        biaojizhi = 0;
                        break;
                    default:
                        Console.WriteLine("你的輸入有誤,請重新選擇!");
                        break;
                }
            }
            Console.WriteLine("===================================================程序結束===================================================");
            Console.WriteLine("程序結束,按任意鍵退出。");
            Console.WriteLine("                                             @摘繁華 版權所有");
            Console.ReadKey(true);
        }
    }
}

1_游戲規則.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:1_游戲規則.cs
//        description:游戲規則文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class1
    {
        public void GuiZe()
        {
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("一、玩法及說明\n" +
            "雙色球投注區分為紅球號碼區和藍球號碼區,紅球號碼范圍為01~33,藍球號碼范圍為01~16。雙色球每期從33個紅球中\n" +
            "開出6個號碼,從16個藍球中開出1個號碼作為中獎號碼,雙色球玩法即是競猜開獎號碼的6個紅球號碼和1個藍球號碼,順\n" +
            "序不限。");
            Console.WriteLine("二、設獎及中獎\n" +
            "|------|-----------|--------|-----------------------------------------------------------------|--------|\n" +
            "|      | 中獎條件  |        |                                                                 |        |\n" +
            "| 獎級 |-----------|中獎說明|                          單注獎金                               |單注賠率|\n" +
            "|      | 紅球 |藍球|        |                                                                 |        |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|\n" +
            "|      |      |    |        |     當獎池資金低於1億元時,獎金總額為當期高等獎獎金的75%與獎池中|        |\n" +
            "|      |      |    |        |累積的獎金之和,單注獎金按注均分,單注最高限額封頂500萬元。      |        |\n" +
            "|      |      |    |        |     當獎池資金高於1億元(含)時,獎金總額包括兩部分,一部分為當期 |        |\n" +
            "|一等獎|RRRRRR| B  | 中6+1  |高等獎獎金的55 % 與獎池中累積的獎金之和,單注獎金按注均分,單注最|  ——  |\n" +
            "|      |      |    |        |高限額封頂500萬元;另一部分為當期高等獎獎金的20%,單注獎金按注均分|        |\n" +
            "|      |      |    |        |,單注最高限額封頂500萬元。                                      |        |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|\n" +
            "|二等獎|RRRRRR|    | 中6+0  |                    當期高等獎獎金的25%                          |  ——  |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|\n" +
            "|三等獎|RRRRR | B  | 中5+1  |                   單注獎金額固定為3000元                        | 1:1500 |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|\n" +
            "|      |RRRRR |    | 中5+0  |                                                                 |        |\n" +
            "|四等獎|------|----|--------|                   單注獎金額固定為200元                         | 1:100  |\n" +
            "|      |RRRRR | B  | 中4+1  |                                                                 |        |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|\n" +
            "|      |RRRR  |    | 中4+0  |                                                                 |        |\n" +
            "|五等獎|------|----|--------|                   單注獎金額固定為10元                          | 1:5    |\n" +
            "|      |RRR   | B  | 中3+1  |                                                                 |        |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|\n" +
            "|      |RR    | B  | 中2+0  |                                                                 |        |\n" +
            "|      |------|----|--------|                                                                 |        |\n" +
            "|六等獎|R     | B  | 中1+1  |                    單注獎金額固定為5元                          | 1:2.5  |\n" +
            "|      |------|----|--------|                                                                 |        |\n" +
            "|      |      | B  | 中0+1  |                                                                 |        |\n" +
            "|------|------|----|--------|-----------------------------------------------------------------|--------|");
            Console.WriteLine("注:\n" +
            "1、高等獎獎金=獎金總額-固定獎獎金。\n" +
            "2、當獎池獎金超過1億元(含)時,下期一等獎獎金總額包括兩部分,一部分為高等獎獎金的55 % 與獎池獎金之和,單注\n" +
            "獎金按注均分,封頂500萬元;另一部分為高等獎獎金的20 %,單注獎金按注均分,封頂500萬元。 \n" +
            "3、獎池獎金在1億元以下時,單注獎金封頂500萬元。");
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.WriteLine("你已查看完雙色球規則!\n");
        }
    }
}

2_賬戶資金.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:2_賬戶資金.cs
//        description:賬戶資金文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    public class Class2_ZiJi
    {
        public void ZiJin_shouci()
        {
            Class2_ZiJinBianHua myclass_chushiyue = new Class2_ZiJinBianHua();
            Console.WriteLine("為了你的首次體驗,系統已為你贈送100元用於購買雙色球,你的賬戶初始余額為:{0:C}元;\n", FormatMoney(myclass_chushiyue.ChuShiYuE(100)));//輸出初始余額
        }
        //手動存取金額
        public void ZiJin_cunqu()
        {
            Class2_ZiJinBianHua myclass_cunqu = new Class2_ZiJinBianHua();
            Console.WriteLine("請輸入你的賬戶存取額(正為存入,負為取出):");
            int cunruzhi = int.Parse(Console.ReadLine());
            if (cunruzhi >= 0)//輸出賬戶存入的存入額
            {
                Console.WriteLine("\t已存入金額為:{0:C}元;", FormatMoney(Math.Abs(cunruzhi)));
            }
            else
            {
                if (Math.Abs(cunruzhi) > myclass_cunqu.YuE)
                {
                    Console.WriteLine("\t取出金額不能大於賬戶的余額:{0}元;",FormatMoney(myclass_cunqu.YuE));
                }
                else
                {
                    Console.WriteLine("\t已取出金額為:{0:C}元;", FormatMoney(Math.Abs(cunruzhi)));
                }
            }
            //輸出賬戶余額
            myclass_cunqu.CunQu(cunruzhi);
            Console.WriteLine("\t你的賬戶的余額為:{0:C}元;", FormatMoney(myclass_cunqu.YuE));
        }
        //格式化金額
        public string FormatMoney(int money)
        {
            if (money.ToString().Length > 4)
            {
                string fenge1 = money.ToString().Substring(0, money.ToString().Length - 4);
                string fenge2 = money.ToString().Substring(money.ToString().Length - 4, 4);
                if (fenge1.Length > 4)
                {
                    return FormatMoney(Convert.ToInt32(fenge1)) + "," + fenge2;
                }
                else
                {
                    return fenge1 + "," + fenge2;
                }
            }
            else
            {
                return money.ToString();
            }
        }
        //購號花費金額
        public void ZiJin_qu(int zhushu)
        {
            Class2_ZiJinBianHua myclass_qu = new Class2_ZiJinBianHua();
            int cunruzhi = -2 * zhushu;
            if (cunruzhi < 0)//輸出賬戶存入的存入額
            {
                Console.WriteLine("\t已花費金額為:{0:C}元;", FormatMoney(Math.Abs(cunruzhi)));
            }
            //輸出賬戶余額
            myclass_qu.CunQu(cunruzhi);
            Console.WriteLine("\t你的賬戶的余額為:{0:C}元;", FormatMoney(myclass_qu.YuE));
        }
        //中獎存入金額
        public void ZiJin_cun(int cunruzhi)
        {
            Class2_ZiJinBianHua myclass_cun = new Class2_ZiJinBianHua();
            if (cunruzhi > 0)//輸出賬戶存入的存入額
            {
                Console.WriteLine("\t你的賬戶已存入金額為:{0:C}元;", FormatMoney(cunruzhi));
            }
            //輸出賬戶余額
            myclass_cun.CunQu(cunruzhi);
            Console.WriteLine("\t你的賬戶的余額為:{0:C}元;", FormatMoney(myclass_cun.YuE));
        }
    }
    public class Class2_ZiJinBianHua
    {
        public int ChuShiYuE(int chushiyue)//接受初始余額
        {
            YuE = chushiyue;
            return YuE;
        }
        public void CunQu(int cunqu) //接受存錢
        {
            YuE = YuE + cunqu;
        }
        private static int yue; //余額
        public int YuE
        {
            get
            {
                return yue;
            }
            set
            {
                if (value >= 0)
                    yue = value;
            }
        }
    }
}

3_0模擬選號.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:3_0模擬選號.cs
//        description:模擬選號文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class3
    {
        public void HaoMa()
        {
            Class3_1 myclass3_1_xitong = new Class3_1();
            Class3_2 myclass3_2_shoudong = new Class3_2();
            Class3_3 myclass3_3_kaijiang = new Class3_3();
            Console.WriteLine();
            Console.WriteLine("         =======================================模擬雙色球開始=======================================");
            Class2_ZiJi myclass2_zijin = new Class2_ZiJi();
            myclass2_zijin.ZiJin_shouci();//賬戶資金
            int biaojizhi = 1;
            while (biaojizhi != 0)
            {
                Console.WriteLine("請選擇:1.系統購號【Q/q】; \t2.手動購號【W/w】;\t3.對已購雙色球開獎【E/e】; \t4.返回主菜單【R/r】;");
                string xuanze = Console.ReadLine().ToUpper();
                switch (xuanze)
                {
                    case "Q":
                        Console.WriteLine("你選擇了系統購號;");
                        myclass3_1_xitong.XiTong();
                        break;
                    case "W":
                        Console.WriteLine("你選擇了手動購號;");
                        myclass3_2_shoudong.ShouDong();
                        break;
                    case "E":
                        Console.WriteLine("你選擇了對已購買雙色球開獎;");
                        myclass3_3_kaijiang.ZhongJiang();
                        break;
                    case "R":
                        Console.WriteLine("你選擇了返回主菜單;");
                        biaojizhi = 0;
                        break;
                    default:
                        Console.WriteLine("你的輸入有誤,請重新輸入!");
                        break;
                }
            }
            Console.WriteLine("         =======================================模擬雙色球結束=======================================");
            Console.WriteLine();
        }
    }
}

3_1系統購號.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:3_1系統購號.cs
//        description:系統購號文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class3_1
    {
        Class2_ZiJi myclass2_zijin = new Class2_ZiJi();
        Class2_ZiJinBianHua myclass2_yue = new Class2_ZiJinBianHua();
        Class4 XiTong_myclass4 = new Class4();
        Random random = new Random();
        private int[] xitonggouhao = new int[7];
        public void XiTong()//系統購買
        {
            Console.WriteLine();
            Console.WriteLine("                    =============================系統購號開始=============================");
            Console.WriteLine("請輸入你要購買幾注雙色球:");
            int zhushu = int.Parse(Console.ReadLine());//定義購買雙色球的注數
            if ((decimal)zhushu * 2 > myclass2_yue.YuE)//判斷余額
            {
                while ((decimal)zhushu * 2 > myclass2_yue.YuE)
                {
                    Console.WriteLine("\t你的賬戶余額不夠購買{0}注雙色球,請充值;", zhushu);
                    myclass2_zijin.ZiJin_cunqu();
                    Console.WriteLine("請輸入你要購買幾注雙色球:");
                    zhushu = int.Parse(Console.ReadLine());
                }
            }
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\t系統正在為你購買【{0}】注雙色球...", zhushu);
            Console.ForegroundColor = ConsoleColor.Gray;
            for (int zhushujishu = 1; zhushujishu <= zhushu; zhushujishu++)
            {
                Console.Write("第【{0,2}】注:", zhushujishu);
                Red();
                Blue();
                Console.Write("\t【系統購號】");
                Console.Write("時間:{0}", DateTime.Now.ToString());
                XiTong_myclass4.XiTongGouHaoJiLu(zhushujishu, xitonggouhao);
                Console.WriteLine();
            }
            Console.WriteLine("\t系統已為你完成購買【{0,2}】注雙色球!", zhushu);
            myclass2_zijin.ZiJin_qu(zhushu);
            Console.WriteLine("                    =============================系統購號結束=============================");
            Console.WriteLine("                                           (你可以選擇繼續購號或開獎)");
            Console.WriteLine();
        }
        private void Red()//紅色球
        {
            int[] zuheredshuzi = new int[6];//定義紅色球數組
            for (int everyzhushushuzi = 0; everyzhushushuzi < zuheredshuzi.Length; everyzhushushuzi++)
            {
                int redshuzi = random.Next(1, 34);//產生隨機數字(1-33)
                redshuzi = RedChongFu(everyzhushushuzi, zuheredshuzi, redshuzi);
                zuheredshuzi[everyzhushushuzi] = redshuzi;
            }
            RedShengXu(zuheredshuzi);
            RedShuChu(zuheredshuzi);
        }
        private int RedChongFu(int everyzhushushuzi,int[] zuheredshuzi,int redshuzi)//紅色球_重復數字檢驗
        {
            for (int chongfu = 0; chongfu < everyzhushushuzi; chongfu++)
            {
                while (redshuzi == zuheredshuzi[chongfu])
                {
                    redshuzi = random.Next(1, 34);
                    redshuzi = RedChongFu(everyzhushushuzi, zuheredshuzi, redshuzi);
                }
            }
            return redshuzi;
        }
        private void RedShengXu(int[] zuheredshuzi)//紅色球_升序
        {
            for (int i = 0; i < zuheredshuzi.Length - 1; i++)
            {
                for (int j = 0; j < zuheredshuzi.Length - 1 - i; j++)
                {
                    if (zuheredshuzi[j] > zuheredshuzi[j + 1])
                    {
                        int max = zuheredshuzi[j];
                        zuheredshuzi[j] = zuheredshuzi[j + 1];
                        zuheredshuzi[j + 1] = max;
                    }
                }
            }
        }
        private void RedShuChu(int[] zuheredshuzi)//紅色球_輸出
        {
            Console.Write("紅色球:");
            for (int shuchu = 0; shuchu < zuheredshuzi.Length; shuchu++)
            {
                System.Threading.Thread.Sleep(50);
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("{0,2:D2} ", zuheredshuzi[shuchu]);
                xitonggouhao[shuchu] = zuheredshuzi[shuchu];
                Console.ForegroundColor = ConsoleColor.Gray;
            }
        }
        private void Blue()//藍色球
        {
            int blueshuzi = random.Next(1, 17);//產生隨機數字(1-16)
            Console.Write("藍色球:");//輸出
            System.Threading.Thread.Sleep(50);
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("{0,2:D2} ", blueshuzi);
            xitonggouhao[6] = blueshuzi;
            Console.ForegroundColor = ConsoleColor.Gray;
        }
    }
}

3_2手動購號.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:3_2手動購號.cs
//        description:手動購號文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class3_2
    {
        Class2_ZiJi myclass2_zijin = new Class2_ZiJi();
        Class2_ZiJinBianHua myclass2_yue = new Class2_ZiJinBianHua();
        Class4 ShouDong_myclass4 = new Class4();
        private int[] shoudonggouhao = new int[7];
        public void ShouDong()//手動購買
        {
            Console.WriteLine();
            Console.WriteLine("                    =============================手動購號開始=============================");
            Console.WriteLine("請輸入你要購買幾注雙色球:");
            int zhushu = int.Parse(Console.ReadLine());
            if ((decimal)zhushu * 2 > myclass2_yue.YuE)//判斷余額
            {
                while ((decimal)zhushu * 2 > myclass2_yue.YuE)
                {
                    Console.WriteLine("\t你的賬戶余額不夠購買{0}注雙色球,請充值;", zhushu);
                    myclass2_zijin.ZiJin_cunqu();
                    Console.WriteLine("請輸入你要購買幾注雙色球:");
                    zhushu = int.Parse(Console.ReadLine());
                }
            }
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\t你正在手動購買【{0}】注雙色球...", zhushu);
            Console.ForegroundColor = ConsoleColor.Gray;
            for (int zhushujishu = 1; zhushujishu <= zhushu; zhushujishu++)//對注數進行計數
            {
                int[] allredshuzi = new int[6];//定義紅色球數字組合后的數組
                int blueshuzi = 0;//定義藍色球數字
                Red(zhushujishu, allredshuzi);//調用紅色球方法
                blueshuzi = Blue(zhushujishu);//調用藍色球方法
                Console.Write("第【{0,2}】注:", zhushujishu);
                ShuChu(zhushujishu, allredshuzi, blueshuzi);//組合輸出雙色球
                Console.Write("\t【手動購號】");
                Console.Write("時間:{0}", DateTime.Now.ToString());
                ShouDong_myclass4.ShouDongGouHaoJiLu(zhushujishu, shoudonggouhao);
                Console.WriteLine();
            }
            Console.WriteLine("\t你已完成手動購買【{0,2}】注雙色球!", zhushu);
            myclass2_zijin.ZiJin_qu(zhushu);
            Console.WriteLine("                    =============================手動購號結束=============================");
            Console.WriteLine("                                           (你可以選擇繼續購號或開獎)");
            Console.WriteLine();
        }
        private void Red(int zhushujishu, int[] allredshuzi)//紅色球
        {
            Console.WriteLine("請輸入第[{0,2}]注你要選擇的(1-33之間的)6個[紅色球]號碼:", zhushujishu);
            for (int everyzhushushuzi = 0; everyzhushushuzi < allredshuzi.Length; everyzhushushuzi++)
            {
                Console.Write("第{0}位:", everyzhushushuzi + 1);
                int redshuzi = int.Parse(Console.ReadLine());
                redshuzi = RedPanDuan(everyzhushushuzi, redshuzi, allredshuzi); //紅色球_判斷
                allredshuzi[everyzhushushuzi] = redshuzi;
            }
            RedShengXu(allredshuzi);//調用紅色球_升序的方法
        }
        private int RedPanDuan(int everyzhushushuzi, int redshuzi, int[] allredshuzi)
        {
            redshuzi = RedFanWei(everyzhushushuzi, redshuzi);//調用紅色球_范圍的方法
            redshuzi = RedChongFu(everyzhushushuzi, redshuzi, allredshuzi);//調用紅色球_重復數字檢驗的方法
            return redshuzi;
        }
        private int RedFanWei(int everyzhushushuzi, int redshuzi)//紅色球_范圍
        {
            while (!(redshuzi >= 1 && redshuzi <= 33))
            {
                if (!(redshuzi >= 1 && redshuzi <= 33))//判斷輸入數字是否在(1-33)范圍內,若不是,重新輸入,若是,賦值
                {
                    Console.Write("第{0}位數:(輸入范圍錯誤![{1}]超出了輸入范圍,請重新輸入(1-33之間)的數)", everyzhushushuzi + 1, redshuzi);
                    redshuzi = int.Parse(Console.ReadLine());
                    redshuzi = RedFanWei(everyzhushushuzi, redshuzi);
                    break;
                }
            }
            return redshuzi;
        }
        private int RedChongFu(int everyzhushushuzi, int redshuzi, int[] allredshuzi)//紅色球_重復數字檢驗
        {
            int xuhao = 0;
            int chongfubiaojizhi = 0;
            for (int i = 0; i < everyzhushushuzi; i++)
            {
                if (redshuzi == allredshuzi[i])
                {
                    xuhao = i;
                    chongfubiaojizhi++;
                }
            }
            if (chongfubiaojizhi != 0)
            {
                int biaojizhi = 1;
                while (biaojizhi != 0)
                {
                    string chongfutishi = "除";
                    for (int shuchu = 0; shuchu < everyzhushushuzi; shuchu++)
                    {
                        string chongfushu = "";
                        for (int t = 0; t <= shuchu; t++)
                        {
                            chongfushu = "[" + Convert.ToString(allredshuzi[t]) + "]";
                        }
                        chongfutishi = chongfutishi + chongfushu;
                    }
                    Console.Write("第{0}位數:(輸入重復錯誤!你購買的第{1}位數字已存在數字{2},請重新輸入(1-33之間)({3})的數)", everyzhushushuzi + 1, xuhao + 1, redshuzi, chongfutishi);
                    redshuzi = int.Parse(Console.ReadLine());
                    redshuzi = RedPanDuan(everyzhushushuzi, redshuzi, allredshuzi);
                    biaojizhi = 0;
                }
            }
            return redshuzi;
        }
        private void RedShengXu(int[] allredshuzi)//紅色球_升序
        {
            for (int i = 0; i < allredshuzi.Length - 1; i++)
            {
                for (int j = 0; j < allredshuzi.Length - 1 - i; j++)
                {
                    if (allredshuzi[j] > allredshuzi[j + 1])
                    {
                        int max = allredshuzi[j];
                        allredshuzi[j] = allredshuzi[j + 1];
                        allredshuzi[j + 1] = max;
                    }
                }
            }
        }
        private int Blue(int zhushujishu)//藍色球
        {
            Console.WriteLine("請輸入第[{0,2}]注你要選擇的(1-16之間的)1個[藍色球]號碼:", zhushujishu);
            Console.Write("第1位:");
            int blueshuzi = int.Parse(Console.ReadLine());
            blueshuzi = BlueFanWei(blueshuzi);//調用藍色球_范圍的方法
            return blueshuzi;
        }
        private int BlueFanWei(int blueshuzi)//藍色球_范圍
        {
            while (!(blueshuzi >= 1 && blueshuzi <= 16))//判斷輸入數字是否在(1-16)范圍內,若是,返回值,若不是,重新輸入
            {
                if (!(blueshuzi >= 1 && blueshuzi <= 16))
                {
                    Console.Write("第1位數:(輸入范圍錯誤!請重新輸入(1-16之間)的數)");
                    blueshuzi = int.Parse(Console.ReadLine());
                }
            }
            return blueshuzi;
        }
        private void ShuChu(int zhushujishu, int[] allredshuzi, int blueshuzi)//總輸出
        {
            ShuChuRed(allredshuzi);
            ShuChuBlue(zhushujishu, blueshuzi);
        }
        private void ShuChuRed(int[] allredshuzi)//紅色球_輸出
        {
            Console.Write("紅色球:");
            for (int shuchu = 0; shuchu < allredshuzi.Length; shuchu++)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("{0,2:D2} ", allredshuzi[shuchu]);
                shoudonggouhao[shuchu] = allredshuzi[shuchu];
                Console.ForegroundColor = ConsoleColor.Gray;
            }
        }
        private void ShuChuBlue(int zhushujishu, int blueshuzi)//藍色球_輸出
        {
            Console.Write("藍色球:");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("{0,2:D2} ", blueshuzi);
            shoudonggouhao[6] = blueshuzi;
            Console.ForegroundColor = ConsoleColor.Gray;
        }
    }
}

3_3模擬開獎.cs

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:3_3模擬開獎.cs
//        description:模擬開獎文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class3_3
    {
        /*------------中獎入口-----------判斷是否開獎(判斷記錄存在)------------開獎結果------------查找數據-------------*/
        private readonly string duquming_kaijiang_xitong = "系統購號";
        private readonly string duquming_kaijiang_shoudong = "手動購號";
        private bool chazhaojilu;
        private int hangshu;
        private int monijiangchi;//模擬獎池
        private int zong_zhongjiang = 0;//中獎總數
        private int yi_zhongjiang = 0;//一等獎總數
        private int er_zhongjiang = 0;//二等總數
        private int san_zhongjiang = 0;//三等總數
        private int si_zhongjiang = 0;//四等總數
        private int wu_zhongjiang = 0;//五等總數
        private int liu_zhongjiang = 0;//六等總數
        public int[] kaijianghong = new int[7];
        private string zhongjiangdengji;
        private int zhongjiangjine;
        private int zhongjiangjine_zong;
        Class5 myclass5_duqu = new Class5();
        Class2_ZiJi myclass2_zijin = new Class2_ZiJi();
        /*--------------中獎入口----------------*/
        public void ZhongJiang()
        {
            PanDuan_kaijiang(); //判斷是否開獎
            //判斷記錄存在、開獎結果
            if (chazhaojilu) { ChaZhao_shuju(); }//記錄存在時查找數據
            ShanChu_gouhaojilu();//刪除購號記錄
        }
        Class4 myclass4_dayin = new Class4();
        /*--------------判斷是否開獎----------------*/
        private void PanDuan_kaijiang()
        {
            myclass4_dayin.ShanChuKaiJiangWenJian();//刪除開獎前創建的模擬開獎歷史記錄
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\t正在判斷是否開獎...");
            Console.ForegroundColor = ConsoleColor.Gray;
            System.Threading.Thread.Sleep(500);
            chazhaojilu = myclass5_duqu.ChaZhao();
            PanDuan_jilucunzai(chazhaojilu);//判斷記錄存在
        }
        /*--------------判斷記錄存在----------------*/
        private void PanDuan_jilucunzai(bool panduancunzai)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("\t正在判斷是否存在購號記錄...");
            Console.ForegroundColor = ConsoleColor.Gray;
            System.Threading.Thread.Sleep(500);
            if (panduancunzai)
            {
                Console.Write("\t存在購號記錄,即將開獎!\n");
                KaiJiang();//存在購號記錄后開獎
            }
            else
            {
                Console.Write("\t你沒有任何形式的購號記錄,請先購號后開獎!\n");
                Console.WriteLine();
            }
            Console.ForegroundColor = ConsoleColor.Gray;
        }
        /*--------------開獎結果----------------*/
        public void KaiJiang()//產生開獎號
        {
            Console.WriteLine();
            Console.WriteLine("                                ================模擬開獎開始================");
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\t正在產生開獎號碼...");
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.Write("【開獎號碼】");
            Red();
            Blue();
            Console.Write("\t【模擬開獎】");
            Console.Write("時間:{0}\n", DateTime.Now.ToString());
            Console.WriteLine("\t開獎號碼已產生!\n");
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("\t正在計算獎池金額...");
            Console.ForegroundColor = ConsoleColor.Gray;
            Random jiangchi = new Random();
            monijiangchi = jiangchi.Next(56214873, 942746513);
            System.Threading.Thread.Sleep(3000);
            Console.Write("\t本次開獎獎池金額為:[{0}]元;\n", myclass2_zijin.FormatMoney(monijiangchi));
            myclass4_dayin.MoNiKaiJiang(kaijianghong, myclass2_zijin.FormatMoney(monijiangchi));//打印模擬開獎記錄
            Console.WriteLine("                                ================模擬開獎結束================");
            Console.WriteLine();
        }
        private void Red()//紅色球
        {
            int[] zuheredshuzi = new int[6];//定義紅色球數組
            Random red = new Random();
            for (int everyzhushushuzi = 0; everyzhushushuzi < zuheredshuzi.Length; everyzhushushuzi++)
            {
                int redshuzi = red.Next(1, 34);//產生隨機數字(1-33)
                redshuzi = RedChongFu(everyzhushushuzi, zuheredshuzi, redshuzi);
                zuheredshuzi[everyzhushushuzi] = redshuzi;
            }
            RedShengXu(zuheredshuzi);
            RedShuChu(zuheredshuzi);
        }
        private int RedChongFu(int everyzhushushuzi, int[] zuheredshuzi, int redshuzi)//紅色球_重復數字檢驗
        {
            Random redchongfu = new Random();
            for (int chongfu = 0; chongfu < everyzhushushuzi; chongfu++)
            {
                while (redshuzi == zuheredshuzi[chongfu])
                {
                    redshuzi = redchongfu.Next(1, 34);
                    redshuzi = RedChongFu(everyzhushushuzi, zuheredshuzi, redshuzi);
                }
            }
            return redshuzi;
        }
        private void RedShengXu(int[] zuheredshuzi)//紅色球_升序
        {
            for (int i = 0; i < zuheredshuzi.Length - 1; i++)
            {
                for (int j = 0; j < zuheredshuzi.Length - 1 - i; j++)
                {
                    if (zuheredshuzi[j] > zuheredshuzi[j + 1])
                    {
                        int max = zuheredshuzi[j];
                        zuheredshuzi[j] = zuheredshuzi[j + 1];
                        zuheredshuzi[j + 1] = max;
                    }
                }
            }
        }
        private void RedShuChu(int[] zuheredshuzi)//紅色球_輸出
        {
            Console.Write("紅色球:");
            for (int shuchu = 0; shuchu < zuheredshuzi.Length; shuchu++)
            {
                System.Threading.Thread.Sleep(500);
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("{0,2:D2} ", zuheredshuzi[shuchu]);
                kaijianghong[shuchu] = zuheredshuzi[shuchu];
                Console.ForegroundColor = ConsoleColor.Gray;
            }
        }
        private void Blue()//藍色球
        {
            Random blue = new Random();
            System.Threading.Thread.Sleep(500);
            int blueshuzi = blue.Next(1, 17);//產生隨機數字(1-16)
            Console.Write("藍色球:");//輸出
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("{0,2:D2} ", blueshuzi);
            kaijianghong[6] = blueshuzi;
            Console.ForegroundColor = ConsoleColor.Gray;
        }
        /*--------------查找數據----------------*/
        public void ChaZhao_shuju()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\t正在查找數據,請稍候...");
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.WriteLine("                                        ========查看中獎開始========");
            ChaZhao_shuju_xitong(); //查找數據_系統
            ChaZhao_shuju_shoudong();//查找數據_手動
            if (zong_zhongjiang == 0)
            {
                Console.WriteLine("\t抱歉,你沒有中獎!");
            }
            else
            {
                Console.WriteLine("\t你共中獎[{0}]注,獲得總獎金:[{7}]元!其中:\n" +
                    "\t一等獎[{1}]注;" +
                    "二等獎[{2}]注;" +
                    "三等獎[{3}]注;" +
                    "四等獎[{4}]注;" +
                    "五等獎[{5}]注;" +
                    "六等獎[{6}]注;", zong_zhongjiang, yi_zhongjiang, er_zhongjiang, san_zhongjiang, si_zhongjiang, wu_zhongjiang, liu_zhongjiang, myclass2_zijin.FormatMoney(zhongjiangjine_zong));
            }
            myclass2_zijin.ZiJin_cun(zhongjiangjine_zong);
            myclass4_dayin.MoNiKaiJiang_zhongjiang_jine_zong(zong_zhongjiang, yi_zhongjiang, er_zhongjiang, san_zhongjiang, si_zhongjiang, wu_zhongjiang, liu_zhongjiang, myclass2_zijin.FormatMoney(zhongjiangjine_zong));
            Console.WriteLine("                                        ========查看中獎結束========");
            zong_zhongjiang = 0;//總中獎數清零
            yi_zhongjiang = 0;//一等獎總數清零
            er_zhongjiang = 0;//二等總數清零
            san_zhongjiang = 0;//三等總數清零
            si_zhongjiang = 0;//四等總數清零
            wu_zhongjiang = 0;//五等總數清零
            liu_zhongjiang = 0;//六等總數清零
            zhongjiangjine_zong = 0;//總中獎金額清零
        }
        public void ChaZhao_shuju_xitong()//查找數據_系統
        {
            bool xitong_cunzai = myclass5_duqu.ChaZhao_xitong();//判斷是否存在系統購號記錄
            if (xitong_cunzai)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\t查找到系統購號數據,正在讀取...");
                Console.ForegroundColor = ConsoleColor.Gray;
                DuQu_hangshu(duquming_kaijiang_xitong);
            }
            else
            {
                Console.WriteLine("\t你沒有系統購號數據!");
            }
        }
        public void ChaZhao_shuju_shoudong()//查找數據_手動
        {
            bool shoudong_cunzai = myclass5_duqu.ChaZhao_shoudong();//判斷是否存在手動購號記錄
            if (shoudong_cunzai)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\t查找到手動購號數據,正在讀取...");
                Console.ForegroundColor = ConsoleColor.Gray;
                DuQu_hangshu(duquming_kaijiang_shoudong);
            }
            else
            {
                Console.WriteLine("\t你沒有手動購號數據!");
            }
        }
        /*-----------------讀取數據-------------判斷數據---------------判斷中獎----------------輸出中獎-----------刪除購號記錄-----------*/
        /*--------------讀取數據----------------*/
        public void DuQu_hangshu(string duquming)
        {
            //讀取行數
            hangshu = myclass5_duqu.DuQu_hang(duquming);
            //判斷數據
            PanDuan_shuju(duquming);
        }
        /*--------------判斷數據----------------*/
        public void PanDuan_shuju(string duquming)
        {
            int red = 0;
            int blue = 0;
            int[] duqu = new int[7];
            duqu = myclass5_duqu.DuQu_shuzi;
            for (int everyhang = 1; everyhang <= hangshu; everyhang++)
            {
                //讀取數據
                myclass5_duqu.DuQu_shuju(everyhang, duquming);
                for (int kaijianghong_weishu = 0; kaijianghong_weishu < kaijianghong.Length - 1; kaijianghong_weishu++)//開獎號數字
                {
                    for (int duququ_weishu = 0; duququ_weishu < 6; duququ_weishu++)//讀取號數字
                    {
                        if (kaijianghong[kaijianghong_weishu] == duqu[duququ_weishu])
                        {
                            red++;
                        }
                    }
                }
                if (kaijianghong[6] == duqu[6])
                {
                    blue = 1;
                }
                PanDuan_zhongjiang(myclass5_duqu.DuQu_xuhao, red, blue, myclass5_duqu.DuQu_time, duqu, duquming);
                red = 0;//對比之后紅色計數歸零
                blue = 0;//對比之后藍色計數歸零
            }
        }
        /*--------------判斷中獎----------------*/
        public void PanDuan_zhongjiang(int xuhao, int red, int blue, string time, int[] duqu, string duquming)
        {
            bool shuchu = false;
            if (red == 6 && blue == 1)
            {
                zhongjiangdengji = "一";
                zhongjiangjine = Convert.ToInt32(monijiangchi * 0.6);
                if (monijiangchi >= 100000000)
                {
                    zhongjiangjine = 5000000;
                }
                zong_zhongjiang++;
                yi_zhongjiang++;
                shuchu = true;
            }
            if (red == 6 && blue == 0)
            {
                zhongjiangdengji = "二";
                zhongjiangjine = Convert.ToInt32(monijiangchi * 0.2);
                if (monijiangchi >= 100000000)
                {
                    zhongjiangjine = 500000;
                }
                zong_zhongjiang++;
                er_zhongjiang++;
                shuchu = true;
            }
            if (red == 5 && blue == 1)
            {
                zhongjiangdengji = "三";
                zhongjiangjine = 3000;
                zong_zhongjiang++;
                san_zhongjiang++;
                shuchu = true;
            }
            if ((red == 5 && blue == 0) || (red == 4 && blue == 1))
            {
                zhongjiangdengji = "四";
                zhongjiangjine = 200;
                zong_zhongjiang++;
                si_zhongjiang++;
                shuchu = true;
            }
            if ((red == 4 && blue == 0) || (red == 3 && blue == 1))
            {
                zhongjiangdengji = "五";
                zhongjiangjine = 10;
                zong_zhongjiang++;
                wu_zhongjiang++;
                shuchu = true;
            }
            if ((red == 2 && blue == 1) || (red == 1 && blue == 1) || (red == 0 && blue == 1))
            {
                zhongjiangdengji = "六";
                zhongjiangjine = 5;
                zong_zhongjiang++;
                liu_zhongjiang++;
                shuchu = true;
            }
            if (shuchu)
            {
                zhongjiangjine_zong += zhongjiangjine;
                PanDuan_shuchu(xuhao, duqu, time, duquming);
                Console.Write("\t[該注中了{0}等獎!獲得獎金:{1}元;]", zhongjiangdengji, myclass2_zijin.FormatMoney(zhongjiangjine));
                myclass4_dayin.MoNiKaiJiang_zhongjiang_jine(zhongjiangdengji, myclass2_zijin.FormatMoney(zhongjiangjine));
                Console.WriteLine();
            }
        }
        /*--------------中獎輸出----------------*/
        public void PanDuan_shuchu(int xuhao, int[] duqu, string time, string duquming)
        {
            Console.Write("第【{0,2}】注:紅色球:", xuhao);
            Console.ForegroundColor = ConsoleColor.Red;
            for (int i = 0; i < 6; i++)
            {
                Console.Write("{0,2:D2} ", duqu[i]);
            }
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.Write("藍色球:");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("{0,2:D2}", duqu[6]);
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.Write("\t【{0}】", duquming);
            Console.Write("時間:{0}", time);
            myclass4_dayin.MoNiKaiJiang_zhongjiang(xuhao, duqu, time, duquming);
        }
        /*--------------刪除購號記錄----------------*/
        private void ShanChu_gouhaojilu()
        {
            myclass4_dayin.ShanChuXiTongWenJian();//刪除上一次開獎前創建的系統購號記錄
            myclass4_dayin.ShanChuShouDongWenJian();//刪除上一次開獎前創建的手動購號記錄
        }
    }
}

4_打印數據.cs

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:4_打印數據.cs
//        description:打印數據文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class4
    {
        //系統購號記錄
        private readonly string XiTongFile = @"系統購號.txt";
        public void ShanChuXiTongWenJian()
        {
            if (File.Exists(XiTongFile))
            {
                File.Delete(XiTongFile);//刪除該文件
            }
        }
        public void XiTongGouHaoJiLu(int zhushujishu, int[] shuangseqiu)
        {
            StreamWriter wenjian = File.AppendText(XiTongFile);
            string xuhao = "X";
            string red = "R";
            string blue = "B";
            string time = "T";
            string gouhaojilu = xuhao + zhushujishu.ToString("D2") + red
                + shuangseqiu[0].ToString("D2") + shuangseqiu[1].ToString("D2") + shuangseqiu[2].ToString("D2")
                + shuangseqiu[3].ToString("D2") + shuangseqiu[4].ToString("D2") + shuangseqiu[5].ToString("D2")
                + blue + shuangseqiu[6].ToString("D2") + time + DateTime.Now.ToString();
            wenjian.WriteLine(gouhaojilu);
            wenjian.Flush();
            wenjian.Close();
            wenjian.Dispose();//釋放對象
        }
        //手動購號記錄
        private readonly string ShouDongFile = @"手動購號.txt";
        public void ShanChuShouDongWenJian()
        {
            if (File.Exists(ShouDongFile))
            {
                File.Delete(ShouDongFile);//刪除該文件
            }
        }
        public void ShouDongGouHaoJiLu(int zhushujishu, int[] shuangseqiu)
        {
            StreamWriter wenjian = File.AppendText(ShouDongFile);
            string xuhao = "X";
            string red = "R";
            string blue = "B";
            string time = "T";
            string gouhaojilu = xuhao+zhushujishu.ToString("D2")+ red 
                + shuangseqiu[0].ToString("D2")+ shuangseqiu[1].ToString("D2")+ shuangseqiu[2].ToString("D2")
                + shuangseqiu[3].ToString("D2")+ shuangseqiu[4].ToString("D2")+ shuangseqiu[5].ToString("D2")
                +blue+ shuangseqiu[6].ToString("D2") + time + DateTime.Now.ToString();
            wenjian.WriteLine(gouhaojilu);
            wenjian.Flush();
            wenjian.Close();
            wenjian.Dispose();//釋放對象
        }
        //模擬開獎記錄
        private readonly string KaiJiangFile = @"模擬開獎.txt";
        public void ShanChuKaiJiangWenJian() {
            if (File.Exists(KaiJiangFile))
            {
                File.Delete(KaiJiangFile);//刪除該文件
            }
        }
        public void MoNiKaiJiang(int[] kaijiang,string monijiangchi) {
            StreamWriter wenjian = File.AppendText(KaiJiangFile);
            string kong = " ";
            string gouhaojilu = "【開獎號碼】"
                + "紅色球:" + kaijiang[0].ToString("D2") + kong + kaijiang[1].ToString("D2") + kong + kaijiang[2].ToString("D2")
                + kong + kaijiang[3].ToString("D2") + kong + kaijiang[4].ToString("D2") + kong + kaijiang[5].ToString("D2") + kong
                + "藍色球:" + kaijiang[6].ToString("D2");
            wenjian.Write("{0}", gouhaojilu);
            wenjian.Write("\t【模擬開獎】");
            wenjian.Write("時間:{0}", DateTime.Now.ToString());
            wenjian.Write("\t本次開獎獎池金額為:[{0}]元;\n", monijiangchi);
            wenjian.WriteLine();
            wenjian.Flush();
            wenjian.Close();
            wenjian.Dispose();//釋放對象
        }
        //模擬開獎中獎記錄
        public void MoNiKaiJiang_zhongjiang(int xuhao, int[] duqu, string time, string duquming)
        {
            StreamWriter wenjian = File.AppendText(KaiJiangFile);
            wenjian.Write("第【{0,2}】注:紅色球:", xuhao);
            for (int i = 0; i < 6; i++)
            {
                wenjian.Write("{0,2:D2} ", duqu[i]);
            }
            wenjian.Write("藍色球:");
            wenjian.Write("{0,2:D2}", duqu[6]);
            wenjian.Write("\t【{0}】", duquming);
            wenjian.Write("時間:{0}", time);
            wenjian.Flush();
            wenjian.Close();
            wenjian.Dispose();//釋放對象
        }
        //模擬開獎中獎金額記錄
        public void MoNiKaiJiang_zhongjiang_jine(string zhongjiangdengji, string zhongjiangjine)
        {
            StreamWriter wenjian = File.AppendText(KaiJiangFile);
            wenjian.Write("\t[該注中了{0}等獎!獲得獎金:{1}元;]", zhongjiangdengji, zhongjiangjine);
            wenjian.WriteLine();
            wenjian.Flush();
            wenjian.Close();
            wenjian.Dispose();//釋放對象
        }
        //模擬開獎中獎金額記錄
        public void MoNiKaiJiang_zhongjiang_jine_zong(int zong_zhongjiang, int yi_zhongjiang, int er_zhongjiang, int san_zhongjiang, int si_zhongjiang, int wu_zhongjiang, int liu_zhongjiang, string zhongjiangjine_zong)
        {
            StreamWriter wenjian = File.AppendText(KaiJiangFile);
            wenjian.Write("\t你共中獎[{0}]注,獲得總獎金:[{7}]元!其中:\n" +
                    "\t一等獎[{1}]注;" +
                    "二等獎[{2}]注;" +
                    "三等獎[{3}]注;" +
                    "四等獎[{4}]注;" +
                    "五等獎[{5}]注;" +
                    "六等獎[{6}]注;", zong_zhongjiang, yi_zhongjiang, er_zhongjiang, san_zhongjiang, si_zhongjiang, wu_zhongjiang, liu_zhongjiang, zhongjiangjine_zong);
            wenjian.Flush();
            wenjian.Close();
            wenjian.Dispose();//釋放對象
        }
    }
}

5_讀取數據.cs

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//======================================================================
//        Copyright © 2018 摘繁華 All Rights Reserved.
//        filename:5_讀取數據.cs
//        description:讀取數據文件
//        created by 摘繁華 at 2019/10/25
//======================================================================
namespace ConsoleApplication1
{
    class Class5
    {
        //定義需要用到的變量
        private readonly string duquming_xitong = @"系統購號";
        private readonly string duquming_shoudong = @"手動購號";
        private readonly string file_xitong = @"系統購號.txt";
        private readonly string file_shoudong = @"手動購號.txt";
        //查找文件
        public bool ChaZhao()
        {
            bool zongchazhao = ChaZhao_xitong() || ChaZhao_shoudong();
            return zongchazhao;
        }
        public bool ChaZhao_xitong()
        {
            return (File.Exists(file_xitong));
        }
        public bool ChaZhao_shoudong()
        {
            return (File.Exists(file_shoudong));
        }
        //獲取行數
        public int DuQu_hang(string duquming)
        {
            int hang = 0;
            if (duquming == duquming_xitong)
            {
                using (StreamReader read = new StreamReader(file_xitong, Encoding.Default))
                {
                    hang = read.ReadToEnd().Split('\n').Length - 1;
                }
            }
            if (duquming == duquming_shoudong)
            {
                using (StreamReader read = new StreamReader(file_shoudong, Encoding.Default))
                {
                    hang = read.ReadToEnd().Split('\n').Length - 1;
                }
            }
            return hang;
        }
        //讀取數據
        public void DuQu_shuju(int hang, string duquming)
        {
            string[] tiqu = new string[4];
            if (duquming == duquming_xitong)
            {
                string[] yuanshuju = File.ReadAllLines(file_xitong, Encoding.UTF8);
                tiqu = yuanshuju[hang - 1].Split(new char[4] { 'X', 'R', 'B', 'T' });
                ChaiFen(tiqu);
            }
            if (duquming == duquming_shoudong)
            {
                string[] yuanshuju = File.ReadAllLines(file_shoudong, Encoding.UTF8);
                tiqu = yuanshuju[hang - 1].Split(new char[4] { 'X', 'R', 'B', 'T' });
                ChaiFen(tiqu);
            }
        }
        //定義開獎需要用到的數據
        public int DuQu_xuhao;//拆分后的序號(int)
        public int[] DuQu_shuzi = new int[7];//定義一個讀取文件后賦值的數組,用於比較是否中獎
        public string DuQu_time;//拆分后的時間(string)
        //拆分
        public void ChaiFen(string[] tiqu)
        {
            //拆分后的序號(int)
            DuQu_xuhao = int.Parse(tiqu[1]);
            //拆分后的紅球(string)
            string chai_red = tiqu[2];
            int[] chaifen_red = new int[6];
            chaifen_red = ChaiFenRed(chai_red);
            //拆分后的藍球(int)
            int chaifen_blue = int.Parse(tiqu[3]);
            //拆分后的時間(string)
            DuQu_time = tiqu[4];
            //轉換數據類型
            IntZhuanHuan(chaifen_red, chaifen_blue);
        }
        //繼續拆分紅球
        private int[] ChaiFenRed(string chai_red)
        {
            int[] red = new int[6];
            int t = 0;
            for (int i = 0; i <= 5; i++)
            {
                red[i] = int.Parse(chai_red.Substring(t, 2));
                t = t + 2;
            }
            return red;
        }
        //讀取文件后賦值的數組賦值
        private void IntZhuanHuan(int[] chaifen_red, int chaifen_blue)
        {
            for (int i = 0; i < 6; i++)
            {
                DuQu_shuzi[i] = chaifen_red[i];
            }
            DuQu_shuzi[6] = chaifen_blue;
        }
    }
}

最后

源碼分享

如果你覺得這篇文章還不錯,請動動小指頭點贊、收藏和關注哦!

若本文帶給你很大幫助,也可以打賞博主一杯可樂ღゝ◡╹)ノ♡

摘繁華版權所有,轉發或引用請附上原文鏈接哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM