Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   Help with a logic (http://www.go4expert.com/forums/help-logic-t22901/)

baskarvj 2Aug2010 09:23

Help with a logic
 
Hi,

I need to write a C++ program to do the following things, and i have displayed my attempted code. Please let me know if there is more effective way to do this.

- I need to calculate the % based on the input values (run-time)
- The percentage value will keep on increasing based on the input values.

For eg

If the input is 30, then it after completing the 1st operation it should display 1 % .... and after completing 2nd operation it should display 2 % and so on, and when it completes 30th operation it will display 100 %.

Note: the input values is a random number.


My logic

Case 1: If the input is 30

1/30 = 0.03 and multiply the result by 100 then the value is 3 %
.........
30/30 = 1 result will be 100 %

It is ok to have the % is some increasing order, rather than more presisely with 1%,2% etc.

But problem is my logic will not work for this case

Case 2: If the input is for eg 300

then 1/300 = 0.033 and multiply the result by 100 then the value is 0.33, in this case i should multiply by 1000 instead of 100 to get the round value.

Any idea on how to deal with this.

Thanks in advance.

virxen 4Aug2010 02:12

Re: Help with a logic
 
try to explain better what you want to do

xpi0t0s 8Aug2010 00:20

Re: Help with a logic
 
Quote:

Originally Posted by baskarvj (Post 71054)
I need to write a C++ program to do the following things, and i have displayed my attempted code.

Where?

I also don't understand the problem here:
Quote:

Originally Posted by baskarvj (Post 71054)
Case 2: If the input is for eg 300

then 1/300 = 0.033 and multiply the result by 100 then the value is 0.33, in this case i should multiply by 1000 instead of 100 to get the round value.

Why do you think you need to multiply the result by 1000? Why do you think that .033 * 100 = .33? Did you try that on a calculator? If you multiply by 1000 instead of 100, you won't get 1% for 1/300, and the progress bar will finish (a) at 1000%, or (b) when you're 1/10th of the way through the task.


All times are GMT +5.5. The time now is 17:49.