The program is giving me undeclared identifiers everywhere. It is like the programs are not linking.
Resistor.H
#include <iostream>
#include <iomanip>
#include <string.h>
#include <Windows.h>
using namespace std;
class CResistor
{
public:
double getNominal(bool);
double getTolerance(bool);
string getResName(bool);
void setTolerance(double,bool);
void setNominal(double,bool);
CResistor(double,double,string,bool);
CResistor();
// Function displays all data member values of a CResistor object
void DisplayResistance(CResistor& resObj, bool fnDisplay)
{
//Local variables to hold CResistor data copies
double nom, tol, min, max;
nom = resObj.getNominal(fnDisplay);
tol = resObj.getTolerance(fnDisplay);
min = nom * (1.0 - tol);
max = nom * (1.0 + tol);
cout << endl << "Resistor object name is " << resObj.getResName(fnDisplay) << endl;
cout << setiosflags(ios::fixed) << setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << "Nominal resistance value = " << setw(15) << nom << " ohms ";
cout << endl << "Tolerance = " << setw(15) << tol * 100 << " %";
cout << endl << "Minimum Resistance = " << setw(15) << min << " ohms";
cout << endl << "Maximum Resistance = " << setw(15) << max << " ohms";
cout << endl << endl;
}
// Function allows user to enter new values for CResistor data members
void EnterResistance(CResistor& resObj, bool fnDisplay)
{
//Local variables to hold CResistor data copies
double nom, tol;
string name;
//Local variable for user data entry
int nomEdit = 0;
int tolEdit = 0;
int powerOfTen = 0;
//Valid EIA entry value check boolean
bool validEIA = false;
//Local loop counter
int i = 0;
nom = resObj.getNominal(fnDisplay);
tol = resObj.getTolerance(fnDisplay);
name = resObj.getResName(fnDisplay);
cout << endl << endl;
cout << "Resistor being edited: " << name << endl << endl;
It's a good idea to include all the necessary libraries in your header files. That way you don't have to guess about what you need to include in your source files and you aren't repeating. There are exceptions but in your case, it's the best way to go.
We can already see that you are wasting space by including the same libraries in both your header and source files.
You are also including a source file which is generally a big no-no. Source files should include headers and occasionally libraries while headers should include libraries and other headers.
It's actually a good practice - if the source file continues to have the dependency but the dependency is removed from the header, you won't have to remember to adjust the source file.
Error 1 error C2011: 'CResistor' : 'class' type redefinition c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.h 8 1 ResistorWeek2
Error 2 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 13 1 ResistorWeek2
Error 4 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 28 1 ResistorWeek2
Error 6 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 40 1 ResistorWeek2
Error 8 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 54 1 ResistorWeek2
Error 12 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 84 1 ResistorWeek2
Error 14 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 94 1 ResistorWeek2
Error 27 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 93 1 ResistorWeek2
Error 29 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 94 1 ResistorWeek2
Error 31 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 97 1 ResistorWeek2
Error 33 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 125 1 ResistorWeek2
Error 35 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 126 1 ResistorWeek2
Error 37 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 127 1 ResistorWeek2
Error 40 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 142 1 ResistorWeek2
Error 42 error C2027: use of undefined type 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 251 1 ResistorWeek2
Error 9 error C2062: type 'double' unexpected c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 54 1 ResistorWeek2
Error 3 error C2065: 'nominalRes' : undeclared identifier c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 20 1 ResistorWeek2
Error 15 error C2065: 'nominalRes' : undeclared identifier c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 101 1 ResistorWeek2
Error 5 error C2065: 'nominalTol' : undeclared identifier c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 35 1 ResistorWeek2
Error 13 error C2065: 'nominalTol' : undeclared identifier c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 91 1 ResistorWeek2
Error 7 error C2065: 'resistorName' : undeclared identifier c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 47 1 ResistorWeek2
Error 17 error C2078: too many initializers c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 74 1 ResistorWeek2
Error 19 error C2078: too many initializers c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 75 1 ResistorWeek2
Error 21 error C2078: too many initializers c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 76 1 ResistorWeek2
Error 16 error C2079: 'Res1' uses undefined class 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 74 1 ResistorWeek2
Error 18 error C2079: 'Res2' uses undefined class 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 75 1 ResistorWeek2
Error 20 error C2079: 'Res3' uses undefined class 'CResistor' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 76 1 ResistorWeek2
Error 10 error C2143: syntax error : missing ';' before '{' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 55 1 ResistorWeek2
Error 28 error C2228: left of '.getNominal' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 93 1 ResistorWeek2
Error 34 error C2228: left of '.getNominal' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 125 1 ResistorWeek2
Error 32 error C2228: left of '.getResName' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 97 1 ResistorWeek2
Error 38 error C2228: left of '.getResName' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 127 1 ResistorWeek2
Error 30 error C2228: left of '.getTolerance' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 94 1 ResistorWeek2
Error 36 error C2228: left of '.getTolerance' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 126 1 ResistorWeek2
Error 43 error C2228: left of '.setNominal' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 251 1 ResistorWeek2
Error 41 error C2228: left of '.setTolerance' must have class/struct/union c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 142 1 ResistorWeek2
Error 11 error C2447: '{' : missing function header (old-style formal list?) c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistance.h 55 1 ResistorWeek2
Error 22 error C2664: 'DisplayResistance' : cannot convert parameter 1 from 'int' to 'CResistor &' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 78 1 ResistorWeek2
Error 23 error C2664: 'DisplayResistance' : cannot convert parameter 1 from 'int' to 'CResistor &' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 79 1 ResistorWeek2
Error 24 error C2664: 'DisplayResistance' : cannot convert parameter 1 from 'int' to 'CResistor &' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 80 1 ResistorWeek2
Error 26 error C2664: 'DisplayResistance' : cannot convert parameter 1 from 'int' to 'CResistor &' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 83 1 ResistorWeek2
Error 25 error C2664: 'EnterResistance' : cannot convert parameter 1 from 'int' to 'CResistor &' c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 82 1 ResistorWeek2
Error 39 error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) c:\users\terry\documents\visual studio 2010\projects\resistorweek2\resistorweek2\resistor.cpp 129 1 ResistorWeek2
(These are the errors)