Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 21

Thread: รบกวนดูโค๊ดcทีคับ

  1. #11
    Junior Member
    Join Date
    Sep 2007
    Posts
    5


    ถ้าตามที่ผมเข้าใจนะครับ credit คือหน่วยกิจใช่มะครับ ให้เราใส่หน่วยกิจกับเกรดลงไปแล้วให้มันหาเกรดเฉลี่ยให้
    #include<stdio.h>
    #include<conio.h>
    main()
    {

    int temp,tgrade=0,tcredit=0,credit,i,j,sub;
    char grade;
    printf("Enter num sub:");
    scanf("%d",&sub);

    for(j=1;j<=sub;j++)
    {
    printf("Enter credit %d :",j);
    scanf("%d",&credit);
    tcredit+=credit;
    printf("Enter char grade %d :",j);
    fflush(stdin);
    grade=getchar();
    if ((grade == &#39;A&#39 || (grade == &#39;a&#39)
    { temp = 4; }
    if ((grade == &#39;B&#39 || (grade == &#39;b&#39)
    { temp = 3; }
    if ((grade == &#39;C&#39 || (grade == &#39;c&#39)
    { temp = 2; }
    if ((grade == &#39;D&#39 || (grade == &#39;d&#39)
    { temp = 1; }
    if ((grade == &#39;F&#39 || (grade == &#39;f&#39)
    { temp = 0; }

    tgrade+=temp*credit;
    }
    printf("\nTotalcredit:%d",tcredit);
    printf("\nTotalgrade :%g",(float)tgrade/tcredit);
    getch();
    } [/b]
    ถ้าผมเข้าใจผิดก็ขอโทษทีนะครับไม่รู้ว่าไรคือ credit
    <div align="center">ทำไมมันเข้ายากออกง่ายอย่าี้ง งี้นะเวปนี้ banded เต็มเลย</div>

  2. #12
    Junior Member
    Join Date
    Sep 2007
    Posts
    7


    ถูกค้าบบ credit ในที่นี้คือ หน่วยกิจ , input คือ เกรดที่ได้ A B C D กับเครดิตวิชานั้นๆ output เปน เกรดเฉลี่ย

  3. #13
    Member
    Join Date
    Aug 2007
    Location
    EEP BenchamaMaharat-Ubon
    Posts
    49


    ผมว่าตัวแปร tgrade กะ temp มันมั่วอ่ะ เหตุผลก็น่าจะเหมือนกับท่าน pspn ว่า ก็คือมันไม่รุว่ารับค่ามาอะไร

    มันเลยใส่ค่า temp มั่วไปเลย แล้วคราวนี้พอเรา printf ออกมามันเลยเป็นค่ามั่วที่loop 2 มานให้ค่ามั่วมาบวกๆกัน

    แต่มะรุจริงมะเด้อ สันนิษฐานเอา

    แต่อย่างที่ท่าน neo ว่าก็น่าคิดนะครับ มานจะแสดงผลยังไง

    ก็ยังคงเปนปัญหาต่อปาย เดี๋ยวพยายามหาวิธีแก้ อิอิ
    คนที่ไม่เคยพ่ายแพ้คือคนที่ไม่เคยทำอะไรเลย

  4. #14
    Member
    Join Date
    Aug 2007
    Location
    Thailand
    Posts
    79


    Talking

    ผมว่า Code ช่วงนี้เปลี่ยนให้อยู่ใน For ตัวเดี่ยวจะทำให้ทำงานได้ไว้ขึ้นน่ะครับผม และอีกเหตุผมนึ่งก็คือมัน For เหมือนกัน จะทำซ้ำทำไม 2 รอบ

    [code]
    for(i=1;i<=sub;i++)
    {
    <div align="center">[SIZE=1][color=#33CCFF]+ :: A little knowledge is dangerous. การรู้เรื่องอย่างนึ่งเพียงน้อยนิดอาจจะทำให้พลาดพลั้งได้ :: +[/color][/SIZE]</div>

  5. #15
    Junior Member
    Join Date
    Sep 2007
    Posts
    5


    ผมก็เขียนลวกๆให้ดูแหละครับถ้าเขียนแบบนี้ส่งที่ ม. ผมนะครับโดนด่าหัวบวมแน่
    เพราะถ้าจะเขียนจริงๆก็ต้องเชคอีกครับว่ากดตัวอักษร แค่ a-f ไม่ได้กดตัวอื่น
    หน่วยกิจต้องไม่เป็น 0 และอื่นๆอีกมากมายแล้วผมก็ลองเขียนแบบ switch case มาให้ดูเห็นชอบให้ if กัน
    ลองเปลื่ยนแนวบ้าง
    **Hidden Content: To see this hidden content your post count must be 1 or greater.**
    <div align="center">ทำไมมันเข้ายากออกง่ายอย่าี้ง งี้นะเวปนี้ banded เต็มเลย</div>

  6. #16
    Junior Member
    Join Date
    Jun 2008
    Posts
    4


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

    input เกรดเพื่อนำไปคูณเลย ภายใน for เดวกัน แล้วสร้างตัวแปรมาเก็บ global 2 ตัว 1 ตัวไว้เก็บค่าที่คูณได้ 1 ตัวไว้เก็บหน่วยกิจรวม

    นอกนั้นก้อไม่มีอาไร ก้อ output ออกมา โดยนำ ค่าที่คูณได้ / หน่วยกิจ จบ!

    ปล. เค้าคิดเกรดกันอย่างนี้ใช่ป่ะ ลืม

  7. #17


    ถึงจาไม่ให้ตอบแต่อยากลง ไม่ได้เขียน C นานจนลืมไปแล้วถ้าผิดตรงไหนขออภัยด้วยนะครับ
    [code]
    #include <stdio.h>

    int main(int argc, char *argv[])
    {

  8. #18
    Junior Member
    Join Date
    Jul 2008
    Posts
    2


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



    Code:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    
    int temp,credit,i,j,sub;
    float tgrade,tcredit;
    char grade;
    printf("Enter num sub:");
    scanf("%d",&sub);
    
    for(j=1;j<=sub;j++)
    {
    printf("Enter credit %d :",j);
    scanf("%d",&credit);
    tcredit+=credit;
    printf("Enter char grade %d :",j);
    fflush(stdin);
    grade=getchar();
    if ((grade == &#39;A&#39;) || (grade == &#39;a&#39;))
    { temp = 4; }
    if ((grade == &#39;B&#39;) || (grade == &#39;b&#39;))
    { temp = 3; }
    if ((grade == &#39;C&#39;) || (grade == &#39;c&#39;))
    { temp = 2; }
    if ((grade == &#39;D&#39;) || (grade == &#39;d&#39;))
    { temp = 1; }
    if ((grade == &#39;F&#39;) || (grade == &#39;f&#39;))
    { temp = 0; }
    
    tgrade+=temp*credit;
    }
    printf("\nTotalcredit:%.0f",tcredit);
    printf("\nTotalgrade :%.2f",tgrade/tcredit);
     getchar();
    }

  9. #19
    Junior Member
    Join Date
    Jul 2008
    Posts
    0


    ขอศึกษาด้วยคนนะครับ

  10. #20
    Junior Member
    Join Date
    Jul 2008
    Posts
    0


    ผมว่าเปลี่ยนจาก if ไปเรื่อยๆ เป็น else if นะครับ

Page 2 of 3 FirstFirst 123 LastLast

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
  •