Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,668

HOME > .NET Framework > Forum > C# มีใครมีโค้ด เกี่ยวกับ การนับเงิน มั่งไม๊ครับ รบกวนของแบ่งปันความรู้หน่อยครับ



 

C# มีใครมีโค้ด เกี่ยวกับ การนับเงิน มั่งไม๊ครับ รบกวนของแบ่งปันความรู้หน่อยครับ

 



Topic : 136028



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook



คือผมจะหาความเป็นไปได้ทั้งหมดในการควักตังค์จ่าย เอามาสุ่มค่าครับ

เช่นว่า

ราคาสินค้า 50 บาท เราอาจจะจ่ายตังค์ 50,100 ,500,1000 บาท
ราคาสินค้า 75 บาท เราอาจจะจ่ายตังค์ 75,80,100 ,500,1000 บาท
ราคาสินค้า 7 บาท เราอาจจะจ่ายตังค์ 7, 10,20,50,100 ,500,1000 บาท

คือจะเอาค่าที่ได้ มาสุ่ม เพื่อเอาไปออกข้อสอบ การทอนเงิน ครับ

เช่น

ราคาสินค้า 75 บาท สุ่มจ่ายตังค์ จาก 75,80,100 ,500,1000 ได้ 100 บาท

ให้เด็กลบออกว่าจะเหลือเงินทอนเท่าไหร่ ประมาณนั้น ครับ

ปัญหาคือ ผมไม่รู้จะคิดจำนวน ทั้งหมดยังไง ครับ



Tag : .NET, VB.NET, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-03-30 04:40:39 By : lamaka.tor View : 184 Reply : 13
 

 
มี แต่เขียนด้วย FoxPro 2.5 for DOS

