เว็บไซต์เราจะอยู่ไม่ได้หากขาดเขาเหล่านี้ รวมช่วยกันสนับสนุนสปอนเซอร์ของพวกเรา
-
9th December 2013 00:18
#1
ช่วยด้วยครับ เรื่องภาษา C กับการบวกเปอร์เซ็นต์
ผมหาค่าของจำนวนเต็มได้แล้ว แต่มันต้อง +7% ด้วยแต่ในภาษา C มันเป็นหารอีกแบบครับ
เช่น
a = 50
b = 10
รวมแล้วได้ 60 แล้วมันต้องไปบวก 7% ด้วยครับ ถึงจะเป็นผลลัพธ์
--------------------------------------------------------------------------------------
1.จำนวนหน่วยที่ใช้ หาข้อมูลได้จากตัวเลขก่อนใช้และหลังใช้
2.ผู้ใช้ไฟฟ้า จะต้องเสียภาษีมูลค่าเพิ่ม
เงื่อนไขกาคกิค่าไฟฟ้า
1.ถ้าจำนวนหน่วยที่ใช้ตั้งแต่ 1-50หน่วย ให้คิดค่าไฟฟ้าหน่วยล่ะ 5บาท
2.ถ้าจำนวนหน่วยที่ใช้ตั้งแต่ 50หน่วยขึ้นไป ให้คิดค่าไฟฟ้าหน่วยล่ะ 10บาท
Aglorithum
1.กำหนดค่าตัวแปร x=ตัวเลขก่อนใช้ y=ตัวเลขหลังใช้
z=จำนวนหน่วยที่ใช้ total=ผลลัพธ์
2.รับค่าตัวแปร x=0 y=0
3.ตัวดำเนินการ ถ้า z<=50 ให้ total =(z*5)+7%
ถ้า z>=50 ให้ total =(z*10)+7%
4.แสดงผล total
--------------------------------------------------------------------------------------
แก้ไขครั้งสุดท้ายโดย art18000 : 9th December 2013 เมื่อ 01:04
-
-
9th December 2013 00:23
#2
เคยเขียน นาน แล้วแต่จำไม่ได้แล้วว่าเขียนยัง แต่ถ้าสูตร ข้างบน ก็ แทน sum เป็นผลบวกของ จำนวนทั้งหมด แทน total เป็น ผลรวมที่บวก7% สูตร (sum*0.07)+sum=total ไม่รู้ว่าใช้คำตอบที่ต้องการรึเปล่านะ
แก้ไขครั้งสุดท้ายโดย olaoley : 9th December 2013 เมื่อ 00:26
-
-
9th December 2013 00:33
#3
ไม่น่าจะใช่อ่ะครับ แต่ผมเขียน Algorithm ประมาณนี้
1.จำนวนหน่วยที่ใช้ หาข้อมูลได้จากตัวเลขก่อนใช้และหลังใช้
2.ผู้ใช้ไฟฟ้า จะต้องเสียภาษีมูลค่าเพิ่ม
เงื่อนไขกาคกิค่าไฟฟ้า
1.ถ้าจำนวนหน่วยที่ใช้ตั้งแต่ 1-50หน่วย ให้คิดค่าไฟฟ้าหน่วยล่ะ 5บาท
2.ถ้าจำนวนหน่วยที่ใช้ตั้งแต่ 50หน่วยขึ้นไป ให้คิดค่าไฟฟ้าหน่วยล่ะ 10บาท
Aglorithum
1.กำหนดค่าตัวแปร x=ตัวเลขก่อนใช้ y=ตัวเลขหลังใช้
z=จำนวนหน่วยที่ใช้ total=ผลลัพธ์
2.รับค่าตัวแปร x=0 y=0
3.ตัวดำเนินการ ถ้า z<=50 ให้ total =(z*5)+7%
ถ้า z>=50 ให้ total =(z*10)+7%
4.แสดงผล total
-
-
9th December 2013 00:37
#4
กระทู้ต้นฉบับโดยคุณ
art18000
ผมหาค่าของจำนวนเต็มได้แล้ว แต่มันต้อง +7% ด้วยแต่ในภาษา C มันเป็นหารอีกแบบครับ
เช่น
a = 50
b = 10
รวมแล้วได้ 60 แล้วมันต้องไปบวก 7% ด้วยครับ ถึงจะเป็นผลลัพธ์
ขอยืมตัวแปรจากท่านข้างบนหน่อยนะครับ ก็น่าจะรวมค่าของสองค่าก่อนแล้วค่อยคูณกับ Vat ครับ
float total, a, b, sum;
sum = a+b;
total = sum*0.07; // or // total = (a+b)*0.07
ปล.ไม่รู้ว่าตรงตามที่ท่านต้องการไหม
แก้ไขครั้งสุดท้ายโดย lozario : 9th December 2013 เมื่อ 00:48
-
-
9th December 2013 00:38
#5
-
-
9th December 2013 00:44
#6
z = y - x;
if( z <= 50 )
total = ( z * 5 ) * 1.07;
else
total = (250 + ( (z - 50) * 10 )) * 1.07;
ประกาศตัวแปร total เป็น double, float นะครับ
ปล.ขอโทษครับดับเบิลโพส
-
-
9th December 2013 00:48
#7
กระทู้ต้นฉบับโดยคุณ
warrunyou1
z = y - x;
if( z <= 50 )
total = ( z * 5 ) * 1.07;
else
total = (250 + ( (z - 50) * 10 )) * 1.07;
ประกาศตัวแปร total เป็น double, float นะครับ
ปล.ขอโทษครับดับเบิลโพส
ผมงงตรง 250 ครับว่ามันมาจากไหน และ -50 ได้ยังไง
-
-
9th December 2013 00:50
#8
2.ถ้าจำนวนหน่วยที่ใช้ตั้งแต่ 50หน่วยขึ้นไป ให้คิดค่าไฟฟ้าหน่วยล่ะ 10บาท
ผมเข้าใจว่า สมมุติ y-x > 50
แต่ 1-50 หน่วยแรกยังใช้ 5บาท
>50 หน่วยใช่ 10 บาทครับ
แต่ถ้าแค่ >50 เปลี่ยนเป็น 10บาทเลย ก็เป็น total = (z * 10) * 1.07 เลยครับ
-
-
9th December 2013 01:11
#9
กระทู้ต้นฉบับโดยคุณ
warrunyou1
2.ถ้าจำนวนหน่วยที่ใช้ตั้งแต่ 50หน่วยขึ้นไป ให้คิดค่าไฟฟ้าหน่วยล่ะ 10บาท
ผมเข้าใจว่า สมมุติ y-x > 50
แต่ 1-50 หน่วยแรกยังใช้ 5บาท
>50 หน่วยใช่ 10 บาทครับ
แต่ถ้าแค่ >50 เปลี่ยนเป็น 10บาทเลย ก็เป็น total = (z * 10) * 1.07 เลยครับ
ท่านคิดได้ลึกซึ้งจริงๆ ฮ่าๆ แต่ผมว่าถ้ามันมากกว่า 50 คงปรับเป็น คูณสิบมั้งครับ
-
-
9th December 2013 01:15
#10
ชนิดตัวแปรต้องตั้งเป็น float หรือ double ครับ เพราะ int มันรับจุดทศนิยมไม่ได้อ่าครับ
และตรง print สุดท้ายนี่ถ้าจำไม่ผิด ถ้าอยากให้ออกทั้งสามค่ามันต้อง printf("vsvsvsvv %f %f %f ",b,a,v); พอดีเห็นใส่ค่าตั้งสามตัว
อ่ออีกอย่างเท่าที่ดูผมว่ามันไม่เข้า if เลยนะครับ มันตรงไปที่ print เลย หรือถ้าเข้า if มันก็คงผิดอยู่ดีเพราะค่าของ f ไม่มี(ค่าเริ่มต้นคงเป็น 0)
แก้ไขครั้งสุดท้ายโดย lozario : 9th December 2013 เมื่อ 01:23
-
-
9th December 2013 01:24
#11
กระทู้ต้นฉบับโดยคุณ
lozario
ชนิดตัวแปรต้องตั้งเป็น float หรือ double ครับ เพราะ int มันรับจุดทศนิยมไม่ได้อ่าครับ
และตรง print สุดท้ายนี่ถ้าจำไม่ผิด ถ้าอยากให้ออกทั้งสามค่ามันต้อง printf("vsvsvsvv %f %f %f ",b,a,v); พอดีเห็นใส่ค่าตั้งสามตัว
อ่ออีกอย่างเท่าที่ดูผมว่ามันไม่เข้า if เลยนะครับ มันตรงไปที่ print เลย หรือถ้าเข้า if มันก็คงผิดอยู่ดีเพราะค่าของ f ไม่มี(ค่าเริ่มต้นคงเป็น 0)
ผมก็ทำไม่ค่อยเป็นอ่ะครับ ยังงงๆอยู่ เขียนโค้ดให้ใหม่ได้มั้ยครับ ป.ล. Algorithm ด้วยจะดีมาก เพราะรู้สึกว่าทำผิด
แก้ไขครั้งสุดท้ายโดย art18000 : 9th December 2013 เมื่อ 01:29
-
-
9th December 2013 01:30
#12
1.กำหนดค่าตัวแปร x=ตัวเลขก่อนใช้ y=ตัวเลขหลังใช้
z=จำนวนหน่วยที่ใช้ total=ผลลัพธ์
2.รับค่าตัวแปร x=0 y=0
3.ตัวดำเนินการ ถ้า z<=50 ให้ total =(z*5)+7%
ถ้า z>=50 ให้ total =(z*10)+7%
4.แสดงผล total
สร้่างตัวแปร float v, f, a, b;
ถ้าจะให้ดีสร้างเป็นชื่อจริงๆ เลยครับ เช่น float before(b ของท่าน), after(a ของท่าน), diff(ผลต่าง ซึ่งมันคือ v ของท่าน)
input before
input after
ค่าหน่วยนี่มันต้องเอามาลบกันไม่ใช่หรอครับ (เห็นค่า v ท่านเอามาบวก)
v = after - before
แล้วตอนคิดเข้า if นี่มันต้องเอา v ที่ลบกันมาเช็คไม่ใช่หรอครับ (ท่านเอา f มาเช็ค ทั้งที่ f ไม่มีค่า)
if v<=50 then..print("")
else then...print("")
ผมเขียนจากอัลกอของท่านนะครับ ท่านลองเอาไปเขียนดูครับ
then มันก็คือส่วนการคิดคำนวณตามสูตรของท่านนะครับ เช่น (z*10)+7%
ไม่รู้ว่าใ่ช่หรือเปล่านะครับ
float after, before, sum, unit, vat=...;
printf(""); scanf(before);
printf(""); scanf(after);
unit = after - before
if unit>1 && unit<=50 //ตรงเช็คมากกว่าหนึ่งนี่เอาออกก็ได้นะครับ เพราะค่าที่รับเข้ามาน่าจะมากกว่าหนึ่งอยู่แล้ว
{ sum =(unit*5)*vat
printf("%.2f",sum);}
else //unit>50
{sum =(unit*10)*vat
printf("%.2f",sum);}
ปล. vat คือค่า % ของท่าน ผมไม่แน่ใจว่ามันเป็น 0.07 หรือ 1.07 ปรับเอานะครับ
แก้ไขครั้งสุดท้ายโดย lozario : 9th December 2013 เมื่อ 02:15
-
-
9th December 2013 02:46
#13
โค้ดประมาณนี้อ่ะ
[IMG][/IMG]
ปล.ยังไม่ได้เชคว่าเลขถูกรึป่าวนะครับ
ปล2.ผมไม่ได้อ่านเม้นอื่นเน้อ ถ้าได้แล้วก็ไม่เป็นไร
แก้ไขครั้งสุดท้ายโดย kibakanun : 9th December 2013 เมื่อ 02:51
-
-
9th December 2013 16:36
#14
ผมได้บางส่วนแล้วครับ ได้ค่าของ unit<=50
แต่ค่า unit>50 มันไม่บวกกับค่าของ unit<=50 ให้
เช่น มีหน่วยอยู่ 60 หนวย
อันแรก 50*5 = 250 อันสอง 10*10 = 100 รวมทั้งหมด 350
ถ้าบวกภาษี 7% เป็น 374.5 แต่ที่ผมทำตอนนี้มันเหมือนไม่รวมเงื่อนไขที่สองให้ครับ
ป.ล.งงรึเปล่าเอ่ย ผมเขียนเองก็งงเหมือนกัน
-
-
12th December 2013 16:48
#15
กระทู้ต้นฉบับโดยคุณ
art18000
ผมได้บางส่วนแล้วครับ ได้ค่าของ unit<=50
แต่ค่า unit>50 มันไม่บวกกับค่าของ unit<=50 ให้
เช่น มีหน่วยอยู่ 60 หนวย
อันแรก 50*5 = 250 อันสอง 10*10 = 100 รวมทั้งหมด 350
ถ้าบวกภาษี 7% เป็น 374.5 แต่ที่ผมทำตอนนี้มันเหมือนไม่รวมเงื่อนไขที่สองให้ครับ
ป.ล.งงรึเปล่าเอ่ย ผมเขียนเองก็งงเหมือนกัน
จากที่ดู unit ที่ได้(49) มัน <=50 ทำให้เข้าเงื่อนไขแรก result(49x5)*vat มันเลยให้ผลออกมาตามนั้นครับ
แต่ตามที่ท่านถามนี้ผมเลยสงสัยว่า "แต่ค่า unit>50 มันไม่บวกกับค่าของ unit<=50 ให้" ค่าที่ท่านกรอกมันน้อยกว่านะครับ
ผมว่าท่านอาจตีความจากโจทย์ผิด หรือไม่ก็การเขียนผิด ยังไงลองตรวจสอบดูครับ แต่ถ้าดูจากการเขียนกับสิ่งที่ท่านสงสัยแล้วถามมานั้นผมคิดเองว่าท่านน่าจะตีโจทย์ผิดหรือป่าว
แก้ไขครั้งสุดท้ายโดย lozario : 12th December 2013 เมื่อ 17:04
-
กฎการส่งข้อความ
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules