Results 1 to 9 of 9

Thread: ขอคำแนะนำหน่อยครับ C

  1. #1


    Thumbs up

    คือว่าผมอยากให้ช่วยยกตัวอย่างการเขียนภาษาซีหน่อยครับ
    โดยในโปรแกรมจะมีคำสั่ง if,if-else,while.do-while,
    อยู่ในการเขียนทั้งหมดหรือว่าไม่ทั้งหมดก็ได้

    ประมานว่า

    #include<stdio.h>
    int score;
    main()
    {
    printf("Press enter your scor:");
    scanf("%d",&score);
    if((score<=100)&&(score>=80));
    printf("Grade 4\n");
    else if ((score<80)&&(score>=70));
    printf("Grade 3\n");
    else if ((score<70)&&(score>=60));
    printf("Grade 2\n");
    else if ((score<60)&&(score>=50));
    printf("Grade 1\n");
    else if (score<50)&&(score>=0));
    printf("Grade 0\n");
    }

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

  2. #2
    Junior Member
    Join Date
    Mar 2010
    Location
    BKK
    Posts
    12


    โปรแกรมแสดงเกรดด้านบน ถ้าจะทำให้ if,if-else หรือว่า while ,do-while มาอยู่ด้วยกันคงไม่ได้นะคับตามประสบการณ์ที่เคยเจอ

    คงต้องเลือกใช้ว่าจะเอา if หรือ if-else

    ตัวอย่างกันเพิ่ม while

    **Hidden Content: To see this hidden content your post count must be 1 or greater.**



    ถ้าเป็น do-while ก็คล้ายๆกันคับ
    อัจฉริยะ ข้ามคืน พอใจเท่าที่มี...ยินดีเท่าที่ได้

  3. #3
    Junior Member
    Join Date
    May 2009
    Posts
    18


    ผมแนะนำให้ใช้ Switch Case ครับ

    นี่คือ Form ของ Switch Case ครับ

    Code:
    Switch(ตัวแปร)
    {
    
    case ค่าที่กำหนด: โปรแกรม;break;
    .
    .
    .
    
    default: [โปรแกรม;break;
    
    }
    ไปเรื่อยๆน่ะครับ

    -ตัวแปร หมายถึง ตัวแปรที่เราจะเช็คนะครับ ต้องมีการรับค่าเข้ามาก่อน

    -ค่าที่กำหนด หมายถึง กำหนดค่าไว้ ถ้าตัวแปรที่รับมา มีค่าตรงกับค่านี้ ให้ทำ โปรแกรม ที่กำหนดไว้

    โปรแกรม เช่น printf("Hello World"); เป็นต้น

    หมายเหตุ: หากรับค่าที่ไม่ได้ถูกกำหนดไว้ โปรแกรมจะเด้งไปทำที่ default โดยอัตโนมัติครับ

  4. #4


    ให้ใช้ while วนโปรแกรมดีกว่านะครับว่าเมื้อจบโปรแกรมแล้วจะให้ทำงานต่อหรือเปล่า

  5. #5
    Junior Member
    Join Date
    Mar 2010
    Posts
    3


    อย่างที่คนอื่นบอกมาแหละครับ กรณีอย่างนี้คงเลือกว่าจะืทำ if-else หรือว่าจะ switch-case

    แล้วโค้ดก็ผิดตรง ; หลัง if ด้วยครับ ถ้า ; หลังif มันจะทำคำสั่งต่อไปเลยนะครับ = = ไม่สนว่าจริงหรือ เท็จ

  6. #6
    Junior Member
    Join Date
    Aug 2009
    Posts
    9


    ถ้าใช้ if-else จะกำหนด condition ได้มากกว่า switch case ครับ

    แต่ถ้าswtich ย่อยๆ อย่าง รับค่าตัวเลขมาตัวเดียว ใช้ switch จะง่ายกว่าครับ

    ปล. ทุกๆ case ต้องจบด้วย break; นะครับ ไม่งั้นมันจะไปวน case อื่นด้วย :P

  7. #7
    Junior Member
    Join Date
    Mar 2010
    Posts
    3


    #include<stdio.h>
    int score;

    main()
    {
    while(score<100)
    {
    printf("Press enter your scor or press 999 to exit:");
    scanf("%d",&score);
    if(score>=80)
    printf("Grade 4\n");
    else if (score>=70)
    printf("Grade 3\n");
    else if (score>=60)
    printf("Grade 2\n");
    else if (score>=50)
    printf("Grade 1\n");
    else
    printf("Grade 0\n");
    }
    }

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

  8. #8
    Junior Member
    Join Date
    Mar 2010
    Location
    Loei, TH
    Posts
    23


    จาก Rep switch จะไม่ได้เพราะต้องเป็นค่าที่นำไปเปรียบเทียบตรงๆ เท่านั้น เป็น range ไม่ได้
    และ Rep Code ล่าสุด หากใช้ do-while + แก้บั๊ก ก็

    [code]char ans;
    int score;
    do {
    ~PeWs......... Feeling LiKe Ar NatiVE!

  9. #9
    Junior Member
    Join Date
    Feb 2010
    Posts
    11


    เรปคุณ teaworm
    กำหนด ans=&#39;n&#39;; ด้วยนะคับ
    แล้วเครื่องหมาย <> ผมไม่เคยใช้อะคับ แต่เดาว่ามันมีความหมายว่า == หรือเปล่าคับ
    ของเจ้าของกระทู้ เช็ควงเล็บกับ ; ด้วยนะคับ
    ผมแนะนำควรใส่ while loop เพิ่มก็ดีนะคับ อย่างที่มีหลายคนบอกไปแล้ว
    ดูโครงสร้างดีๆคับ ขอให้โชคดี

Similar Threads

  1. Replies: 1
    Last Post: 08-03-2008, 12:08 PM
  2. Replies: 2
    Last Post: 13-09-2004, 08:32 PM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Posting Permissions

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