Debugging a Program to Add Up Monthly Sales

  • Context: Comp Sci 
  • Thread starter Thread starter sandy.bridge
  • Start date Start date
  • Tags Tags
    Debugging Program
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 4K views
sandy.bridge
Messages
797
Reaction score
1

Homework Statement


This question is rather easy. It is compiled online with CodeLab. For some reason my program executes perfectly except for one of the trials. Here is the question:

Given a type Money that is a structured type with two int fields, dollars and cents. Assume that an array named monthlySales with 12 elements, each of type Money has been declared and initialized.

Assume that a Money variable yearlySales has also been declared. Write the necessary code that traverses the monthlySales array and adds it all up and stores the resulting total in yearlySales. Be sure make sure that yearlySales ends up with a valid value, i.e. a value of cents that is less than 100.



The Attempt at a Solution


My solution:
PHP:
int j = 0; 
yearlySales.cents = 0; yearlySales.dollars = 0;
while (j < 12)
{

yearlySales.cents += monthlySales[j].cents;
yearlySales.dollars += monthlySales[j].dollars;
if(yearlySales.cents >= 100){yearlySales.dollars++; yearlySales.cents -= 100;}

j++;
}

Can anyone see what is not correct about this code?
 
Physics news on Phys.org
Hey phinds! I suppose that makes sense! I didn't really take into consideration if they gave, let's say, 200 cents. Thanks!

PHP:
int j = 0; 
yearlySales.cents = 0; yearlySales.dollars = 0;
while (j < 12)
{

yearlySales.cents += monthlySales[j].cents;
yearlySales.dollars += monthlySales[j].dollars;
if(yearlySales.cents >= 100){yearlySales.dollars += yearlySales.cents/100; yearlySales.cents = yearlySales.cents%100;}

j++;
}
 
Last edited:
sandy.bridge said:
Hey phinds! I suppose that makes sense! I didn't really take into consideration if they gave, let's say, 200 cents. Thanks!

No, you are missing the point.

EDIT: OOPS ... *I* am the one making a mistake. I read "+=" as "=", and you are correct, the only problem I can see would be if a single entry had over 100 cents, which really wouldn't make sense (or wouldn't make proper cents :smile:)
 
Last edited: