โปรเเกรม รายรับ รายจ่าย banking เเบบ save ได้ ของผมสำเร็จเเล้วครับ เเต่มีคำถามเพิ่ม c++

ผมได้นำ คำสั่ง writefile.open("bank.txt",ios::app); ใช้save input ทั้งหมด ลงไฟล์ .txt  ทำให้ปัญหาในการ input ใหม่เเละข้อมูลเก่าหาย เเก้ได้เเล้ว ตอนนี้คือผม save input ได้ทุกตัวอย่างที่ผมหวังเเล้วครับ ขอบคุณ user HotChoc เเละ user ต่างๆที่เข้ามาช่วยผมมากๆครับ สรุปได้ว่า การทำโปรเเกรมเเล้วติดปัญหา เเละ นำปัญหานั้นมา เเปะทิ้งไว้ใน pantip รอคนมาตอบนั้นมีประโยชน์จริงๆครับ 
คำถามที่ผมอยากถามเพิ่ม
คือผมกำลังสร้าง หน้า menu เเบบ infinite โดยใช้คำสั่ง do...while ร่วมกับ switch...case สรุปคือสามารถทำ menu เเบบinfinite ได้ครับ เเต่ติดปัญหาตรงที่ การคำนวนในโปรเเกรม รอบ2 ขึ้นไปมันผิดหมด ถูกเเต่รอบเเรก (ลักษณะโปรเเกรมผมคือ อย่างเเราให้ใส่จำนวนเงินปัจจุบันก่อน เเละจะ มี menu ให้เลือก 4 ช่อง 1.เช็คเงิน 2.ฝากเงินเพิ่ม 3.ถอนเงิน 4.ออกจากโปรเเกรม )
 
ที่ loop รอบ2ขึ้นไปมันผิดเพราะว่า ในเเต่ละรอบมันต้องกำหนดตัวเเปรขึ้นมาใหม่ เเละนำมาใส่สูตรคำนวน เเต่ผมไม่รู้จะทำไงจริงๆคิดไม่ออก อธิบายก็ไม่ต่อยได้หวังว่าจะมีคนมาเเกะโปรเเกรมผมเเละเข้าใจที่ผมสื่อครับ ขอบคุณล่วงหน้าครับ

  cout<<"First add your current money :";
  cin>>currentmoney;
  
  do{
  
  
  cout<<"Please select option you want"<<endl;
  cout<<"1.Check your current money"<<endl;
  cout<<"2.Deposit your money"<<endl;
  cout<<"3.withdraw your money"<<endl;
  cout<<"4.Exit the program"<<endl;
  line();
  cout<<"Enter your option :";
  cin>>option;
  
    switch(option)
    {
      case 1:
        cout<<"Your current money is :"<<currentmoney<<endl;
        void line();
      break;
      
      case 2:
        cout<<"Amount money you want to deposit :";
        cin>>deposit;
        depositcurrentmoney = currentmoney+deposit;
        cout<<"Your current money is :"<<depositcurrentmoney<<endl;
      
      break;
      
      case 3:
        cout<<"Amout money you want to withdraw :";
        cin>>withdraw;
        moneyleft = currentmoney-withdraw;
        cout<<"Your current money is :"<<moneyleft<<endl;
      break;

      case 4:
        cout<<"Program Close"<<endl;
        
        writefile<<"Close program"<<endl;
        writefile<<"Current money :"<<currentmoney<<endl;
        
        return 0;
        
    }
  
  }while(option !=0);
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
คุณบวก เพื่อแสดงผล แต่ไม่บวกในตัวแปรที่เก็บข้อมูลไว้
ทำงานลักษณะ เพิ่มหรือลดแบบนี้ บวก/ลบ เข้าตัวแปรที่เก็บเดิมได้เลยครับ
แล้วจึงค่อยแสดง output ของตัวแปรนั้น

จากข้างต้น ตัวแปร depositcurrentmoney และ moneyleft ไม่จำเป็นต้องมีก็ได้ครับ
หรือจะมี แต่ก็ต้องส่งค่ากลับให้ currentmoney เพื่อเก็บไว้คำนวนในรอบต่อไป

อย่าลืมใช้ตัวแปรแบบ global ด้วยนะครับ
แสดงความคิดเห็น
Preview
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่