Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1. Add three classes to the project: a Filter class, a Capacitor class, and a Re

ID: 3644060 • Letter: 1

Question

1. Add three classes to the project: a Filter class, a Capacitor class, and a Resistor class.
2. You may use the Resistor class files from the Week 2 lab for this lab.
3. The Capacitor class should be modeled after the Resistor class for class members and operation.

STEP 2: Filter-Class Definition
Back to top

The Filter class should have, at a minimum, the following capabilities.

a resistor-object data member
a capacitor-object data member
a cutoff frequency (in Hertz) of the RC filter
maximum and minimum cutoff frequencies, based on the maximum and minimum in-tolerance values of the capacitor and the resistor object
a filter type, either low pass or high pass
allow the user to enter new values for the filter, including

6.1. resistor tolerance and nominal resistance;
6.2. capacitor tolerance and nominal capacitance; and
6.3. filter type

provides the ability to write all capacitor, resistor, and filter data members to a formatted text file and allows the user to name the file
provides the ability to read all capacitor, resistor, and filter data members from a formatted text file and allows the user to enter the file name and correctly handles a file-not-found error

STEP 3: Test-Program Operation
Back to top

All data-input and data-display operations (cin and cout) should be done in the function main() test program.
The test program should instantiate at least one object of the class Filter.
The user should enter values for all the data members of the Filter, Resistor, and Capacitor classes.
The Filter class should then calculate and display the correct maximum and minimum cutoff frequencies.
The test program should then display all Filter, Resistor, and Capacitor data members.





We must use the files and code provided..


Capacitor.cpp
Capacitor.h
Filter.cpp
Filter.h
Filter.txt
FilterMain // provided and you are required to use
FilterOutput.txt
Resistor.cpp
Resistor.h


#include "Capacitor.h"
#include <conio.h>
#include "Filter.h"
#include <iostream>
#include "Resistor.h"
#include <windows.h>
#include <iomanip>

using namespace std;

void clear_screen(void);

