Composition using Visual Studio and C++

User Generated

jgsjvaavat

Programming

Question Description

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.

Explanation & Answer

qntenjny (611)
UCLA

Anonymous
Great! Studypool always delivers quality work.

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4