Errors in Resistor Code

I am getting errors that for the life of me I cannot figure out.
Error 1 error C1014: too many include files : depth = 1024 \\acad.dvuadmin.net\sce\homedir\d01631274\documents\visual studio 2010\projects\week2class\week2class\generalfunctions.h 3

2 IntelliSense: #include file "\\acad.dvuadmin.net\sce\homedir\d01631274\documents\visual studio 2010\projects\week2class\week2class\Resistor.h" includes itself \\acad.dvuadmin.net\sce\homedir\d01631274\documents\visual studio 2010\projects\week2class\week2class\generalfunctions.h 3

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 #include "Resistor.h"

 #include <iostream>
 #include <iomanip>
 #include <string.h>
 #include <Windows.h>
 using namespace std;

 //This functions retrieves the nominal resistance value from the user.

 double CResistor::getNominal(bool fnDisplay)
 {
 fnDisplay = true;
 if (fnDisplay != false)
 {
 cout << " The 'getNominal' function has been called" << endl;
 }
 return nominalRes;
 }

 //This function retrieves the nominal tolerance from the user and display's
 //a test message that states the function has been called if the correct boolean
 //value has been set.


 double CResistor::getTolerance(bool fnDisplay)
 {
 fnDisplay = true;
 if (fnDisplay != false)
 {
 cout << " The 'getTolerance()' function has been called" << endl;
 }
 return nominalTol;
 }

 //This function retrieves the resistor name from the user.
 string Cresistor::getResName(bool fnDisplay
 
 {
 fnDisplay = true;
 if (fnDisplay != false)
 {
 cout << " The 'getResName()' function has been called" << endl;
 }
 return (resistorName);
 }

 //This function defines the Constructor. The Constructor has 4 defualt parameters that will
 //initialize the class member attributes nominalRes, nominalTol and resistorName to a default
 //value.

 CResistor::CResistor(double R, double T,string rN,bool fnDisplay)
 {
 fnDisplay = true;
 if(fnDisplay != false)
 {
 cout << "The Constructor is called" << endl;
 cout << endl;
 if(0.0 < R)
 {
 nominalRes = R;
 }
 else
 {
 nominalRes = 0.0;
 }
 if(.00 < T)
 {
 nominalTol = T;
 }
 else
 {
 nominalTol = .00;
 }
 resistorName = rN;
 
 }

 //This function will reset the class member attribute "nominalTol"
 //to the user defined tolerance value.
void (Resistor::setTolerance ( double Tol ,bool fnDisplay)
 
 {
 fnDisplay = true;
 if(fnDisplay != false)
 {
 cout <<"The setTolerance function was called" << endl;
 }
 nominalTol = Tol;
 }

 void CResistor::setNominal(double nom,bool fnDisplay)
 {
 fnDisplay = true;
 if(fnDisplay != false)
 {
The error seems pretty self-explanatory, Resistor.h includes itself. Whether this is correct or not cannot be said, because you are only showing the cpp file.
I cut and pasted the program back in and now I am getting undeclared identifiers. If I get rid of the Resistor.h file I get to many include in program. I am about ready to scrap the whole thing and start all over. 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();

private:
double nominalRes;
double nominalTol;
string resistorName;
};
ResistorMain.cpp
#include "Resistor.h"
#include "source.cpp"
#include <iostream>
#include <iomanip>
#include <Windows.h>
#include <math.h>
#include <string>

using namespace std;

//EIA Standard array element sizes per tolerance class
const int E12 = 12;
const int E24 = 24;
const int E48 = 48;
const int E96 = 96;

//EIA Standard Resistor Values
//E12 10% tolerance
//E24 5% tolerance
//E48 2% tolerance
//E96 1% tolerance

//10% standard values
const int nominalE12Values[E12] =
{ 100, 120, 150, 180, 220, 270,
330, 390, 470, 560, 680, 820};

//5% standard values
const int nominalE24Values[E24] =
{ 100, 110, 120, 130, 150, 160, 180, 200, 220, 240,
270, 300, 330, 360, 390, 430, 470, 510, 560, 620,
680, 750, 820, 910};

//2% standard values
const int nominalE48Values[E48] =
{ 100, 105, 110, 115, 121, 127, 133, 140, 147, 154,
162, 169, 178, 187, 196, 205, 215, 226, 237, 249,
261, 274, 287, 301, 316, 332, 348, 365, 383, 402,
422, 442, 464, 487, 511, 536, 562, 590, 619, 649,
681, 715, 750, 787, 825, 866, 909, 953};

//1% standard values
const int nominalE96Values[E96] =
{ 100, 102, 105, 107, 110, 113, 115, 118, 121, 124,
127, 130, 133, 137, 140, 143, 147, 150, 154, 158,
162, 165, 169, 174, 178, 182, 187, 191, 196, 200,
205, 210, 215, 221, 226, 232, 237, 243, 249, 255,
261, 267, 274, 280, 287, 294, 301, 309, 316, 324,
332, 340, 348, 357, 365, 374, 383, 392, 402, 412,
422, 432, 442, 453, 464, 475, 487, 499, 511, 523,
536, 549, 562, 576, 590, 604, 619, 634, 649, 665,
681, 698, 715, 732, 750, 768, 787, 806, 825, 845,
866, 887, 909, 931, 953, 976};

void DisplayResistance(CResistor&, bool );
void EnterResistance(CResistor&, bool);

void main(void)
{

//Print programmer's name and assignment number name.

cout << setfill('*') << setw(25) << "" << endl;
cout << setfill('*') << setw(2) << "" << " Terry Bright" << setw(2) << "" << endl;
cout << setfill('*') << setw(2) << "" << " iLab assignment wk2 " << setw(2) << "" << endl;
cout << setfill('*') << setw(25) << "" << endl;

//Control variable to display function names when called
bool fnDisp = false;
string Resistor1 = "Res1";
string Resistor2 = "Res2";
string Resistor3 = "Res3";

CResistor Res1(4700.0, 0.10, Resistor1, fnDisp);
CResistor Res2(330.0, 0.10, Resistor2, fnDisp);
CResistor Res3(10000.0,0.10, Resistor3, fnDisp);

DisplayResistance(Res1, fnDisp);
DisplayResistance(Res2, fnDisp);
DisplayResistance(Res3, fnDisp);

EnterResistance(Res1, fnDisp);
DisplayResistance(Res1, fnDisp);

system("pause");
}

// 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;

do
{
cout << "Current resistance tolerance = " << tol * 100 << " %" << endl;
cout << "Valid tolerances are 1%, 2%, 5% or 10%" << endl << endl;
cout << "Enter 1, 2, 5 or 10: ";
cin >> tolEdit;
cout << endl;
}
while(tolEdit != 1 && tolEdit != 2 && tolEdit != 5 && tolEdit != 10);

cout << "Tolerance set to " << tolEdit << " %" << endl << endl;
resObj.setTolerance((double)tolEdit*0.01, fnDisplay);

do
{
cout << "Current nomimal resistance = " << nom << " ohms" << endl;
cout << "Standard 10% Resistance Values, First Three Digits" << endl << endl;

if(tolEdit == 10)
{
for( i = 0; i < E12; i++)
{
if(!(i % 10))
cout << endl;
cout << nominalE12Values[i] << " ";
}
}
else if(tolEdit == 5)
{
for( i = 0; i < E24; i++)
{
if(!(i % 10))
cout << endl;
cout << nominalE24Values[i] << " ";
}
}
else if(tolEdit == 2)
{
for( i = 0; i < E48; i++)
{
if(!(i % 10))
cout << endl;
cout << nominalE48Values[i] << " ";
}
}
else
{
for( i = 0; i < E96; i++)
{
if(!(i % 10))
cout << endl;
cout << nominalE96Values[i] << " ";
}
}

cout << endl << endl << "Enter first three digits: ";
cin >> nomEdit;
cout << "You entered " << nomEdit << endl;
validEIA = false;

if(tolEdit == 10)
{
for( i = 0; i < E12; i++)
{
if(nomEdit == nominalE12Values[i])
{
validEIA = true;
cout << "Valid EIA value entered" << endl;
}
}
}
else if(tolEdit == 5)
{
for( i = 0; i < E24; i++)
{
Last edited on
Topic archived. No new replies allowed.