สนใจมั้ย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-30 13:31:06 By : ผ่านมา
 


 
มี อีกเยอะเลย เขียนด้วย VB (ประกอบตำรา การวางแผนและควบคุมการผลิต

สนใจมั้ย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-30 13:34:01 By : ผ่านมา
 

 

No. 3



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอนนี้ ลองเขียนโค้ด ประมาณนี้ ครับ

Code (C#)
public static void setsentence_1()
        {

            List<string> strType = new List<string> {
                "เส้นเล็ก น้ำ ชามละ 20 บาท", "เส้นเล็ก น้ำ ชามละ 30 บาท",
                "เส้นเล็ก แห้ง ชามละ 20 บาท", "เส้นเล็ก แห้ง ชามละ 30 บาท",
                "เส้นใหญ่ น้ำ ชามละ 20 บาท", "เส้นใหญ่ น้ำ ชามละ 30 บาท",
                "เส้นใหญ่ แห้ง ชามละ 20 บาท", "เส้นใหญ่ แห้ง ชามละ 30 บาท",
                "บะหมี่ น้ำ ชามละ 20 บาท", "บะหมี่ น้ำ ชามละ 30 บาท",
                "บะหมี่ แห้ง ชามละ 20 บาท", "บะหมี่ แห้ง ชามละ 30 บาท",
                "มาม่า น้ำ ชามละ 20 บาท", "มาม่า น้ำ ชามละ 30 บาท",
                "มาม่า แห้ง ชามละ 20 บาท", "มาม่า แห้ง ชามละ 30 บาท",
                "วุ้นเส้น น้ำ ชามละ 20 บาท", "วุ้นเส้น น้ำ ชามละ 30 บาท",
                "วุ้นเส้น แห้ง ชามละ 20 บาท", "วุ้นเส้น แห้ง ชามละ 30 บาท" ,
                "เกาเหลา 40 บาท","เกาเหลา 60 บาท"};
            List<string> strType_ = null;
            string fileBlank = @"D:\T_MEGA\เรียนรู้ เติ้ล\Math\blank.png";
            int mc = 0;
            for (int i = 0; i < 20; i++)
            {

                strType_ = strType;
                System.Threading.Thread.Sleep(1000);
                string file = @"D:\T_MEGA\เรียนรู้ เติ้ล\Math\test " + i + ".png";
                File.Copy(fileBlank, file);
                System.Threading.Thread.Sleep(1000);
                Bitmap cloneImage = null;
                using (Bitmap bitMapImage = new Bitmap(file))
                {
                    cloneImage = new Bitmap(bitMapImage);
                }

                int cAll = r.Next(0, 4);
                string _return = "ไตเติ้ลกินก๊วยเตี๋ยว โดยสั่ง ";
                for (int cc = 0; cc <= cAll; cc++)
                {
                    int c = r.Next(0, strType_.Count - 1);
                    string s = strType_[c];
                    int _mc = r.Next(1, 5);
                    _return += " \n " + s + _mc + " ชาม ";
                    string smc;
                    try { smc = new Regex(@"(\d+)", RegexOptions.None).Match(s).Value.Trim(); }
                    catch { smc = ""; }
                    if (smc != "")
                        mc += int.Parse(smc) * _mc;
                    strType_.Remove(s);
                   
                }
                List<int> payM = new List<int>() {  2 ,5 ,10 , 20, 50, 100, 500, 1000 };
                //1 2 5 10  20 50 100 500 1000
                List<int> payAll = new List<int>();
                int __mc;
                payAll.Add(mc);
                payM.ForEach(mm =>
                {
                    __mc = ((mc / mm) + 1) * mm;
                    if (!payAll.Contains(__mc))
                        payAll.Add(__mc);
                });
                

              


                _return += " \n เมื่อไตเติ้ลจ่ายเงิน " + payAll[r.Next(0,payAll.Count-1)] + " บาท แม่ค่าต้องทอนเงินเท่าไหร่ ?";
                using (cloneImage)
                {
                    Graphics graphicImage = Graphics.FromImage(cloneImage);
                    graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
                    graphicImage.DrawString(_return, new Font("Arial", 18, FontStyle.Bold), SystemBrushes.WindowText, new Point(10, 10));


                    System.IO.File.Delete(file);

                    cloneImage.Save(file, ImageFormat.Jpeg);
                }


            }

        }


เท่าที่ลองหลายๆรอบ เหมือนมันจะได้บ้างไม่ได้บ้างคือ
บางโจทย์ มันก็ออกค่ามาที่สมเหตุ สมผล

1

บางโจทย์ก็ออกมาไม่สนเหตุ สมผล

2

ดังนั้นคงต้องคิดวิธีใหม่กันต่อไป ครับ
นอกจากนี้ เหมือนว่าค่า

strType_ = strType;

ตัว strType_ มันไม่เซ็ตค่าเป๊น strType ทุกครั้งที่เริ่มใหม่
ทั้งๆที่เขียนไว้ให้เซ็ตค่าใหม่ ตลอดครับ

3

4

จริงๆแล้ว มันเป็นไปไม่ได้เลยที่จะมีค่า strType_.Count = 0
เพราะ

strType_ = strType;

มันก็น่าจะเริ่มใหม่ตลอด แต่แปลกที่มันมีค่า เป็น 0 ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-30 15:54:26 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

โค้ดล่าสุดสามารถแก้ Error เรื่อง strType_ ได้แล้วครับ

Code (C#)
 public static void setsentence_1()
        {


            string fileBlank = @"D:\Math\blank.png";
            int mc = 0;
            for (int i = 0; i < 20; i++)
            {

                
                System.Threading.Thread.Sleep(1000);
                string file = @"D:\Math\test " + i + ".png";
                File.Copy(fileBlank, file);
                System.Threading.Thread.Sleep(1000);
                Bitmap cloneImage = null;
                using (Bitmap bitMapImage = new Bitmap(file))
                {
                    cloneImage = new Bitmap(bitMapImage);
                }

                int cAll = r.Next(0, 4);
                List<string> strType_  = new List<string> {
                "เส้นเล็ก น้ำ ชามละ 20 บาท", "เส้นเล็ก น้ำ ชามละ 30 บาท",
                "เส้นเล็ก แห้ง ชามละ 20 บาท", "เส้นเล็ก แห้ง ชามละ 30 บาท",
                "เส้นใหญ่ น้ำ ชามละ 20 บาท", "เส้นใหญ่ น้ำ ชามละ 30 บาท",
                "เส้นใหญ่ แห้ง ชามละ 20 บาท", "เส้นใหญ่ แห้ง ชามละ 30 บาท",
                "บะหมี่ น้ำ ชามละ 20 บาท", "บะหมี่ น้ำ ชามละ 30 บาท",
                "บะหมี่ แห้ง ชามละ 20 บาท", "บะหมี่ แห้ง ชามละ 30 บาท",
                "มาม่า น้ำ ชามละ 20 บาท", "มาม่า น้ำ ชามละ 30 บาท",
                "มาม่า แห้ง ชามละ 20 บาท", "มาม่า แห้ง ชามละ 30 บาท",
                "วุ้นเส้น น้ำ ชามละ 20 บาท", "วุ้นเส้น น้ำ ชามละ 30 บาท",
                "วุ้นเส้น แห้ง ชามละ 20 บาท", "วุ้นเส้น แห้ง ชามละ 30 บาท" ,
                "เกาเหลา 40 บาท","เกาเหลา 60 บาท"}; 

                string _return = "ไตเติ้ลกินก๊วยเตี๋ยว โดยสั่ง ";
                for (int cc = 0; cc <= cAll; cc++)
                {
                    int c = r.Next(0, strType_.Count - 1);
                    string s = strType_[c];
                    int _mc = r.Next(1, 5);
                    _return += " \n " + s + _mc + " ชาม ";
                    string smc;
                    try { smc = new Regex(@"(\d+)", RegexOptions.None).Match(s).Value.Trim(); }
                    catch { smc = ""; }
                    if (smc != "")
                        mc += int.Parse(smc) * _mc;
                    strType_.Remove(s);
                   
                }
                List<int> payM = new List<int>() {  2 ,5 ,10 , 20, 50, 100, 500, 1000 };
                //1 2 5 10  20 50 100 500 1000
                List<int> payAll = new List<int>();
                int __mc;
                payAll.Add(mc);
                payM.ForEach(mm =>
                {
                    __mc = ((mc / mm) + 1) * mm;
                    if (!payAll.Contains(__mc))
                        payAll.Add(__mc);
                });
                

              


                _return += " \n เมื่อไตเติ้ลจ่ายเงิน " + payAll[r.Next(0,payAll.Count-1)] + " บาท แม่ค่าต้องทอนเงินเท่าไหร่ ?";
                using (cloneImage)
                {
                    Graphics graphicImage = Graphics.FromImage(cloneImage);
                    graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
                    graphicImage.DrawString(_return, new Font("Arial", 18, FontStyle.Bold), SystemBrushes.WindowText, new Point(10, 10));


                    System.IO.File.Delete(file);

                    cloneImage.Save(file, ImageFormat.Jpeg);
                }


            }


แต่ก็ยังติดที่ว่า ราคาจ่ายยังไม่สมเหตุสมผลอยู่เช่นเดิม ครับ
ไม่รู้จะแก้ไปอีท่าไหน ถึงจะเหมาะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-30 16:03:20 By : lamaka.tor
 


 

No. 5



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ลองรันดูซัก 50 ค่า มันได้ประมาณนี้ครับ

Code
i = 0 ราคา 90 ค่าที่จ่ายได้ 90 , 95 , 100 , 500 , 1000 i = 1 ราคา 80 ค่าที่จ่ายได้ 80 , 85 , 90 , 100 , 500 , 1000 i = 2 ราคา 400 ค่าที่จ่ายได้ 400 , 405 , 410 , 420 , 450 , 500 , 1000 i = 3 ราคา 60 ค่าที่จ่ายได้ 60 , 65 , 70 , 80 , 100 , 500 , 1000 i = 4 ราคา 240 ค่าที่จ่ายได้ 240 , 245 , 250 , 260 , 300 , 500 , 1000 i = 5 ราคา 80 ค่าที่จ่ายได้ 80 , 85 , 90 , 100 , 500 , 1000 i = 6 ราคา 160 ค่าที่จ่ายได้ 160 , 165 , 170 , 180 , 200 , 500 , 1000 i = 7 ราคา 90 ค่าที่จ่ายได้ 90 , 95 , 100 , 500 , 1000 i = 8 ราคา 160 ค่าที่จ่ายได้ 160 , 165 , 170 , 180 , 200 , 500 , 1000 i = 9 ราคา 180 ค่าที่จ่ายได้ 180 , 185 , 190 , 200 , 500 , 1000 i = 10 ราคา 100 ค่าที่จ่ายได้ 100 , 105 , 110 , 120 , 150 , 200 , 500 , 1000 i = 11 ราคา 140 ค่าที่จ่ายได้ 140 , 145 , 150 , 160 , 200 , 500 , 1000 i = 12 ราคา 140 ค่าที่จ่ายได้ 140 , 145 , 150 , 160 , 200 , 500 , 1000 i = 13 ราคา 140 ค่าที่จ่ายได้ 140 , 145 , 150 , 160 , 200 , 500 , 1000 i = 14 ราคา 250 ค่าที่จ่ายได้ 250 , 255 , 260 , 300 , 500 , 1000 i = 15 ราคา 30 ค่าที่จ่ายได้ 30 , 35 , 40 , 50 , 100 , 500 , 1000 i = 16 ราคา 90 ค่าที่จ่ายได้ 90 , 95 , 100 , 500 , 1000 i = 17 ราคา 180 ค่าที่จ่ายได้ 180 , 185 , 190 , 200 , 500 , 1000 i = 18 ราคา 260 ค่าที่จ่ายได้ 260 , 265 , 270 , 280 , 300 , 500 , 1000 i = 19 ราคา 50 ค่าที่จ่ายได้ 50 , 55 , 60 , 100 , 500 , 1000 i = 20 ราคา 330 ค่าที่จ่ายได้ 330 , 335 , 340 , 350 , 400 , 500 , 1000 i = 21 ราคา 180 ค่าที่จ่ายได้ 180 , 185 , 190 , 200 , 500 , 1000 i = 22 ราคา 270 ค่าที่จ่ายได้ 270 , 275 , 280 , 300 , 500 , 1000 i = 23 ราคา 80 ค่าที่จ่ายได้ 80 , 85 , 90 , 100 , 500 , 1000 i = 24 ราคา 80 ค่าที่จ่ายได้ 80 , 85 , 90 , 100 , 500 , 1000 i = 25 ราคา 140 ค่าที่จ่ายได้ 140 , 145 , 150 , 160 , 200 , 500 , 1000 i = 26 ราคา 120 ค่าที่จ่ายได้ 120 , 125 , 130 , 140 , 150 , 200 , 500 , 1000 i = 27 ราคา 130 ค่าที่จ่ายได้ 130 , 135 , 140 , 150 , 200 , 500 , 1000 i = 28 ราคา 120 ค่าที่จ่ายได้ 120 , 125 , 130 , 140 , 150 , 200 , 500 , 1000 i = 29 ราคา 40 ค่าที่จ่ายได้ 40 , 45 , 50 , 60 , 100 , 500 , 1000 i = 30 ราคา 160 ค่าที่จ่ายได้ 160 , 165 , 170 , 180 , 200 , 500 , 1000 i = 31 ราคา 50 ค่าที่จ่ายได้ 50 , 55 , 60 , 100 , 500 , 1000 i = 32 ราคา 200 ค่าที่จ่ายได้ 200 , 205 , 210 , 220 , 250 , 300 , 500 , 1000 i = 33 ราคา 240 ค่าที่จ่ายได้ 240 , 245 , 250 , 260 , 300 , 500 , 1000 i = 34 ราคา 40 ค่าที่จ่ายได้ 40 , 45 , 50 , 60 , 100 , 500 , 1000 i = 35 ราคา 140 ค่าที่จ่ายได้ 140 , 145 , 150 , 160 , 200 , 500 , 1000 i = 36 ราคา 60 ค่าที่จ่ายได้ 60 , 65 , 70 , 80 , 100 , 500 , 1000 i = 37 ราคา 180 ค่าที่จ่ายได้ 180 , 185 , 190 , 200 , 500 , 1000 i = 38 ราคา 30 ค่าที่จ่ายได้ 30 , 35 , 40 , 50 , 100 , 500 , 1000 i = 39 ราคา 280 ค่าที่จ่ายได้ 280 , 285 , 290 , 300 , 500 , 1000 i = 40 ราคา 250 ค่าที่จ่ายได้ 250 , 255 , 260 , 300 , 500 , 1000 i = 41 ราคา 90 ค่าที่จ่ายได้ 90 , 95 , 100 , 500 , 1000 i = 42 ราคา 40 ค่าที่จ่ายได้ 40 , 45 , 50 , 60 , 100 , 500 , 1000 i = 43 ราคา 180 ค่าที่จ่ายได้ 180 , 185 , 190 , 200 , 500 , 1000 i = 44 ราคา 110 ค่าที่จ่ายได้ 110 , 115 , 120 , 150 , 200 , 500 , 1000 i = 45 ราคา 110 ค่าที่จ่ายได้ 110 , 115 , 120 , 150 , 200 , 500 , 1000 i = 46 ราคา 210 ค่าที่จ่ายได้ 210 , 215 , 220 , 250 , 300 , 500 , 1000 i = 47 ราคา 180 ค่าที่จ่ายได้ 180 , 185 , 190 , 200 , 500 , 1000 i = 48 ราคา 30 ค่าที่จ่ายได้ 30 , 35 , 40 , 50 , 100 , 500 , 1000 i = 49 ราคา 90 ค่าที่จ่ายได้ 90 , 95 , 100 , 500 , 1000

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-30 16:54:19 By : lamaka.tor
 


 

No. 6



โพสกระทู้ ( 9,045 )
บทความ ( 2 )



สถานะออฟไลน์


คิด อะไรมากมาย
สิ่งที่ยากที่สุด คือ หาเงินรวมที่ต้องจ่าย ซึ่งก็ทำจนชำนาญกันแล้ว แค่ คูณ หาร บวก
เมื่อ ได้ยอดมาแล้ว ก็นำจำนวนเงิน ที่ลูกค้าให้มา จะเป็นเท่าไหร่ไม่ใช่ประเด็น
น่ำมาหักลบกลบหนี้กัน
ถ้ามีค่าติดลบ ก็ต้องจ่ายเพิ่ม
ถ้าเกิน ก็นำมาเป็นเงินทอน
เอาเงินทอน มาแจง ธนบัตร

ธนบัตร 1000 บาท คงไม่ต้องทอนมั้ง ก็จะเหลือแค่ 500 100 50 20 10 5 2 1 .50 .25 เท่านั้น
ก็เอาจำนวน ราคามาเปรียบเทียบ มากกว่าน้อยกว่า หักลบ ไปเรื่อยๆ จนเหลือ 0 เก็บค่าจำนวนธนบัตร นำมาสรุป จบ

Code (JavaScript)
let b500 = floor(ttl / 500); ttl -= b500 * 500;
let b100 = floor(ttl / 100); ttl -= b100 * 100
let b50 = floor(ttl / 50); ttl -= b50 * 50
let b20 = floor(ttl / 20); ttl -= b20 * 20
let b10 = floor(ttl / 10); ttl -= b10 * 10
let b5 = floor(ttl / 5); ttl -= b5 * 5
let b2 = floor(ttl / 2); ttl -= b2 * 2
let b1 = floor(ttl); ttl -= b1
let b_50 = floor(ttl / 0.5); ttl -= b_50 * 0.5
let b_25 = floor(ttl / 0.25); ttl -= b_25 * 0.25

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 05:52:45 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-03-31 05:52:45
รายละเอียดของการตอบ ::
ของผมหาเงินรวมที่ต้องจ่ายได้แล้วครับ

แต่ความน่าจะเป็นทั้งหมดของเงินที่ลูกค้าจะควักจ่าย ผมยังหาได้แบบไม่สมบูรณ์ ครับ

อย่างที่เห็นใน No. 5 ครับ
ยกตัวอย่าง
i = 2 ราคา 400 ค่าที่จ่ายได้ 400 , 405 , 410 , 420 , 450 , 500 , 1000

จริงๆแล้ว ยอดที่น่าจะควักจ่ายได้ ก็น่าจะเป็น 400 , 500 , 1000
ซึ่งผมก็จะเอา 400 , 500 , 1000 นี้ไปสุ่ม อีกที ว่าถ้าจ่าย 500 ต้องทอนเท่าไหร่ หรือ จ่าย 400 ทอนเท่าไหร่

แต่โค้ด มันออกมาเป็น 400 , 405 , 410 , 420 , 450 , 500 , 1000

ซึ่ง 410 , 420 , 450 เป็นค่าไม่สมเหตสมผลครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 07:53:20 By : lamaka.tor
 


 
ถ้าจะต้องให้สมเหตุสมผลต้องไม่มีการจ่ายเศษของจำนวนเต็ม 10 เช่นบอกว่า
ราคาค่าอาหาร 180 จำนวนที่จะต้องจ่ายได้คือ 180 200 500 1000 เท่านั้น ตามจำนวนเต็มของธนบัตร
จะต้องไม่มี 181 182 185 190 195 เพราะชีวิตจริงไม่มีคนจ่ายแน่ครับ ยกเว้นให้ทริป
ส่วนถ้าค่าอาหาร 23 จะต้องเป็น 23 25 30 40 50 100 เพราะแบงค์ 60 ไม่มี หรือไม่คงไม่มีใครจ่าย 24 เกินไปหนึ่งเหรียญ

ประมาณว่าคุณต่อหรือทรอดี ต้องมีชุดคำสั่งอีกอันครับ คล้าย ML = Machine Learning
เพื่อเปรียบเทียบราคาอาหารกับชุดจำนวนเงินที่จะต้องจ่าย เพื่อ random ขึ้นมาแสดง

ลองดูครับ ว่าแต่คุณ TOR มาไกลมากเลยครับ จากคนที่ไม่เคยเขียนโปรแกรม มาเขียนได้ขนาดนี้
พัฒนาไปไกลกว่าผมอีก 55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 08:19:37 By : บัญดิษฐ
 


 

No. 9



โพสกระทู้ ( 9,045 )
บทความ ( 2 )



สถานะออฟไลน์


ค่าน่าจะเป็น คือค่า ceiling( ยอดจ่าย / ราคาธนบัตรแต่ละใบ) * ราคาธนบัตร

เช่น
ceil(400 / 5) * 5 = 400
ceil(400 / 10) * 10 = 400
ceil(400 / 20) * 20 = 400
ceil(400 / 50) * 50 = 400
ceil(400 / 100) * 100 = 400
ceil(400 / 500) * 500 = 500
ceil(400 / 1000) * 1000 = 1000
จับ array มาหาค่า เดียว ก็จะได้ 400 500 1000
ไปคิดอะไรมากมาย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 08:20:23 By : Chaidhanan
 


 

No. 10



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-03-31 08:20:23
รายละเอียดของการตอบ ::
ผมลองใช้ Ceiling ตามที่ท่านบอกดู

โค้ด
Code (C#)
List<int> payM = new List<int>() { 5,10, 20, 50, 100, 500, 1000 };
     
                List<int> payAll = new List<int>();
                int __mc;
                payAll.Add(mc);
                payM.ForEach(mm =>
                {
                    __mc =Convert.ToInt32( Math.Ceiling (Convert.ToDecimal( mc) / Convert.ToDecimal(mm))  * Convert.ToDecimal(mm));
                    if (!payAll.Contains(__mc))//เช็คค่าซ้ำ
                    {
                        payAll.Add(__mc);
                        richTextBox1.Invoke(new Action(() => richTextBox1.Text += " , " + __mc ));
                    }
                });


ได้ผลดังนี้ครับ

Code
i = 0 ราคา 110 ค่าที่จ่ายได้ 110 , 120 , 150 , 200 , 500 , 1000 i = 1 ราคา 30 ค่าที่จ่ายได้ 30 , 40 , 50 , 100 , 500 , 1000 i = 2 ราคา 190 ค่าที่จ่ายได้ 190 , 200 , 500 , 1000 i = 3 ราคา 230 ค่าที่จ่ายได้ 230 , 240 , 250 , 300 , 500 , 1000 i = 4 ราคา 140 ค่าที่จ่ายได้ 140 , 150 , 200 , 500 , 1000 i = 5 ราคา 170 ค่าที่จ่ายได้ 170 , 180 , 200 , 500 , 1000 i = 6 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 7 ราคา 140 ค่าที่จ่ายได้ 140 , 150 , 200 , 500 , 1000 i = 8 ราคา 150 ค่าที่จ่ายได้ 150 , 160 , 200 , 500 , 1000 i = 9 ราคา 100 ค่าที่จ่ายได้ 100 , 500 , 1000 i = 10 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 11 ราคา 140 ค่าที่จ่ายได้ 140 , 150 , 200 , 500 , 1000 i = 12 ราคา 160 ค่าที่จ่ายได้ 160 , 200 , 500 , 1000 i = 13 ราคา 30 ค่าที่จ่ายได้ 30 , 40 , 50 , 100 , 500 , 1000 i = 14 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 15 ราคา 160 ค่าที่จ่ายได้ 160 , 200 , 500 , 1000 i = 16 ราคา 140 ค่าที่จ่ายได้ 140 , 150 , 200 , 500 , 1000 i = 17 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 18 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 19 ราคา 240 ค่าที่จ่ายได้ 240 , 250 , 300 , 500 , 1000 i = 20 ราคา 330 ค่าที่จ่ายได้ 330 , 340 , 350 , 400 , 500 , 1000 i = 21 ราคา 330 ค่าที่จ่ายได้ 330 , 340 , 350 , 400 , 500 , 1000 i = 22 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 23 ราคา 330 ค่าที่จ่ายได้ 330 , 340 , 350 , 400 , 500 , 1000 i = 24 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 25 ราคา 380 ค่าที่จ่ายได้ 380 , 400 , 500 , 1000 i = 26 ราคา 240 ค่าที่จ่ายได้ 240 , 250 , 300 , 500 , 1000 i = 27 ราคา 30 ค่าที่จ่ายได้ 30 , 40 , 50 , 100 , 500 , 1000 i = 28 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 29 ราคา 220 ค่าที่จ่ายได้ 220 , 250 , 300 , 500 , 1000 i = 30 ราคา 110 ค่าที่จ่ายได้ 110 , 120 , 150 , 200 , 500 , 1000 i = 31 ราคา 230 ค่าที่จ่ายได้ 230 , 240 , 250 , 300 , 500 , 1000 i = 32 ราคา 230 ค่าที่จ่ายได้ 230 , 240 , 250 , 300 , 500 , 1000 i = 33 ราคา 110 ค่าที่จ่ายได้ 110 , 120 , 150 , 200 , 500 , 1000 i = 34 ราคา 90 ค่าที่จ่ายได้ 90 , 100 , 500 , 1000 i = 35 ราคา 40 ค่าที่จ่ายได้ 40 , 50 , 100 , 500 , 1000 i = 36 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 37 ราคา 100 ค่าที่จ่ายได้ 100 , 500 , 1000 i = 38 ราคา 90 ค่าที่จ่ายได้ 90 , 100 , 500 , 1000 i = 39 ราคา 150 ค่าที่จ่ายได้ 150 , 160 , 200 , 500 , 1000 i = 40 ราคา 40 ค่าที่จ่ายได้ 40 , 50 , 100 , 500 , 1000 i = 41 ราคา 300 ค่าที่จ่ายได้ 300 , 500 , 1000 i = 42 ราคา 120 ค่าที่จ่ายได้ 120 , 150 , 200 , 500 , 1000 i = 43 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 44 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 45 ราคา 210 ค่าที่จ่ายได้ 210 , 220 , 250 , 300 , 500 , 1000 i = 46 ราคา 200 ค่าที่จ่ายได้ 200 , 500 , 1000 i = 47 ราคา 20 ค่าที่จ่ายได้ 20 , 50 , 100 , 500 , 1000 i = 48 ราคา 140 ค่าที่จ่ายได้ 140 , 150 , 200 , 500 , 1000 i = 49 ราคา 190 ค่าที่จ่ายได้ 190 , 200 , 500 , 1000 i = 50 ราคา 120 ค่าที่จ่ายได้ 120 , 150 , 200 , 500 , 1000 i = 51 ราคา 30 ค่าที่จ่ายได้ 30 , 40 , 50 , 100 , 500 , 1000 i = 52 ราคา 100 ค่าที่จ่ายได้ 100 , 500 , 1000 i = 53 ราคา 330 ค่าที่จ่ายได้ 330 , 340 , 350 , 400 , 500 , 1000 i = 54 ราคา 50 ค่าที่จ่ายได้ 50 , 60 , 100 , 500 , 1000 i = 55 ราคา 200 ค่าที่จ่ายได้ 200 , 500 , 1000 i = 56 ราคา 20 ค่าที่จ่ายได้ 20 , 50 , 100 , 500 , 1000 i = 57 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 58 ราคา 100 ค่าที่จ่ายได้ 100 , 500 , 1000 i = 59 ราคา 30 ค่าที่จ่ายได้ 30 , 40 , 50 , 100 , 500 , 1000 i = 60 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 61 ราคา 40 ค่าที่จ่ายได้ 40 , 50 , 100 , 500 , 1000 i = 62 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 63 ราคา 240 ค่าที่จ่ายได้ 240 , 250 , 300 , 500 , 1000 i = 64 ราคา 130 ค่าที่จ่ายได้ 130 , 140 , 150 , 200 , 500 , 1000 i = 65 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 66 ราคา 40 ค่าที่จ่ายได้ 40 , 50 , 100 , 500 , 1000 i = 67 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 68 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 69 ราคา 120 ค่าที่จ่ายได้ 120 , 150 , 200 , 500 , 1000 i = 70 ราคา 120 ค่าที่จ่ายได้ 120 , 150 , 200 , 500 , 1000 i = 71 ราคา 170 ค่าที่จ่ายได้ 170 , 180 , 200 , 500 , 1000 i = 72 ราคา 210 ค่าที่จ่ายได้ 210 , 220 , 250 , 300 , 500 , 1000 i = 73 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 74 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 75 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 76 ราคา 120 ค่าที่จ่ายได้ 120 , 150 , 200 , 500 , 1000 i = 77 ราคา 320 ค่าที่จ่ายได้ 320 , 350 , 400 , 500 , 1000 i = 78 ราคา 250 ค่าที่จ่ายได้ 250 , 260 , 300 , 500 , 1000 i = 79 ราคา 210 ค่าที่จ่ายได้ 210 , 220 , 250 , 300 , 500 , 1000 i = 80 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 81 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 82 ราคา 250 ค่าที่จ่ายได้ 250 , 260 , 300 , 500 , 1000 i = 83 ราคา 220 ค่าที่จ่ายได้ 220 , 250 , 300 , 500 , 1000 i = 84 ราคา 60 ค่าที่จ่ายได้ 60 , 100 , 500 , 1000 i = 85 ราคา 120 ค่าที่จ่ายได้ 120 , 150 , 200 , 500 , 1000 i = 86 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 87 ราคา 330 ค่าที่จ่ายได้ 330 , 340 , 350 , 400 , 500 , 1000 i = 88 ราคา 110 ค่าที่จ่ายได้ 110 , 120 , 150 , 200 , 500 , 1000 i = 89 ราคา 150 ค่าที่จ่ายได้ 150 , 160 , 200 , 500 , 1000 i = 90 ราคา 180 ค่าที่จ่ายได้ 180 , 200 , 500 , 1000 i = 91 ราคา 130 ค่าที่จ่ายได้ 130 , 140 , 150 , 200 , 500 , 1000 i = 92 ราคา 30 ค่าที่จ่ายได้ 30 , 40 , 50 , 100 , 500 , 1000 i = 93 ราคา 90 ค่าที่จ่ายได้ 90 , 100 , 500 , 1000 i = 94 ราคา 40 ค่าที่จ่ายได้ 40 , 50 , 100 , 500 , 1000 i = 95 ราคา 320 ค่าที่จ่ายได้ 320 , 350 , 400 , 500 , 1000 i = 96 ราคา 80 ค่าที่จ่ายได้ 80 , 100 , 500 , 1000 i = 97 ราคา 160 ค่าที่จ่ายได้ 160 , 200 , 500 , 1000 i = 98 ราคา 280 ค่าที่จ่ายได้ 280 , 300 , 500 , 1000 i = 99 ราคา 330 ค่าที่จ่ายได้ 330 , 340 , 350 , 400 , 500 , 1000 Complete


ผมว่าน่าจะเป็นค่าที่สมเหตุสมผลนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 09:18:29 By : lamaka.tor
 


 

No. 11



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 8 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2021-03-31 08:19:37
รายละเอียดของการตอบ ::
ผมยังต้องเรียนอีกเยอะมากเลยนะครับ
ส่วนตัวผมมองว่า การเขียนโปรแกรมมันสามารถช่วยงานได้แทบจะทุกสาขา(หรือทุกสาขา) เลยก็ว่าได้ครับ
เป็นรูปแบบทักษะที่จับต้องได้ง่าย ถึงแม้จะเชี่ยวชาญได้ยากก็ตามครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 09:24:03 By : lamaka.tor
 


 

No. 12



โพสกระทู้ ( 9,045 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : lamaka.tor เมื่อวันที่ 2021-03-31 09:24:03
รายละเอียดของการตอบ ::
ไม่ต้องเชี่ยวชาญในการเขียน โค๊ด
แต่ให้เชี่ยวชาญในการกำหนด algorithm มองงานออก เข้าใจงานที่ทำ เดี๋ยวมันก็ประยุกต์ โค๊ด ใช้ได้เอง แม้จะช้าหน่อย หรือก็สั่งให้โปรแกรมเมอร์ เขียนให้ 55555


ทำตัวให้เป็น SA ไม่ต้องเขียนโค๊ดเป็นทุกภาษา แค่รู้จักไวยกรณ์ของทุกภาษา(ป้องกันการโดนหลอก จากโปรแกรมเมอร์ และการอ้างมั่วๆ 55555)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 09:34:44 By : Chaidhanan
 


 

No. 13



โพสกระทู้ ( 4,226 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

1

2

3

4

5


ถึงเวลาที่ต้องส่งการบ้านละครับ

เติบโตมาแล้วก็มองย้อนไปดูความลำบากที่ตัวเองเคยประสบ
ไม่อยากให้คนรุ่นหลังต้องลำบากเหมือนที่เคยเจอ

อย่างน้อยให้เขาได้มีความรู้ติดตัวไว้
วันหน้าเขาจะได้ไม่ลำบากจนเกินไปนัก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 09:55:10 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# มีใครมีโค้ด เกี่ยวกับ การนับเงิน มั่งไม๊ครับ รบกวนของแบ่งปันความรู้หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , pangpond.com , pangpond.co.th , สำนักงานบัญชี.com , รถมือสอง

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2021 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่