# Help with C++

1. May 28, 2010

### Void123

I am pretty ignorant of this language. I am working from a '...for dummies' book to teach myself and after the first few pages I have already stumbled upon a problem. I have attached a code, pretty simple one, which I'm trying to run but there are some errors and I don't know how to resolve them. I am using eclipse and when I debug I get a message which says 'program file does not exist.' If someone can help me with this I would appreciate it.

#### Attached Files:

• ###### code.txt
File size:
909 bytes
Views:
85
2. May 29, 2010

### Staff: Mentor

What errors are you getting? If there are compiler errors (as opposed to warnings), the compiler will not generate a program file, so you can't debug.

The first thing I notice is a malformed comment ( / ) in the first line.

Something much less serious, but not incorrect, is the conversion formula, which is more complicated than it needs to be.
Fahrenheit = Celsius *(212 - 32)/100 + 32

This is exactly the same as Fahrenheit = Celsius *9/5 + 32, since (212 - 32)/100 = 180/100 = 9/5.
Code (Text):

/
// Program to convert temperature from Celsius degree units into Fahrenheit degree
// units into Fahrenheit degree units:
// Fahrenheit = Celsius *(212 - 32)/100 + 32
//
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
// enter the temperature in Celsius
int celsius;
cout << "Enter the temperature in Celsius:";
cin >> celsius;
// calculate conversion factor for Celsius
// to Fahrenheit values
int factor;
factor = 212 - 32;

// use conversion factor to convert Celsius
// into Fahrenheit values
int fahrenheit;
fahrenheit = factor * celsius/100 + 32;

// output the results (followed by a NewLine)
cout << "Fahrenheit value is";
cout << fahrenheit << endl;

// wait until user is ready before terminating program
// to allow the user to see the program results
system("PAUSE");
return 0;

}

3. May 29, 2010

### mgb_phys

fahrenheit = factor * celsius/100 + 32;

Doesn't do what you think it does.
For anything below boiling point it will return 32.

4. May 29, 2010

### Staff: Mentor

I agree with the "doesn't do what you think it does" part, but if celsius is a multiple of 10, the formula will give the right result. If celsius is not a multiple of 10, the results will be surprising to someone who doesn't understand integer division in C and C++.

The * and / operators are at the same precedence level, and are evaluated left to right.

5. May 29, 2010

### Void123

I corrected it, but its still doing the same thing.

6. May 29, 2010

### jmaat7

You're running it in eclipse? With what compiler? My guess with that error message is that you don't have the right plugins installed in the IDE. I've never worked with C++ in eclipse, but I think there is a development kit called CDT that you can use. Did you try a different IDE? I got this code to work in visual studio, so I don't know what the problem is.

The only thing is you have to add the standard header file
#include "stdafx.h"

Let us know if you're still getting errors and what they say. See if you can get it to compile with something besides eclipse.