ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingเรียนภาษาC อาจารย์ให้การบ้านมาโค้ดมัน run ไม่ได้ ช่วยหน่อยครับผม
หน้า: 1 [2]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: เรียนภาษาC อาจารย์ให้การบ้านมาโค้ดมัน run ไม่ได้ ช่วยหน่อยครับผม  (อ่าน 5992 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
superspeedhost
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 75



ดูรายละเอียด
« ตอบ #20 เมื่อ: 06 มกราคม 2014, 14:57:05 »

ขอขอบคุณ

คุณ teerdear1
คุณ shinrafenr
คุณ supaman
คุณ Normaderm

ขอบคุณครับ
บันทึกการเข้า

--
superspeedhost
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 75



ดูรายละเอียด
« ตอบ #21 เมื่อ: 07 มกราคม 2014, 10:46:44 »

สวัสดีครับ ขอรบกวนอีกครั้งครับ
ถ้าผมต้องการทำให้มีเงื่อนไขแบบนี้ ผมตั้งแก้โค้ด หรือเพิ่มตรงใหนบ้างครับ


มีเงื่อนไข 0-15000 ไม่เสียภาษี
15001-50000 เสีย 3%
50000 -ขึ้นไปเสีย 5%




โค๊ด:
# include <conio.h>
# include <stdio.h>
void main()
{
 int max=5,row=0,i=0;
 char id[10],name[20];
 float SAL;
 clrscr();
 gotoxy(35,1); printf ("INPUT DATA");
 gotoxy(30,3); printf ("ID      =    ");
 gotoxy(30,4); printf ("NAME    =    ");
 gotoxy(30,5); printf ("SALARY  =    ");

 gotoxy(40,3); scanf ("%s",id);
 gotoxy(40,4); scanf ("%s",name);
 gotoxy(40,5); scanf ("%f",&SAL);
 
 for (i=1; i<80; i++)
 {
 gotoxy(i,6); printf("=");
 }
 printf ("  NO       ID         NAME                   SALARY ");

 for (i=1; i<80; i++)
 {
 gotoxy(i,8); printf("-");
 }

 for (row=1; row<max; row++)
 {
   gotoxy(1,8+row);   printf ("%2d",row);
   gotoxy(11,8+row);  printf ("%s",id);
   gotoxy(22,8+row);  printf ("%s",name);
   gotoxy(43,8+row);  printf ("%10.2f",SAL);
 }

}
« แก้ไขครั้งสุดท้าย: 07 มกราคม 2014, 12:10:10 โดย superspeedhost » บันทึกการเข้า

--
teerdear1
Newbie
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 85



ดูรายละเอียด
« ตอบ #22 เมื่อ: 07 มกราคม 2014, 10:52:54 »

ผมแนะนำให้ศึกษาเรื่อง if else ละกันครับ

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

แบบนี้จะได้ประโยชน์กว่าเนาะ
บันทึกการเข้า
superspeedhost
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 75



ดูรายละเอียด
« ตอบ #23 เมื่อ: 07 มกราคม 2014, 10:54:34 »

ครับผม  ขอบคุณที่แนะนำครับ
เดี๋ยวผมขอศึกษา ตามที่คุณแนะนำก่อนดีกว่าครับ
ถ้าไม่ได้ หรือติดปัญหาอะไร ค่อยถามใหม่
ขอบคุณครับผม
บันทึกการเข้า

--
superspeedhost
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 75



ดูรายละเอียด
« ตอบ #24 เมื่อ: 07 มกราคม 2014, 14:26:54 »

สวัสดีครับ
หลังจากไปศึกษา เรื่อง if มา
ผมก้ได้เขียนโค้ดแบบนี้ และได้ผลลัพออกมาแบบในรูปนี้ครับ


หมายถึงว่ากรอกข้อมูลลงไป1ครั้ง ผลลัพมันออกมาเหมือนกันทุกบรรทัดเลย ทั้ง9บรรทัดน่ะครับ


คือผมอยากจะทราบว่า
ในรูปด้านล่างนี้เขาเขียนโค้ดอย่างไรถึงได้ผลลัพออกมา 4ครั้ง ไม่เหมือนกันเลย
จึงอยากจะขอแนวทางในการเขียนด้วยครับ
ขอบคุณครับผม




นี่คือโค้ดที่ผมเขียนครับ
โค๊ด:
# include <conio.h>
# include <stdio.h>
void main()
{
 int max=10,row=0,i=0;
 char id[10],name[20];
 float SAL, vat, net;

 clrscr();
 gotoxy(35,1); printf ("INPUT DATA");
 gotoxy(30,3); printf ("ID      =    ");
 gotoxy(30,4); printf ("NAME    =    ");
 gotoxy(30,5); printf ("SALARY  =    ");

 gotoxy(40,3); scanf ("%s",id);
 gotoxy(40,4); scanf ("%s",name);
 gotoxy(40,5); scanf ("%f",&SAL);

 for (i=1; i<80; i++)
 {
 gotoxy(i,6); printf("=");
 }
 printf ("  NO       ID         NAME          SALARY            VAT               NET");

 for (i=1; i<80; i++)
 {
 gotoxy(i,8); printf("-");
 }

 for (row=1; row<max; row++)
 {
   gotoxy(1,8+row);   printf ("%2d",row);
   gotoxy(11,8+row);  printf ("%s",id);

   gotoxy(22,8+row);  printf ("%s",name);
   gotoxy(34,8+row);  printf ("%10.2f",SAL);


    if (SAL>50000)
        vat=SAL*5/100;
     else if ((SAL>15000)&&(SAL<=50000))
vat=SAL*3/100;
     else if ((SAL>0)&&(SAL<=15000))
vat=SAL*0/100;
     else
vat=0;
     net=SAL-vat;


    gotoxy(50,8+row); printf("%10.2f",vat);
    gotoxy(70,8+row); printf("%10.2f",net);



 }





}
บันทึกการเข้า

--
Ozone
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 290
ออฟไลน์ ออฟไลน์

กระทู้: 1,519



ดูรายละเอียด เว็บไซต์
« ตอบ #25 เมื่อ: 07 มกราคม 2014, 15:23:30 »


 gotoxy(35,1); printf ("INPUT DATA");
 gotoxy(30,3); printf ("ID      =    ");
 gotoxy(30,4); printf ("NAME    =    ");
 gotoxy(30,5); printf ("SALARY  =    ");

 gotoxy(40,3); scanf ("%s",id);
 gotoxy(40,4); scanf ("%s",name);
 gotoxy(40,5); scanf ("%f",&SAL);


การรับค่าพวกนี้ต้องอยู่ใน loop ครับ ไม่งั้นมันก็จะประมวณค่าเดิมไปจนจบ

ควรเพิ่มตัวแปรว่าต้องการารับค่ากี่ ID เพื่อกำหนดจำนวน loop สูงสุดหรือจำนวน ID สูงสุด

เห็นแล้วคิดหนังสือ C ของ อาจารย์ธันวา ศรีประมงเลย เล่มนั้นแจ๋งมาก
บันทึกการเข้า

teerdear1
Newbie
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 85



ดูรายละเอียด
« ตอบ #26 เมื่อ: 07 มกราคม 2014, 15:25:24 »


 gotoxy(35,1); printf ("INPUT DATA");
 gotoxy(30,3); printf ("ID      =    ");
 gotoxy(30,4); printf ("NAME    =    ");
 gotoxy(30,5); printf ("SALARY  =    ");

 gotoxy(40,3); scanf ("%s",id);
 gotoxy(40,4); scanf ("%s",name);
 gotoxy(40,5); scanf ("%f",&SAL);


การรับค่าพวกนี้ต้องอยู่ใน loop ครับ ไม่งั้นมันก็จะประมวณค่าเดิมไปจนจบ

ควรเพิ่มตัวแปรว่าต้องการารับค่ากี่ ID เพื่อกำหนดจำนวน loop สูงสุดหรือจำนวน ID สูงสุด

เห็นแล้วคิดหนังสือ C ของ อาจารย์ธันวา ศรีประมงเลย เล่มนั้นแจ๋งมาก

เล่มนั้นเจ๋งจิงครับ แต่ไม่ค่อยเหมาะสำหรับผู้เริ่มต้นอะครับตาม คหส อะคับ T_T
บันทึกการเข้า
superspeedhost
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 75



ดูรายละเอียด
« ตอบ #27 เมื่อ: 07 มกราคม 2014, 16:42:57 »

ช่วยเรียบเรียงโค้ดให้ผมหน่อยครับ
หลังจากที่ผมมั่วๆมา ก็ได้แบบในรูปครับ

ตรง ID1  มันมีโค้ดอะไรโผล่มาครับ
ช่วยแก้ไขหน่อยครับ




โค๊ด:
# include <conio.h>
# include <stdio.h>
void main()
{
 int max=7,row=0,i=0;
 char id[10],name[20];
 float SAL, vat, net;
 clrscr();
 gotoxy(35,1); printf ("INPUT DATA");
 gotoxy(30,3); printf ("ID      =    ");
 gotoxy(30,4); printf ("NAME    =    ");
 gotoxy(30,5); printf ("SALARY  =    ");
 for (i=1; i<80; i++)
 {gotoxy(i,6); printf("="); }
 printf ("  NO       ID         NAME          SALARY            VAT               NET");
 for (i=1; i<80; i++)
 {gotoxy(i,8); printf("-");}
 for (row=1; row<max; row++)
{
   gotoxy(1,8+row);   printf ("%2d",row);
   gotoxy(11,8+row);  printf ("%s",id);
   gotoxy(22,8+row);  printf ("%s",name);
   gotoxy(34,8+row);  printf ("%10.2f",SAL);
    if (SAL>50000)
    vat=SAL*5/100;
     else if ((SAL>15000)&&(SAL<=50000))
vat=SAL*3/100;
     else if ((SAL>0)&&(SAL<=15000))
vat=SAL*0/100;
     else
vat=0;
    net=SAL-vat;
   gotoxy(50,8+row); printf("%10.2f",vat);
   gotoxy(70,8+row); printf("%10.2f",net);
   gotoxy(41,3); scanf ("%s",id);
   gotoxy(41,4); scanf ("%s",name);
   gotoxy(41,5); scanf ("%f",&SAL);
 }
getch();
}
บันทึกการเข้า

--
emukidz
ก๊วนเสียว
*

พลังน้ำใจ: 51
ออฟไลน์ ออฟไลน์

กระทู้: 293



ดูรายละเอียด เว็บไซต์
« ตอบ #28 เมื่อ: 07 มกราคม 2014, 18:01:09 »

จาก code สั่ง printf id ก่อน แล้วค่อย scanf id แบบนี้ บรรทัดแรก มันก็ไม่มีค่าอะไรในตัวแปร id อ่ะครับ เมื่อสั่ง printf id มันถึงแสดงผลเป็นตัวยึกยือ ออกมา
บันทึกการเข้า

G1
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 126
ออฟไลน์ ออฟไลน์

กระทู้: 1,302



ดูรายละเอียด
« ตอบ #29 เมื่อ: 07 มกราคม 2014, 20:24:12 »

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

เห็น code พวกนี้แล้วยิ้มๆ เลย ไม่ได้แตะมานานแล้ว สงสัยต้องกลับไปเคาะสนิมซะหน่อย  Embarrassed
บันทึกการเข้า

หน้า: 1 [2]   ขึ้นบน
พิมพ์