09-19-2007, 09:41 PM | #1 (permalink) |
Junkie
|
[C++] Problem with for-loop
I have a problem for my class, and I've run into a really weird problem.
So the problem is a travel expense problem, where I need to use a for-loop to ask the user a few questions, such as cost of hotel, cost of parking fee, cost of bridge toll. So anyhow here's a snippet of my code: Code:
#include <iostream> using namespace std; int main() { double dhotel, dmeal, dpark, dbridge, dmiles, dtemp = 0.0; string scar; // Car name int iyear; // Car year string scolor; // Car color string smake; // Car make int i = 0; int iSize = 0; int iCounter = 0; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ cout << "Enter number of hotels you visited: "; cin >> iSize; for ( i = 0; i < iSize; i++ ) { iCounter++; cout << "\nEnter total cost of hotel " << iCounter << ": $ "; cin >> dtemp; dhotel += dtemp; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ cout << "\nTotal cost of hotel: $ " << dhotel; return 0; } -------- Enter number of hotels you visited: 2 Enter total cost of hotel 1: $ 1.00 Enter total cost of hotel 2: $ 1.00 Total cost of hotel: $ 0.00162506 What's going on here? |
09-21-2007, 02:51 AM | #2 (permalink) |
Psycho
Location: Sweden - Land of the sodomite damned
|
Everything looks fine to me, and when compiling and running the program on my Linux box I get the expected answer.
Something funky must be going on on your side...
__________________
If atheism is a religion, then not collecting stamps is a hobby. |
09-21-2007, 05:21 AM | #4 (permalink) |
Lover - Protector - Teacher
Location: Seattle, WA
|
What compiler are you using?
My only guess is you're using one that (oddly) doesn't support multiple variable initialization on the same line. If dHotel isn't getting initialized to 0, then you could see this problem. Try putting double dHotel = 0.0; on its own line. Additionally, is there a reason for using doubles, rather than floats? Save yourself a little bit of memory.
__________________
"I'm typing on a computer of science, which is being sent by science wires to a little science server where you can access it. I'm not typing on a computer of philosophy or religion or whatever other thing you think can be used to understand the universe because they're a poor substitute in the role of understanding the universe which exists independent from ourselves." - Willravel |
10-04-2007, 12:30 PM | #6 (permalink) | |
Tilted
|
Variable initialization
Quote:
A lot of compilers will sometimes (in debug mode) initialize variables to reasonable values.. what you did at the top: double var1, var2, var3 = 0; is initializing ONLY var3. Sometimes you can get lucky and var1 and var2 will be 0. the correct line would be: double var1=0, var2 = 0, var3 = 0;
__________________
"You're only given a little spark of madness. You mustn't lose it." - Robin Williams |
|
Tags |
forloop, problem |
|
|