ยินดีต้อนรับเข้าสู่ jokergameth.com
jokergame
jokergame shop webboard Article Social


Colocation, VPS


joker123


เว็บไซต์เราจะอยู่ไม่ได้หากขาดเขาเหล่านี้ รวมช่วยกันสนับสนุนสปอนเซอร์ของพวกเรา

colocation,โคโลเคชั่น,ฝากเซิร์ฟเวอร์ game pc โหลดเกม pc slotxo Gameserver-Thai.com Bitcoin โหลดเกมส์ pc
ให้เช่า Colocation
รวมเซิฟเวอร์ Ragnarok
Bitcoin

กำลังแสดงผล 1 ถึง 15 จากทั้งหมด 15
  1. #1
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355

    วานช่วยแก้ code ภาษา C ให้หน่อยครับ

    ช่วยแก้ Code จาก Random number เป็นเรากำหนดเอง 1 ถึง 10
    แล้วก็เพิ่มถ้าใส่ผิดเกิน 5 ครั้งให้แสดงเป็น You Wrong จบการทำงาน
    ชื่อเกมส์ ทายค่าตัวเลข

    ปล.อันนี้เพื่อนผมเขียนมาให้อะครับแต่ทีนี้ผมลอง run ดูแล้วมันยังไม่เป็นไปตามที่โจทย์อาจารย์ให้มาใกล้ส่งแล้วช่วยทีครับ T_T
    จริงๆอยากให้ช่วยอธิบายการทำงานด้วยแต่ไม่กล้าเกรงใจ ผมเรียนภาษา pascal แต่ผมอยากเรียน ภาษา C มากกว่าเลยเรียนไม่รู้เรื่อง
    อาจารย์สั่งงานไม่ดูเลยว่าเรียนถึงไหน จริงๆต้องสร้างเป็นตัวโปรแกรมออกมาเลยแหละ เพื่อนผมมันบอกว่าใช้ Visaul จะได้ไม่ยุ่งยากเรื่อง interface
    แต่ผมใช้ไม่เป็นเลยแหละ = = ขอโทษทีรบกวนครับฝากที มีอะไรผิดพลาดบอกผมนะครับผมก็ไม่ชัวร์เหมือนกันว่าถูกไหมแต่เพื่อนมันบอก Run ได้ละกัน -*-


    #include<iostream>
    #include <stdlib.h> /* srand, rand */
    #include <time.h>
    using namespace std;
    int main()
    {
    int num,total_try,user_num;

    srand((unsigned int)time(NULL));

    /* generate secret number between 1 and 10: */
    num =rand() % 10 + 1;

    total_try=0;
    do {
    cout<<"Give number 1-10 :";
    cin>>user_num;
    total_try++;

    if (num<user_num){
    cout<< "Big Number Motherfucker\n";}
    else if (num>user_num){
    cout<<"Small Number Yesh and your dick is small bitch \n";}
    else if (num==user_num){
    cout<<"You Win lol kid you can do it \n";}
    }
    while (num!=user_num);

    cout<<"total try="<<total_try<<endl;
    system("pause");
    return 0 ;
    }
    joker123
    แก้ไขครั้งสุดท้ายโดย Mcarmy : 15th January 2014 เมื่อ 23:45

  2. #2
    ชอบดูไม่ชอบโพสต์
    วันที่สมัคร
    Jan 2012
    กระทู้
    32
    กล่าวขอบคุณ
    0
    ได้รับคำขอบคุณ: 4
    ยังไม่ได้ใส่เงื่อนไขการ break ออกจาก loop ครับ อย่างในกรณี total_try++ บวกไปแล้วไงต่อครับ จะให้ทำอะไร บวกไปทำไม ??? เงื่อนไขก็คือทายเกิน 5 ครั้ง ให้จบการทำงาน เราก็ให้ break ออกจาก loop do while ก็เขียน if(total_try > 4) แล้วก็ break ไปครับ อันนี้มันวน loop เรื่อยๆตามเท่าที่ num!=user_num ซึ่งก็คือ เราทายเลขไม่ถูกเรื่อยๆ มันก็วนเรื่อยๆ ผมว่าเพื่อนคุณ ทำถูกแล้ว แต่เค้าไม่เขียนให้หมด เพื่อให้คุณลอง debug เอง ลองแก้ปัญหาเอง ไม่งั้นเค้าจะประกาศ total_try มานับรอบการวนลูปทำไมครับ ลองดูครับ

  3. สมาชิกที่กล่าวขอบคุณ:


  4. #3
    นักวิทยาศาสตร์
    วันที่สมัคร
    Jul 2011
    ที่อยู่
    ประเทศไทย
    กระทู้
    1,154
    กล่าวขอบคุณ
    1,235
    ได้รับคำขอบคุณ: 1,099
    ผมก็เขียนเป็นประมาณนี้ แต่อยากเขียนโปรแกรมแบบเมพจริงๆจัง ยังทำไม่ได้สักทีเลย แนะนำหน่อยสิ

  5. สมาชิกที่กล่าวขอบคุณ:


  6. #4
    สมาชิกเต็มตัว
    วันที่สมัคร
    Mar 2012
    กระทู้
    13
    กล่าวขอบคุณ
    0
    ได้รับคำขอบคุณ: 4
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int main()
    { int Num,Num_User,i,Flag=0;
    system("COLOR A");
    while(true)
    { printf("Input Number (1 - 10): "); scanf("%d",&Num);
    if(Num < 1 || Num > 10)
    { printf("\n\n\n\n\n\n\n\n\n\t\t\t Not Complete");
    printf("\n\n\t\t\tpress ENTER to try agin");
    getch();
    system("CLS");
    }
    else { system("CLS"); break; }
    }
    printf("Try input number 1-10 (5 Round)\n\n");
    for(i=1;i<6;i++)
    { printf(" Round %d NO. : ",i); scanf("%d",&Num_User);
    if(Num_User == Num) { Flag = 1; break; }
    if(Num_User < 1 || Num_User > 10)
    { printf(" ERROR! you input number over lenght press try agin\n\n");
    i--;;
    }
    }
    if(Flag == 1) { printf("\n\n\n\n\n\n\t\t\t You Win");
    printf("\n\n\t\t\t Answer %d you have %d time",Num,i);
    }
    else { printf("\n\n\n\n\n\t\t\t\tGame Over !");
    printf("\n\n\t\t\t\tAnswer is %d",Num);
    }
    getch();
    return 0;
    }

  7. สมาชิกที่กล่าวขอบคุณ:


  8. #5
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355
    สุดยอดเลยท่านขอบคุณมากๆ ทำใหม่ให้เลย ยกย่องเลยนะนี่
    พอดีผมพึ่งมาดูหลังจากหายไปนาน ขอบคุณมากเลยครับ
    แต่อยากให้ช่วยอธิบายการทำงานให้ด้วยอ่ะครับผมอยากรู้ขั้นตอนมันประมวลผลอย่างไร
    ไว้ศึกษาด้วยครับขอบคุณท่านมากๆ

  9. #6
    Flying on Winds Love..
    วันที่สมัคร
    Jul 2011
    ที่อยู่
    In hearth all every body
    กระทู้
    1,853
    กล่าวขอบคุณ
    1,079
    ได้รับคำขอบคุณ: 4,974
    Blog Entries
    1
    เอาแบบ Java ไหมครับ ^^
    ADMIN @ ZEEDZAB.COM


  10. สมาชิกที่กล่าวขอบคุณ:


  11. #7
    ชอบโพสต์เป็นชีวิตจิตใจ
    วันที่สมัคร
    Apr 2012
    กระทู้
    461
    กล่าวขอบคุณ
    0
    ได้รับคำขอบคุณ: 409
    ผม code อันเดิมที่คุณ holeinone9 ผมแก้ code เสียดาย indent ไม่ได้
    ถ้าอยากเขียน code ให้เทพนะครับแนะนำว่าให้ indent และเขียน code ให้อ่านง่ายแบ่งเป็นส่วนให้ชัดเจน

    ถ้า break เยอะมันจะอ่าน code ยากเท่าครับ ถ้าทำงานด้านนี้จะรู้ว่าไม่ควรเขียน break บ่อยบ่อย
    เพราะแทนที่เราจะรุ้ว่าลูปนี้จะทำอะไรเราต้องดูลึกเอาไปในเงื่อนไข ถ้า code ไม่ยาวก็ไม่ฏ้ไม่รู้สึกอะไร
    แต่ถ้า code ยาวยาวอ่านเองไม่ออกแล้วจะหนาวครับ ดีไม่ดีถึงกับเขียนใหม่


    สิ่งที่ผมแก้เพิ่มให้ก็คือ
    1.แก้การเช็คเงื่อนไขที่ซ้ำซ้อนกัน
    2.แก้ไขการรับข้อมูลเข้าให้เช็คที่ while แทน if
    3.ใช้ฟังก์ชั่นเพื่อให้อ่าน code ได้ง่ายยิ่งขึ้น

    (ผมขอใช้ตัวแปล global variable นะครับแม้ว่าจะผิดหลักก็เถอะ)

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

    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>

    void input_number() {
    printf("Input Number (1 - 10): ");
    scanf("%d",&Num);
    while(Num < 1 || Num > 10){ /*(ถ้ารับค่าแล้วเป็นเลข 1-10 ก็จะหยุดรับค่า)*/
    printf("\n\n\n\n\n\n\n\n\n\t\t\t Not Complete");
    printf("\n\n\t\t\tpress ENTER to try agin");
    getch(); /*(รับค่า 1 ค่าจากแป้นพิมพ์โดยไม่แสดงอักษร ปกติมักจะใช้เพื่อหยุด)*/
    printf("Input Number (1 - 10): ");
    scanf("%d",&Num);
    system("CLS");
    }
    }

    void proces_snumber() {
    printf("Try input number 1-10 (5 Round)\n\n");
    while(i<6||Flag==1){ /*(ถ้าสุ่มเลขเกิน 5 หรือทายเลขถูกให้ออกลูป)*/
    printf(" Round %d NO. : ",i);
    scanf("%d",&Num_User);
    if(Num_User >= 1 && Num_User <= 10){ /*(ตวรจว่าเลขนั่นอยู่ในช่วง 1-10 รึเปล่า)*/
    i++;
    if(Num_User == Num) { /*(ตวรจว่าเลขนั่นทายถูกรึเปล่า)*/
    Flag = 1;
    }
    }
    else{
    printf(" ERROR! you input number over length press try agin\n\n");
    }
    }
    }

    void display_number() {
    if(Flag == 1) { /*(ส่วนแสดงผลตอนท้าย ถ้าชนะแสดงว่า....)*/
    printf("\n\n\n\n\n\n\t\t\t You Win");
    printf("\n\n\t\t\t Answer %d you have %d time",Num,i);
    }
    else { /*(ส่วนแสดงผลตอนท้าย ถ้าแพ้แสดงว่า....)*/
    printf("\n\n\n\n\n\t\t\t\tGame Over !");
    printf("\n\n\t\t\t\tAnswer is %d",Num);
    }
    getch();
    }

    void main() {
    int Num,Num_User,i=1,Flag=0;
    system("COLOR A");
    input_number(); /*(เรียกฟังก์ชั่นที่ทำหน้าที่รับข้อมูล)*/
    process_number(); /*(เรียกฟังก์ชั่นที่ทำหน้าที่ตรวจสอบข้อมูล)*/
    display_number(); /*(เรียกฟังก์ชั่นที่ทำหน้าที่แสดงข้อมูล)*/
    }

    ไม่รู้ว่าจะช่วยได้มากแค่ไหนผมก็ code ไม่ค่อยเก่งเหมือนกัน ยังได้แค่พื้นพื้นเท่านั้น
    ผลลัพธ์ก็ได้เหมือนคนด้านบนนั่นแหละครับ แม้ว่าบรรทัดของผมจะเยอะกว่าแต่ perfomance และ การนำไปใช้ต่อจะดีกว่าครับ
    แก้ไขครั้งสุดท้ายโดย nekoload : 10th February 2014 เมื่อ 03:06

  12. #8
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355
    อ้างถึง กระทู้ต้นฉบับโดยคุณ ninwatza อ่านกระทู้
    เอาแบบ Java ไหมครับ ^^
    = = ผมยังอยู่แค่ ตระกูล C ครับ ถ้ามาเป็นตัวอื่นคงทำให้ผมงงจนเหมือนหูฟังโทรศัพท์ที่ยัดใส่กระเป๋าทั้งๆที่ยังไม่พันแต่พอดึงออกจากกระเป๋าก็เกิดการพันมั่วไปหมดเป็นไปได้ไงก็ไม่รู้
    ตอนนี้ผมกำลัง อธิบาย ขั้นตอนการทำงานในแต่ล่ะส่วน ของ Code ท่าน holeinone9 ท่านนี้ออกแบบได้เจ๋งจริงๆ แต่ผมไม่มีความรู้มากพอจึงอยากให้ช่วยอธิบายการทำงานให้ด้วยครับ

    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int main()
    { int Num,Num_User,i,Flag=0; ตรงนี้คือกำหนดค่าตัวแปร หรือ ประกาศตัวแปรครับ
    system("COLOR A");
    while(true) //*ผมไม่เข้าใจส่วนนี้หน่ะครับ
    { printf("Input Number (1 - 10): "); scanf("%d",&Num);
    if(Num < 1 || Num > 10)
    { printf("\n\n\n\n\n\n\n\n\n\t\t\t Not Complete");
    printf("\n\n\t\t\tpress ENTER to try agian");
    getch(); การใช้ ฟังชั่นตัวนี้มันหมายถึงอะไรรึครับ
    system("CLS");
    }
    else { system("CLS"); break; }
    }
    printf("Try input number 1-10 (5 Round)\n\n");
    for(i=1;i<6;i++) //*ตรงส่วนนี้งงที่สุดเลย เข้าใจว่ากำหนดรอบแต่ว่าอธิบายไม่ถูก = =
    { printf(" Round %d NO. : ",i); scanf("%d",&Num_User);
    if(Num_User == Num) { Flag = 1; break; } ส่วนนี้ผมไม่เข้าใจนะครับ
    if(Num_User < 1 || Num_User > 10)
    { printf(" ERROR! you input number over lenght press try agin\n\n");
    i--;; ตรงนี้ด้วยครับ
    }
    }
    if(Flag == 1) { printf("\n\n\n\n\n\n\t\t\t You Win");
    printf("\n\n\t\t\t Answer %d you have %d time",Num,i);
    }
    else { printf("\n\n\n\n\n\t\t\t\tGame Over !");
    printf("\n\n\t\t\t\tAnswer is %d",Num);
    }
    getch();
    return 0;
    }
    ผมอยากทราบการใช้ %d มันหมายถึงอะไรและจำเป็นที่จะต้องตามด้วย ตัวแปร ใช่ไหมครับ
    จะสังเกตุเห็นบันทัดแรกที่ใช้ &num & ตัวนี้มันหมายถึงอะไรเหรอครับ

    จริงๆแล้วถ้าอธิบายมาเป็นลำดับเลยอาจจะดีกว่านะครับ ผมจะลองศึกษาการทำงานของมัน
    แก้ไขครั้งสุดท้ายโดย Mcarmy : 10th February 2014 เมื่อ 03:16

  13. #9
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355
    อันนี้คือผลงานผมเองครับ แต่ขอบอกมั่วมากๆ
    ยังไงก็ช่วยทำให้ถูกทีครับ สมองผมจะระเบิดเป็นโกโก้ครั้นอยู่ล่ะ ยิ่งเป็นคนเข้าใจอะไรยากอยู่ด้วย
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int main() ประกาศตัวแปร
    { int Num,Num_User,i,Flag=0;
    system("COLOR A"); เปลี่ยนสีให้เป็นสีเขียว
    while(true) ทำขณะเป็นจริง
    { printf("Input Number (1 - 10): "); scanf("%d",&Num); แสดง ข้อความ input number (1 - 10):_
    if(Num < 1 || Num > 10) ถ้าใส่จำนวนที่น้อยกว่า 1 หรือ( | | ) มากกว่า 10
    //*if ถ้าเป็น จริง(หมายถึงเราใส่ตัวเลขน้อยหรือมากกว่าก็จะเป็นจริงให้ทำตามส่วนของ if)
    //*if ถ้าเป็น เท็จ (หมายถึงเราใส่ตัวเลขที่กำหนด 1-10 ก็ให้ข้ามไปทำ Else)
    { printf("\n\n\n\n\n\n\n\n\n\t\t\t Not Complete"); ให้แสดง Not complete
    printf("\n\n\t\t\tpress ENTER to try again");ในบรรทัดต่อมาแสดง Enter to try again เพื่อใส่ตัวเลขให้ถูกต้อง
    getch();
    system("CLS"); เรียกใช้การล้างหน้าจอ ในส่วนของ Not complete Enter to try again
    }
    else { system("CLS"); break; } ถ้าเงื่อนไขเป็นจริง( ใส่ตัวเลข1-10 ) ให้ล้างหน้าจอ และ หยุดการทำงานในส่วนของข้างบนและเริ่มทำขั้นตอนต่อไป
    }

    printf("Try input number 1-10 (5 Round)\n\n"); ให้แสดง Try ... ใส่ตัวเลข 1 - 10 (5 ครั้ง)
    for(i=1;i<6;i++) กำหนด loop ด้วย for
    { printf(" Round %d NO. : ",i); scanf("%d",&Num_User);
    if(Num_User == Num) ถ้า Num_user เท่ากับ Num
    { Flag = 1; break; } ให้หยุดการทำงานแล้วเริ่มในส่วนของ if (flag ==1)
    if(Num_User < 1 || Num_User > 10) ถ้าใส่ตัวเลขน้อยกว่า หรือมากกว่า 10 ให้แสดง ERROR! you in put number over...
    { printf(" ERROR! you input number over lenght press try again\n\n");
    i--;;
    }
    }
    if(Flag == 1) { printf("\n\n\n\n\n\n\t\t\t You Win"); ถ้า Flag ==1 ให้แสดง You Win
    printf("\n\n\t\t\t Answer %d you have %d time",Num,i);บรรทัดต่อจาก You win แสดง ตัวที่เลขที่กำหนดไว้(%d)(และจำนวนครั้ง)
    }
    else { printf("\n\n\n\n\n\t\t\t\tGame Over !"); แต่ถ้าไม่ใช่ if ==1 ให้แสดง Game over
    printf("\n\n\t\t\t\tAnswer is %d",Num);บรรทัดต่อจาก Game over ให้แสดง ตัวเลขที่กำหนด(%d)
    }
    getch();
    return 0; โปรแกรมได้ทำงานเสร็จแล้วส่งกลับไปที่ main จบการทำงาน
    }

  14. #10
    ชอบโพสต์เป็นชีวิตจิตใจ
    วันที่สมัคร
    Jul 2011
    กระทู้
    113
    กล่าวขอบคุณ
    8
    ได้รับคำขอบคุณ: 43
    ผมว่า โค้ดนี้ก็ถูกนะครับ แต่ต้องเพิ่ม เงื่อนไขใน loop while ให้เช็ค total_try ด้วยว่า มันมากกว่า 5 หรือเปล่า
    หรือไม่ก็เพิ่ม else if ก็ได้ครับ เอาไว้ดัก total_try ถ้าเกิน 5 ให้ break; แล้วออกจากการทำงานเอา

    ปล. C++

    อ้างถึง กระทู้ต้นฉบับโดยคุณ Mcarmy อ่านกระทู้

    #include<iostream>
    #include <stdlib.h> /* srand, rand */
    #include <time.h>
    using namespace std;
    int main()
    {
    int num,total_try,user_num;

    srand((unsigned int)time(NULL));

    /* generate secret number between 1 and 10: */
    num =rand() % 10 + 1;

    total_try=0;
    do {
    cout<<"Give number 1-10 :";
    cin>>user_num;
    total_try++;

    if (num<user_num){
    cout<< "Big Number Motherfucker\n";}
    else if (num>user_num){
    cout<<"Small Number Yesh and your dick is small bitch \n";}
    else if (num==user_num){
    cout<<"You Win lol kid you can do it \n";}
    else if (total_try<5){
    break; }

    }
    while (num!=user_num && total_try < 5); //ลองเพิ่ม เงื่อนไขเข้าไป total_try < 5

    cout<<"total try="<<total_try<<endl;
    system("pause");
    return 0 ;
    }
    สำหรับโค้ดข้างบน ให้ดูที่ บรรทัด >>> while(true) ทำขณะเป็นจริง
    ลองเปลี่ยนนจาก true เป็น 1 ดูครับ
    แก้ไขครั้งสุดท้ายโดย LittleAuraz : 10th February 2014 เมื่อ 14:53

  15. สมาชิกที่กล่าวขอบคุณ:


  16. #11
    สมาชิกเต็มตัว
    วันที่สมัคร
    Mar 2012
    กระทู้
    13
    กล่าวขอบคุณ
    0
    ได้รับคำขอบคุณ: 4
    #include<stdio.h> \\ เรียกใช้ Library
    #include<conio.h> \\ เรียกใช้ Library
    #include<stdlib.h> \\ เรียกใช้ Library (พวก system เป็นโค้ดแบบ Dos)
    int main()
    { int Num,Num_User,i,Flag=0;
    system("COLOR A"); \\ เปลี่ยนเป็นสีเขียว
    while(true) \\ มันก็เหมือน While ปกติแต่มันจะวนไม่รู้จบ ไม่กำหนดเงื่อนไขใดๆ
    { printf("Input Number (1 - 10): "); scanf("%d",&Num); \\ %d คือการเก็บแบบ Integer , &Num ให้เก็บไว้ที่ตัวแปร Num
    if(Num < 1 || Num > 10) \\ เช็คว่าตัวเลขที่คีย์เข้ามา มีค่าไม่ได้อยู่ในช่วง 1-10 ถ้าไม่อยู่จะเข้าทำ if
    { printf("\n\n\n\n\n\n\n\n\n\t\t\t Not Complete");
    printf("\n\n\t\t\tpress ENTER to try agin");
    getch(); \\ หยุดรอรับคำสั่งจากคีย์บอร์ด ปุ่มไหนก็ได้ พอกดแล้วถึงจะทำงานต่อ ถ้าไม่ใส่มันจะรันผ่านไปเลย ไม่หยุด จะทำให้ผู้ใช้งงได้
    system("CLS"); \\ เคลียหน้าจอ และก็กลับไปตั้งแต่ต้น ตอนเข้า loop while
    }
    else { system("CLS"); break; } \\ ถ้าไม่เข้า if แสดงว่าอยู่ในช่วง 1-10 ก็จะหลุดจาก loop while
    }
    printf("Try input number 1-10 (5 Round)\n\n");
    for(i=1;i<6;i++) \\ ไว้สำหรับนับรอบ ให้ได้ 5 รอบ
    { printf(" Round %d NO. : ",i); scanf("%d",&Num_User); \\ รับค่าตัวเลขที่ทายเข้ามาใน Num User
    if(Num_User == Num) { Flag = 1; break; } \\ ถ้าค่าที่ทาย = ค่าตอนแรกที่กำหนด ก็จะให้ตัวแปร Flag = 1 และก็หยุด
    if(Num_User < 1 || Num_User > 10) \\ ถ้าตัวเลขที่กรอกมาไม่ได้อยู่ในช่วง 1-10 ก็จะเข้า if
    { printf(" ERROR! you input number over lenght press try agin\n\n");
    i--;; \\ สมมุติเล่นไป 3 รอบ (I = 3) ยังทายไม่ถูก รอบที่ 4 (I = 4)เกิดพิมพ์ผิดเป็น 11 เกินช่วงที่กำหนดไว้ โปรแกรมก็จะเข้า if แล้วก็ ลดค่าตัวแปร I ลง 1 (I = 3) แล้วโปรแกรมก็ขึ้นไปวน for ใหม่ i++ (I = 4) หมายความว่ารอบที่ 4 ครั้งแรกที่พิมพ์ผิดไม่นับ ให้พิมพ์ครั้ง 4 ใหม่
    }
    }
    if(Flag == 1) { printf("\n\n\n\n\n\n\t\t\t You Win"); \\ ถ้า Flag = 1 ก็หมายความตัวเลขที่ทายนั้นตรงกับตัวเลขที่กำหนด ก็จะพิมพ์ You Win ( flag = 1 จากบรรทัดบน )
    printf("\n\n\t\t\t Answer %d you have %d time",Num,i); \\ แต่ถ้า Flag ไม่เท่ากับ 1 ก็คือเลขที่ทายทั้ง 5 ครั้ง ไม่ตรงกำเลขที่กำหนดเลยสักครั้ง เลยไม่มีครั้งไหนได้เข้าไปทำงานใน if ที่ทำให้ Flag = 1 ( Flag = 0 เพราะเรากำหนดแต่แรก )
    }
    else { printf("\n\n\n\n\n\t\t\t\tGame Over !");
    printf("\n\n\t\t\t\tAnswer is %d",Num);
    }
    getch();
    return 0;
    }

    ต้องขออภัยด้วยถ้าพิมพ์ผิดพลาดหรืออธิบายไม่ถูกต้อง ผมพยายามเขียนโปรแกรมและอธิบาย แบบสั้นๆ เข้าใจง่ายๆ

  17. สมาชิกที่กล่าวขอบคุณ:


  18. #12
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355
    ขอบคุณท่านมากๆเลยครับท่านผมทำเสร็จแล้วเหลือ Flowchart สุดท้ายแล้ว ขอบคุณทุกๆท่านจริงๆที่ช่วยเหลือ

  19. #13
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355
    อันนี้ผมตามความคิดผมนะครับ แต่ยังไม่แน่ใจว่าถูกต้องไหม ถ้ามีส่วนใดผิดแนะผมทีครับ ส่วนสุดท้ายแล้วครับ


  20. #14
    ชอบดูไม่ชอบโพสต์
    วันที่สมัคร
    Nov 2011
    กระทู้
    93
    กล่าวขอบคุณ
    9
    ได้รับคำขอบคุณ: 48
    อืม flow chart ที่คุณ Mcarmy ทำขึ้นมา

    ทำให้ดู โปรแกรม เข้าใจได้ง่าย ๆ

    ผมว่า เป็นแบบอย่างที่ดีเลยครับ

    นอกจากทำให้ตัวเอง เข้าใจยังทำให้

    คนอื่นมาดู เข้าใจได้ง่ายขึ้นด้วย


    ผมว่าเป็นแนวทางที่ดี

    ผมเอง ก็ยังไม่เก่งมาก

    ก็เลยชอบมาดู เวลาคนในระดับ

    เดียวกัน ลองทำ code ดู


    แต่ผมว่า คุณ Mcarmy มีโอกาส

    เป็น นักเขียนโปรแกรมได้มากกว่า ผมนะ

    เพราะแก สามารถทำให้คนอื่น เข้าใจโปรแกรม

    แกได้มากกว่า ผมว่าอันนี้ สำคัญที่สุด


    ผมว่าจะเอาอย่างบ้าง

    เชื่อไหม โปรแกรมหลาย class

    คือ java น่ะ ผมเรียนมันอันแรก

    ก่อนมาเรียน C


    ผมมาอ่านอีกที ใช้ความเข้าใจอยู่นาน

    เพราะไม่ยอมเขียน อธิบายไว้

    ถ้ายิ่งทำเป็น flow chart ก็สุดยอดเลย


    ผมว่า คุณ Mcarmy ทำดีแล้วครับ

    ผมสนับสนุน ผมเองจะเลียนแบบคุณ

    ในแง่นี้ด้วย ตอนนี้ ผมเองก็เรียนอยู่


    แต่ไปเน้นหนัก พวก คณิตศาสตร์

    กับ ฟิสิกส์ ให้มันมีอะไร ในหัวมากขึ้น

    เวลาเขียนโปรแกรม จะได้หลากหลายมากขึ้น

    ผมว่าสำคัญเหมือนกัน เพราะหลัง ๆ ความคิด

    ผมเริ่มไม่แล่นเท่าไหร่ เหมือนว่า ความรู้เรา

    ในด้านการคำนวณ ยังน้อยเกินไป


    สู้ ๆ ครับ ผมก็ สู้ ๆ เหมือนกัน

  21. สมาชิกที่กล่าวขอบคุณ:


  22. #15
    JUST DO IT !!
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    1 AU (5.1.3Wiki)
    กระทู้
    2,733
    กล่าวขอบคุณ
    60
    ได้รับคำขอบคุณ: 1,355
    เอิ่ม... ผม ไม่ได้เขียน code เองนะครับ ท่าน holeinone9 เป็นคนเขียน code
    และก็อธิบาย หลักการทำงานให้ด้วย

    จริงๆแล้ว ผมเขียน code ยังไม่เป็นเลย = = ถ้าจะให้เขียน hello world ก็พอทำได้อยู่
    ส่วน Flowchart ผมสร้างขึ้นมาตามที่หัวผมคิดว่า โปรแกรมทำงานอย่างไรเป็นขั้นตอนลงมา โดยใช้วิธีดู การอธิบายหลักการทำงานของคุณ holeinone9
    ผมเองยังไม่แน่ใจเลยว่าถูกไหม กลัวว่าถ้ามันผิดแล้วมีคนมาเข้าใจผิดตามผม นี่ผมคงรู้สึกไม่ดี เอาเป็นว่า อย่าพึ่งวางใจครับให้ท่าน ผู้รู้อีกหลายๆคนมายืนยัน

    การเขียน Flowchart เป็นเหมือนการสื่อสารโดยมือ ถ้ามีคนมาพูดโปรแกรม ทำงานอย่างงี้นะ เมื่อ while จริงก็จะหยุดวนรอบ ไปทำตัวนี้นะ ในระหว่างนี้ โปรแกรมก็กำลัง บลาๆ แบบนี้มันไม่เข้าใจกันหรอกถ้าไม่เก่งจริงๆ
    เพราะฉะนั้นเค้าจึงสร้าง Flowchart มาเพื่อสื่อสารให้เข้าใจกันว่าโปรแกรมจะทำงานอย่างไร ในความคิดของผม

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

    แต่เพราะอะไรรู้ไหมที่ทำให้ผมมาได้ถึงขนาดนี้ (หมายถึงใน กระทู้นี้นะ) เพราะมันใกล้ถึงเวลาส่งงานแล้วนั่นเอง
    จริงๆจะปิดกระทู้ละครับ แต่ผมรอท่านใดๆมายืนยัน Flowchart ก่อน
    แต่ท่านเรปบนมาโพสแบบนี้ผมก็เปิดไว้ให้เป็นความรู้กับคนต่อๆไปละกันที่ กำลังหา CODE โปรแกรมทายตัวเลข
    ผมใส่ Credit : holeinone9 ก่อนจบโปรแกรม ไว้ด้วย เพื่อที่ว่าท่านนี้ได้เขียนโปรแกรมมาช่วยให้ผมทำงานจนสำเร็จ
    และท่านทุกคนที่ช่วยเหลือผม ขอบคุณอย่างสุดซึ๊งจัดไปหนึ่งที


    แก้ไขครั้งสุดท้ายโดย Mcarmy : 11th February 2014 เมื่อ 20:29


 

กฎการส่งข้อความ

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Back to top