คือว่า ผมมีปัญหาตรงที่
1.ผมไม่สามารถเรียกใช้ค่า internet ได้ คือ ผมนำเอามาบวกรวมกับค่าน้ำ ค่าไฟ ค่าห้อง ไม่ได้ครับ
2.ผม return ค่า total ที่ได้จากการบวกค่าน้ำ ค่าไฟ ค่าห้อง ไม่ได้ครับ ผมลองนำตัวแปรมารองรับก่อนแล้วก็ไม่ได้ เป็นค่าแปลกๆ ทางเดียวที่จะทำได้คือ แสดงผลใน method แล้วเรียกใช้ method ใน main เอา
3.ผมไม่สามารถหาค่า airtotal กับ fantotal ได้เลยครับ ผลที่ออกมาจะเป็นค่าห้องของห้องสุดท้ายอ่ะครับ เช่น ผมใส่ค่าห้องแอร์ไป 3 ห้อง ผลที่ออกมาจะเป็นของห้องแอร์ห้องล่าสุดครับ ยกเว้นแต่จะให้คำนวนก่อนใน method getTotal แล้วค่อยให้ method getAirtotal หรือ getFantotal อ่านค่าเอา
อาจจะถามงงๆ ก็ขออภัยด้วยนะครับ โปรดชี้แนะด้วยครับผม ขอบคุณครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้#include<iostream>
#include<iomanip>
using namespace std;
class Room
{
public:
float epu,wpu,totalelec,totalwater,roomprice,total,internet,airtotal,fantotal;
int i;
Room(float elec,float water);
Room(float net);
float getElecprice(float elecprice);
float getWaterprice(float waterprice);
float getTotal(void);
float getAirtotal(void);
float getFantotal(void);
~Room(void)
{
cout<<"--------------------------------"<<endl;
cout<<"Goodbye"<<endl;
}
};
Room::Room(float elec,float water)
{
epu=elec;
wpu=water;
}
Room::Room(float net)
{
internet=net;
}
float Room::getElecprice(float elecprice)
{
totalelec=elecprice*epu;
cout<<fixed<<setprecision(3);
cout<<"Total Electric Expense :"<<totalelec<<endl;
}
float Room::getWaterprice(float waterprice)
{
totalwater=waterprice*wpu;
cout<<"Total Water Expense :"<<totalwater<<endl;
}
float Room::getTotal(void)
{
total=roomprice+totalelec+totalwater+internet;
//airtotal=airtotal+total;
//fantotal=fantotal+total;
}
float Room::getAirtotal(void)
{
airtotal=airtotal+total;
cout<<"Total Air conditioning room Expense :"<<airtotal<<endl;
}
float Room::getFantotal(void)
{
fantotal=fantotal+total;
cout<<"Total Fan room Expense :"<<fantotal<<endl;
}
main()
{
Room room1(7,30);
Room net(500);
Room room2(room1);
float elecprice,waterprice,airtotal,fantotal;
int roomamount,i,amount;
char choice;
cout<<"Enter amount of Room :";
cin>>roomamount;
for(i=0;i<roomamount;i++)
{
cout<<"--------------------------------"<<endl;
cout<<"Is this an Air conditioning Room? (y/n):";
cin>>choice;
if(choice=='y'||choice=='Y')
{
cout<<"--------------------------------"<<endl;
room1.roomprice=4500;
cout<<"Enter Electric Expense :";
cin>>elecprice;
cout<<"Enter Water Expense :";
cin>>waterprice;
cout<<"--------------------------------"<<endl;
room1.getElecprice(elecprice);
room1.getWaterprice(waterprice);
airtotal=room1.getTotal();
cout<<"Total Room Expense :"<<airtotal<<endl;
}
else
{
cout<<"--------------------------------"<<endl;
room2.roomprice=3500;
cout<<"Enter Room Electric Expense :";
cin>>elecprice;
cout<<"Enter Room Water Expense :";
cin>>waterprice;
cout<<"--------------------------------"<<endl;
room2.getElecprice(elecprice);
room2.getWaterprice(waterprice);
fantotal=room2.getTotal();
cout<<"Total Room Expense :"<<fantotal<<endl;
};
};
cout<<"--------------------------------"<<endl;
room1.getAirtotal();
room2.getFantotal();
};
โปรแกรมคิดค่าหอพัก ผมติดปัญหาดังนี้
1.ผมไม่สามารถเรียกใช้ค่า internet ได้ คือ ผมนำเอามาบวกรวมกับค่าน้ำ ค่าไฟ ค่าห้อง ไม่ได้ครับ
2.ผม return ค่า total ที่ได้จากการบวกค่าน้ำ ค่าไฟ ค่าห้อง ไม่ได้ครับ ผมลองนำตัวแปรมารองรับก่อนแล้วก็ไม่ได้ เป็นค่าแปลกๆ ทางเดียวที่จะทำได้คือ แสดงผลใน method แล้วเรียกใช้ method ใน main เอา
3.ผมไม่สามารถหาค่า airtotal กับ fantotal ได้เลยครับ ผลที่ออกมาจะเป็นค่าห้องของห้องสุดท้ายอ่ะครับ เช่น ผมใส่ค่าห้องแอร์ไป 3 ห้อง ผลที่ออกมาจะเป็นของห้องแอร์ห้องล่าสุดครับ ยกเว้นแต่จะให้คำนวนก่อนใน method getTotal แล้วค่อยให้ method getAirtotal หรือ getFantotal อ่านค่าเอา
อาจจะถามงงๆ ก็ขออภัยด้วยนะครับ โปรดชี้แนะด้วยครับผม ขอบคุณครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้