Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Interests > Tilted Technology


 
 
LinkBack Thread Tools
Old 09-19-2007, 09:41 PM   #1 (permalink)
Junkie
 
zero2's Avatar
 
[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;
}
Output
--------
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?
zero2 is offline  
Old 09-21-2007, 02:51 AM   #2 (permalink)
Psycho
 
connyosis's Avatar
 
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.
connyosis is offline  
Old 09-21-2007, 04:51 AM   #3 (permalink)
Muffled
 
Kadath's Avatar
 
Location: Camazotz
I assume this isn't all the code; is it possible you reuse the variables elsewhere in the code and the numbers are getting overwritten?
__________________
it's quiet in here
Kadath is offline  
Old 09-21-2007, 05:21 AM   #4 (permalink)
Lover - Protector - Teacher
 
Jinn's Avatar
 
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
Jinn is offline  
Old 09-21-2007, 04:15 PM   #5 (permalink)
Junkie
 
zero2's Avatar
 
It now works after Jinnkai's suggestion of each variable having it's own line. That's really weird because normally it works, maybe the compiler didn't like it this time, since I had so many variables on one line.
zero2 is offline  
Old 10-04-2007, 12:30 PM   #6 (permalink)
Tilted
 
Variable initialization

Quote:
Originally Posted by zero2
It now works after Jinnkai's suggestion of each variable having it's own line. That's really weird because normally it works, maybe the compiler didn't like it this time, since I had so many variables on one line.

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
ergdork is offline  
 

Tags
forloop, problem


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 12:14 PM.

Tilted Forum Project

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73