Programming
Composition using Visual Studio and C++

Question Description

Can you help me understand this Programming question?

This Needs to becompleted using Visual Studio Only! It can be downloaded for free here: http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express

STEP 1: Create a Multifile Project for the Composition Lab
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

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

  1. a resistor-object data member
  2. a capacitor-object data member
  3. a cutoff frequency (in Hertz) of the RC filter
  4. maximum and minimum cutoff frequencies, based on the maximum and minimum in-tolerance values of the capacitor and the resistor object
  5. a filter type, either low pass or high pass
  6. 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

  1. 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
  2. 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

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

Example Code: ( This example code is for all the file in the project it will be split over 7 diffent filess)

#include <iostream>

#include <string>

using namespace std;

class CResistor{

private:

double nominalValue;

double tolerance;

double minimumValue;

double maximumValue;

public:

CResistor() {

nominalValue = 100;

tolerance    = 10;

computeResistorLimits();

}

void computeResistorLimits() {

minimumValue = nominalValue*(1-tolerance/100);

maximumValue = nominalValue*(1+tolerance/100);

}

void enterResistor() {

cout<<"Please enter value of resistance"<<endl;

cin>>nominalValue;

cout<<"Please enter tolerance of resistor (i.e. 10 for 10% tolerance)"<<endl;

cin>>tolerance;

computeResistorLimits();

}

void displayResistor() {

cout<<minimumValue<<" Ohms <= R <= "<<maximumValue<<" Ohms"<<endl;

}

double getResistance(){

return nominalValue;

}

};

class CCapacitor{

private:

double nominalValue;

double tolerance;

double minimumValue;

double maximumValue;

public:

CCapacitor() {

nominalValue = 100;

tolerance    = 10;

computeCapacitorLimits();

}

void computeCapacitorLimits() {

minimumValue = nominalValue*(1-tolerance/100);

maximumValue = nominalValue*(1+tolerance/100);

}

void enterCapacitor() {

cout<<"Please enter value of capacitance"<<endl;

cin>>nominalValue;

cout<<"Please enter tolerance of capacitor (i.e. 10 for 10% tolerance)"<<endl;

cin>>tolerance;

computeCapacitorLimits();

}

void displayCapacitor() {

cout<<minimumValue<<" microFarads <= C <= "<<maximumValue<<" microFarads"<<endl;

}

double getCapacitance() {

return nominalValue;

}

};

class CRCFilter {

private:

CResistor  R;

CCapacitor C;

double cutoffFrequency;

public:

CRCFilter() {

cutoffFrequency = 1/(2*3.1415*R.getResistance()*C.getCapacitance()*.000001);

}

void displayFilterParameters(){

cout<<"The filter has:"<<endl;

cout<<"R  = "<< R.getResistance() <<" Ohms"<<endl;

cout<<"C  = "<< C.getCapacitance()<<" MicroFarads"<<endl;

cout<<"Fc = "<<cutoffFrequency<<" Hz"<<endl;

}

};

void main() {

CRCFilter F1;

F1.displayFilterParameters();

Student has agreed that all tutoring, explanations, and answers provided by the tutor will be used to help in the learning process and in accordance with Studypool's honor code & terms of service.

Final Answer

dagrawal (611)
UCLA

Anonymous
I was on a very tight deadline but thanks to Studypool I was able to deliver my assignment on time.

Anonymous
The tutor was pretty knowledgeable, efficient and polite. Great service!

Anonymous
I did not know how to approach this question, Studypool helped me a lot.

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4