void main(void)
{
// Local variable for text data entry
char tempName[16];
// Local variable for component value data entry
double tempValue;

cout << "Instantiate one object of class Filter" << endl << endl;

cout << "Enter a name for the new filter object: ";
cin.getline(tempName,15,' ');

Filter filt1;

// Display filter values
cout << setiosflags(ios::fixed)
<< setiosflags(ios::right)
<< setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << endl;
cout << "Nominal Filter Frequency = " << setw(10) << filt1.getFilter() << " Hertz" << endl;
cout << "Minimum Filter Frequency = " << setw(10) << filt1.getMaxFilter() << " Hertz" << endl;
cout << "Maximum Filter Frequency = " << setw(10) << filt1.getMinFilter() << " Hertz" << endl;
cout << "Filter Bandwidth Frequency = " << setw(10) << filt1.getFilterTol() << " Hertz" << endl;

// Display resistor values
cout << setiosflags(ios::fixed)
<< setiosflags(ios::right)
<< setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << endl;
cout << "Nominal Resistance Value = " << setw(10) << filt1.getResistance() << " ohms" << endl;
cout << "Resistor Tolerance Value = " << setw(10) << filt1.getResTolerance()*100 << " Percent" << endl;
cout << "Maximum Resistance Value = " << setw(10) << filt1.getMaxResistance() << " ohms" << endl;
cout << "Minimum Resistance Value = " << setw(10) << filt1.getMinResistance() << " ohms" << endl;
cout << endl << endl;

// Display capacitor values
cout << setiosflags(ios::fixed)
<< setiosflags(ios::showpoint)
<< setiosflags(ios::left)
<< setprecision(3);
cout << "Nominal Capacitance Value = " << setw(10) << filt1.getCapacitance() *1000000<< " micro Farads" << endl;
cout << "Capacitor Tolerance Value = " << setw(10) << filt1.getCapTolerance()*100 << " Percent" << endl;
cout << "Maximum Capacitance Value = " << setw(10) << filt1.getMaxCapacitance() * 1000000 << " micro Farads" << endl;
cout << "Minimum Capacitance Value = " << setw(10) << filt1.getMinCapacitance() * 1000000<< " micro Farads" << endl;
cout << endl << endl;

//filt1.FilterSave();

cout << "Enter new nominal resistance value for filter: ";
cin >> tempValue;
filt1.setResistance(tempValue);

cout << "Enter new resistance tolerance value for filter: ";
cin >> tempValue;
filt1.setResTolerance(tempValue/100.0);

cout << "Enter new nominal micro Farad capacitance value for filter: ";
cin >> tempValue;
filt1.setCapacitance(tempValue/1000000.0);

cout << "Enter new capacitance tolerance value for filter: ";
cin >> tempValue;
filt1.setResTolerance(tempValue/100.0);

// Calculate filter values based on new resistance and capacitance values
filt1.calculateFilter();

// Display filter values
cout << setiosflags(ios::fixed)
<< setiosflags(ios::right)
<< setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << endl;
cout << "Nominal Filter Frequency = " << setw(10) << filt1.getFilter() << " Hertz" << endl;
cout << "Minimum Filter Frequency = " << setw(10) << filt1.getMaxFilter() << " Hertz" << endl;
cout << "Maximum Filter Frequency = " << setw(10) << filt1.getMinFilter() << " Hertz" << endl;
cout << "Filter Bandwidth Frequency = " << setw(10) << filt1.getFilterTol() << " Hertz" << endl;

// Display resistor values
cout << setiosflags(ios::fixed)
<< resetiosflags(ios::left)
<< setiosflags(ios::right)
<< setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << endl;
cout << "Nominal Resistance Value = " << setw(10) << filt1.getResistance() << " ohms" << endl;
cout << "Resistor Tolerance Value = " << setw(10) << filt1.getResTolerance()*100 << " Percent" << endl;
cout << "Maximum Resistance Value = " << setw(10) << filt1.getMaxResistance() << " ohms" << endl;
cout << "Minimum Resistance Value = " << setw(10) << filt1.getMinResistance() << " ohms" << endl;
cout << endl << endl;

cout << setiosflags(ios::fixed)
<< setiosflags(ios::showpoint)
<< setiosflags(ios::left)
<< setprecision(3);
cout << "Nominal Capacitance Value = " << setw(10) << filt1.getCapacitance() *1000000<< " micro Farads" << endl;
cout << "Capacitor Tolerance Value = " << setw(10) << filt1.getCapTolerance()*100 << " Percent" << endl;
cout << "Maximum Capacitance Value = " << setw(10) << filt1.getMaxCapacitance() * 1000000 << " micro Farads" << endl;
cout << "Minimum Capacitance Value = " << setw(10) << filt1.getMinCapacitance() * 1000000<< " micro Farads" << endl;
cout << endl << endl;


filt1.FilterRead();
//filt1.calculateFilter();

// Display filter values
cout << setiosflags(ios::fixed)
<< setiosflags(ios::right)
<< setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << endl;
cout << "Nominal Filter Frequency = " << setw(10) << filt1.getFilter() << " Hertz" << endl;
cout << "Minimum Filter Frequency = " << setw(10) << filt1.getMaxFilter() << " Hertz" << endl;
cout << "Maximum Filter Frequency = " << setw(10) << filt1.getMinFilter() << " Hertz" << endl;
cout << "Filter Bandwidth Frequency = " << setw(10) << filt1.getFilterTol() << " Hertz" << endl;

// Display resistor values
cout << setiosflags(ios::fixed)
<< resetiosflags(ios::left)
<< setiosflags(ios::right)
<< setiosflags(ios::showpoint)
<< setprecision(3);
cout << endl << endl;
cout << "Nominal Resistance Value = " << setw(10) << filt1.getResistance() << " ohms" << endl;
cout << "Resistor Tolerance Value = " << setw(10) << filt1.getResTolerance()*100 << " Percent" << endl;
cout << "Maximum Resistance Value = " << setw(10) << filt1.getMaxResistance() << " ohms" << endl;
cout << "Minimum Resistance Value = " << setw(10) << filt1.getMinResistance() << " ohms" << endl;
cout << endl << endl;

cout << setiosflags(ios::fixed)
<< setiosflags(ios::showpoint)
<< setiosflags(ios::left)
<< setprecision(3);
cout << "Nominal Capacitance Value = " << setw(10) << filt1.getCapacitance() *1000000<< " micro Farads" << endl;
cout << "Capacitor Tolerance Value = " << setw(10) << filt1.getCapTolerance()*100 << " Percent" << endl;
cout << "Maximum Capacitance Value = " << setw(10) << filt1.getMaxCapacitance() * 1000000 << " micro Farads" << endl;
cout << "Minimum Capacitance Value = " << setw(10) << filt1.getMinCapacitance() * 1000000<< " micro Farads" << endl;
cout << endl << endl;
}

Explanation / Answer

#pragma once; #include #include #include #include #include #include using namespace std; const double PI=3.1415927; class CResistor { protected: double res_kohms; public: void setResistance(); double getResistance(); }; class CCapacitor { protected: double cap_uF; public: void setCapacitance(); double getCapacitance(); }; class RCFilter { protected: CResistor resistor; CCapacitor capacitor; char filterType; double frequency; public: void setResistance(); void setCapacitance(); void setFilterType(); double getFrequency(); void showFrequency(); void showfilterDesign(); }; COORD getXY(); void gotoXY(int nX, int nY); // RCFilter.cpp #include "RCFilter.h" void CResistor::setResistance() { } double CResistor::getResistance() { return 1.0; } void CCapacitor::setCapacitance() { } double CCapacitor::getCapacitance() { return 1.0; } void RCFilter::setResistance() { } void RCFilter::setCapacitance() { } void RCFilter::setFilterType() { } double RCFilter::getFrequency() { return 1.0; } void RCFilter::showFrequency() { } void RCFilter::showfilterDesign() { if (filterType=='L') { } else { } cout dwCursorPosition.Y; delete pBuffer; return Coordinates; } // RCFilter-Main.cpp // #include "RCFilter.h" void main() { RCFilter rcf; char ch; do { system("CLS"); cout