Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Looping/Valid/Invalid Input...
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Hunter007




PostPosted: Wed Jan 14, 2004 6:27 pm   Post subject: Looping/Valid/Invalid Input...

I've been working on a lot of different progs at the same time (school) and I seem to have gotten confused. This program here is supposed to calculate any amount of pizzas(any size) with any number of toppings. No tax is needed. I think it calculates one order at a time now. Confused I;m posting my code, hoping someone can help me out.

code:

const smallpiz : real := 6.00
const largepiz : real := 8.00
const smalltop : real := 0.75
const largetop : real := 1.25

var pizza : string
var numtop : real
var cost : real := 0
var topcost : real:=0
var reply : string (1)
var totalcost : real:=0
var subtotal : real:=0

loop
    put "Press any key to continue or 'q' to quit..."
    put ""

    getch (reply)


    exit when reply = "q" or reply = "Q"

    loop
           put "**When finished type in 'none' as pizza size.**"
           put""
           put "Small or large pizza? " ..
           get pizza
           put ""
           if pizza = "none" then
                  exit
           end if
           put "Number of toppings: " ..
           get numtop

           if pizza = "small" then

                  topcost := numtop * smalltop
                  cost := smallpiz + topcost

           elsif pizza = "large" then

                  topcost := numtop * largetop
                  cost := largepiz + topcost

           end if

           cls
    end loop

    totalcost := totalcost + cost

    put "The cost of your pizza is $", totalcost : 2 : 2, "."

    delay (2500)
    cls

    cost := 0
    topcost := 0
    totalcost:=0
end loop
Sponsor
Sponsor
Sponsor
sponsor
poly




PostPosted: Wed Jan 14, 2004 7:47 pm   Post subject: (No subject)

I see what your error is and its a very simple one, just have to move a line up. Here I posted the code below, you can see what I moved to fix this error, I made comment:

code:
const smallpiz : real := 6.00
const largepiz : real := 8.00
const smalltop : real := 0.75
const largetop : real := 1.25

var pizza : string
var numtop : real
var cost : real := 0
var topcost : real := 0
var reply : string (1)
var totalcost : real := 0
var subtotal : real := 0

loop
    put "Press any key to continue or 'q' to quit..."
    put ""

    getch (reply)


    exit when reply = "q" or reply = "Q"

    loop
        put "**When finished type in 'none' as pizza size.**"
        put ""
        put "Small or large pizza? " ..
        get pizza
        put ""
        if pizza = "none" then
            exit
        end if
        put "Number of toppings: " ..
        get numtop

        if pizza = "small" then

            topcost := numtop * smalltop
            cost := smallpiz + topcost

        elsif pizza = "large" then

            topcost := numtop * largetop
            cost := largepiz + topcost

        end if
       
        totalcost := totalcost + cost   % I JUST MOVED THIS LINE BEFORE THE CLS
        cls
    end loop

    put "The cost of your pizza is $", totalcost : 2 : 2, "."

    delay (2500)
    cls

    cost := 0
    topcost := 0
    totalcost := 0
end loop


the formula " totalcost := totalcost + cost " was after the CLS, so when it was time to tally it all up the CLS would just clear all vars. So I just moved it above the CLS and presto!
Thuged_Out_G




PostPosted: Thu Jan 15, 2004 10:36 am   Post subject: (No subject)

cls only clears the screen, it doesnt clear variables
DanShadow




PostPosted: Thu Jan 15, 2004 1:47 pm   Post subject: (No subject)

No, no, no...poly is right, and he wasnt clearing variables.
Hunter007 wrote:

cls
end loop

totalcost := totalcost + cost

poly wrote:

totalcost := totalcost + cost % I JUST MOVED THIS LINE BEFORE THE CLS
cls
end loop

See, poly moved the totalcost calculator from outside the loop, to inside above the cls...he wasnt try to stop cls from clearing variables or anything. Wink
Thuged_Out_G




PostPosted: Thu Jan 15, 2004 2:52 pm   Post subject: (No subject)

thats just the mesasge i got from
poly wrote:

CLS would just clear all vars
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 5 Posts ]
Jump to:   


Style:  
Search: