ขอความช่วยเหลือกุรุเช็ค+ตรวจการบ้านให้หน่อยครับ - -
error อะไรครับ
Date :
2014-10-03 06:36:21
By :
zarooman
ใน calculate น่าจะใช้ if, if else, else
ไม่งั้นไม่ error แต่จะมีบั๊ก
Date :
2014-10-03 07:56:32
By :
ห้ามตอบเกินวันละ 2 กระทู้
มันError แบบนี้ครับzผมก็เริ่มสับสนละประกาศตัวแปลรับกับตัวแปลคืนค่าก็ทำแล้ว - - แล้วทำมัยมันยังไม่ได้อีกหรือมันคืนค่าอย่างอื่นมาด้วยเลยรับไม่ได้หลอ
'Bonus Point.Program.calculator(int,int,char,int)';not all code paths return a value (cs0161)
Date :
2014-10-03 08:44:57
By :
ThememoriesIII
มันไม่มี return ใน else ตัวสุดท้ายครับ
ลองใส่ return 0; ในelse สุดท้ายดู
Date :
2014-10-03 09:03:32
By :
poomberry
ถ้ามันเข้า else สุดท้าย จะรีเทิร์นอะไร
Date :
2014-10-03 09:05:53
By :
zarooman
จากดูที่ผมไล่ดูโค้ดนะครับ ผมไม่รู้ว่า Error อะไรนะครับ แต่ผมเห็นเส้นผมบังภูเขาอยู่จุดนึงครับ
บรรทัดที่ 22 ครับ ผมดู Flow ของโปรแกรมคุณแล้วน่าจะประมาณนี้
1. รับค่า Initial(ค่าเริ่มต้น) ต่อมาเข้า loop แล้วรับค่าตัวดำเนินการ และรับค่าตัวกระทำ
2. เข้าเมธอด calculate เพื่อคำนวณ ครั้งแรก คุณจะเอาค่า a กับ b มาดำเนินการกันเช่น (a+b) แล้วเก็บไว้ใน sum
(อันนี้ Return ค่าออกไปแสดงโอเคไม่มีปัญหา)
3. loop วนรอบถัดไป count จะเท่ากับ 2 (ซึ่งจะทำให้ค่า a กับ b ไม่ดำเนินการด้วยกันแล้ว แต่เป็น sum กับ b ทำกัน)
4. ปัญหาเกิด เช่นตัวดำเนินการคือ + แทนที่จะเอาค่า sum ที่เก็บไว้รอบแรก มา + กับ b
!! แต่บรรทัดที่ 22 เมื่อเข้ามาในเมธอด มันกำหนดค่าให้ sum = 0 ทำให้ 0 + b ค่าที่ return กลับไปผิดแน่นอนครับ
ก็จะได้ ( 0+b , 0-b , 0*b , 0/b) return กลับไปแน่นอน ตรง 0/b อาจจะ error ได้
** แนะนำให้ย้ายบรรทัดที่ 22 ตัวแปร sum ไปประกาศไว้ล่าง class(บรรทัดที่ 6) ซึ่งจะทำให้ตัวแปรเป็น global
Date :
2014-10-03 11:41:22
By :
01000010
ขอบคุณครับเส้นผมบังภูเขาจริงๆ - - ผมเอาโค้ดไปให้อาจารย์ผมดูแล้วปื้ปอธิบายเหมือน คุณเปะเลย ผมนี่นั่งงอเข่าเลยเพราะผมลองreturnค่าแบบทีละบรรทัดดู - - โอ้วชลิด มัน 5 กับ -5 ไม่ก็ 9 กับ -9
Date :
2014-10-03 17:14:33
By :
ThememoriesIII
Load balance : Server 05