[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

what's wrong with this

Posted on 2000-04-11
1
Medium Priority
?
167 Views
Last Modified: 2011-09-20
When I choose deposit, say $200, the answer comes out in the 4,000 range. I think the case w of statement is putting me in an infinite loop. Everytime I choose withdrawal and withdrawal, it'll go into an infinite loop. I haven't even tried the see_balance procedure yet.

var balance: integer;
balance := $1,000;


procedure PRINTMENU;
   begin
        writeln ('MENU OF CHOICES');
        writeln (' 1) Deposit');
        writeln (' 2) Withdrawal');
        writeln (' 3) See balance');
        writeln (' 4) Quit');
   end; {PRINTMENU}

procedure Deposit;
  var d: integer;
  begin
     write ('How much do you want to deposit?');
     readln (d);
       balance := balance + d;
  end; {Deposit};


procedure Withdrawal;
  var w: integer;
      amount: integer;

  begin
     write ('How much do you want to withdrawal?');
     write ('$50');
     write ('$100');
     write ('$200');
     write ('$500');
     readln (w);

     case w of
       1 : amount := 50;
       2 : amount := 100;
       3 : amount := 200;
       4 : amount := 500
     end; {case}
     balance := balance - amount
  end; {Withdrawal}


procedure {See_balance}
  begin
     writeln ('Your balance is ' , balance);
  end; {See_balance}

begin {main}
  repeat
     PRINTMENU;
     write ('Enter choice ');
     readln (choice);
     case choice of
       1 : Deposit;
       2 : Withdrawal;
       3 : See_balance;
       4 : {quit the loop}
      else writeln ('Invalid choice -- choose again')
     end; {case}
  writeln
  until choice = 4
end.



0
Comment
Question by:kazooie21
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 6

Accepted Solution

by:
My name is Mud earned 120 total points
ID: 2706729
CONST
  balance: integer = 1000;

procedure PRINTMENU;
begin
  writeln ('MENU OF CHOICES');
  writeln (' 1) Deposit');
  writeln (' 2) Withdrawal');
  writeln (' 3) See balance');
  writeln (' 4) Quit');
end; {PRINTMENU}

procedure Deposit;
var
  d: integer;
begin
  write ('How much do you want to deposit?');
  readln (d);
  balance := balance + d;
end; {Deposit};

procedure Withdrawal;
var
  w: integer;
  amount: integer;
begin
  write ('How much do you want to withdrawal?');
  write ('$50');
  write ('$100');
  write ('$200');
  write ('$500');
  readln (w);
  case w of
    1 : amount := 50;
    2 : amount := 100;
    3 : amount := 200;
    4 : amount := 500
  end; {case}
  If balance > amount Then
    balance := balance - amount
  else
    Begin
      WriteLn('You don't have that kind of money');
      WriteLn('Do you think we're stupid to give you money, you moron');
      WriteLn('Thanks for your preference');
    End
end; {Withdrawal}

procedure See_balance
begin
  writeln ('Your balance is ' , balance);
end; {See_balance}

begin {main}
  repeat
    PRINTMENU;
    write ('Enter choice ');
    readln (choice);
    case choice of
      1 : Deposit;
      2 : Withdrawal;
      3 : See_balance;
      4 : {quit the loop}
      else writeln ('Invalid choice -- choose again')
    end; {case}
    writeln
  until choice = 4
end.
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

One of the most important things in an application is the query performance. This article intends to give you good tips to improve the performance of your queries.
Explore the ways to Unlock VBA Project Password Excel 2010 & 2013 documents. Go through the article and perform the steps carefully to remove VBA Excel .xls file.
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question