In: Computer Science
In C++ Please
Problem 1: How to calculate a home's value
Housing economists have long used a home price/rent ratio as one
way to gauge whether or not home prices are inflated or
undervalued.
A housing P/E
The use of a price/rent ratio is analogous to employing a
price/earnings ratio for stocks. When a stock price is high, and
its earnings per share relatively low, the P/E is high. A high P/E
often indicates that the stock is too expensive, and the share
price is headed for a drop.
What someone is willing to pay to rent a place is that home's
"earnings." And, just as in the stock market, a high home price
related to the rental earnings mean homes values will probably
drop.
For a specific look at how a home's P/E is determined, let's
consider a home that is listed for either rent or sale in suburban
Chicago.
The home has been rented for the past three years for $1,600 per
month; so that is $19,200 per year. It is currently listed for sale
at $400,000. Dividing the price by the total annual rent of $19,200
gives a "housing P/E" of 20.83. According to Moody's Economy.com,
the long-run average housing P/E is 16, so a P/E of 20.83 suggests
that this home may be somewhat overpriced.
For this programming project you will read in a list of housing
prices and how much each house is rented for that are found in the
attached HousingPrices.txt file. The file looks like this:
713047 1246
1605787 1979
1174719 1879
1018239 1700
Where the first value on each line is the price of the home, and
the second number on each line is the price that this home
currently rents for per month.
Read these numbers in from the file into 2 separate arrays of size
100, since there are 100 home prices/rents in the file. Do this
part in your main method.
Then use a for-loop to loop through the arrays and for each pair of
values send them into a method that you will write called
"getHousingPE". Your method will have two parameters; the price of
the home and the current monthly rental rate of the home. Your
method will calculate and then return the homes “housing P/E”.
Check each homes returned P/E value and if the P/E value is greater
than 16 you should write to the output “House # is somewhat
overpriced”; where # is the number of the house in the file (1100).
If the P/E is greater than 19 then you should write to the output
“House # is way overpriced”. If the P/E is less than 12 then you
should write to the output "“House # might be a good deal”. And if
the P/E is less than 9 then you should write “Buy House #, it is a
deal”. If the P/E is between 12-16 then output "House # is
average".
Problem 2:
Determining Left or
Right
For this programming
project you are to
read in a list
of street addresses
and determine how
many of those
addresses are on
the right side of
the street, and how
many are on the
left. The street
addresses file is a
text file that
looks like:
6 S 33rd St
6 Greenleaf Ave
618 W Yakima Ave
74 S Westgate St
3273 State St
You can determine
if an address is
either on the left
or right side of
the street by
looking at the
number of the
address; all even
numbers are on the
right side of the
street, and all odd
numbers are on the
left side of the
street.
You will read your
data into 2 arrays;
an integer array to
hold the street
number, and a
String array to
hold the rest of
the address.
These will be
parallel arrays, meaning
the street number
and street address
of each index are
related to each
other.
Remember to draw a
picture so that you
can visualize this.
You will need to
write a method that
will determine if
each house is on
the left or right
side of the
street.
You will call this
method for every
street address, and
then keep a count
of how many houses
are on the left
and right sides of
the street.
The output should
be the street
number and address
and then whether
the house is on
the left or right
side of the
street:
Address Left/Right
6649 N Blue Gum St left
4 B Blue Ridge Blvd right
8 W Cerritos Ave #54 right
639 Main St left
…
The number of houses on the left and right sides of the street should also be output.
Code: For Program 1:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
string rd_file;
cin>>rd_file;
ifstream read (rd_file);
if (read.is_open()){
ofstream out
("output");
int h_price[100],
m_rent[100];
int i = 0;
while( read >>
h_price[i] >> m_rent[i] ) {
i++;
}
string str;
for(i=0; i<100;
i++){
float val = h_price[i] / (m_rent[i]*12);
if(val < 9)
str = "Buy House " + to_string(i+1) + " ,It is the deal.\n";
else if(val < 12)
str = "House " + to_string(i+1) + " might be a good deal.\n";
else if(val < 16)
str = "House " + to_string(i+1) + " is average.\n";
else if(val < 19)
str = "House " + to_string(i+1) + " is somewhat
overpriced.\n";
else
str = "House " + to_string(i+1) + " is way overpriced.\n";
out << str;
}
}
return 0;
}
Screenshot:

Code: For Program 2:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string check(int n){
if(n%2 == 0)
return "Right";
return "Left";
}
int main(){
string f_name;
cin>>f_name; //use x.txt
ifstream read(f_name);
if (read.is_open()){
ofstream out
("output");
int num[100];
string
address[100];
int i = 0;
while( read >>
num[i]>> address[i] ) {
i++;
}
string str; int left =
0, right = 0;
for(i=0; i<100;
i++){
string side = check(num[i]);
if(side == "Left")
left++;
right++;
str = to_string(num[i]) + " " + address[i] +" " + side +
"\n";
out << str;
}
str = "\nThere are " +
to_string(left) + " houses to the Left.";
out << str;
str = "\nThere are " +
to_string(right) + " houses to the Right.";
out << str;
read.close();
out.close();
}
return 0;
}

Output:

Hope you like the answer.
Please give it a like and your valuable feedback or any doubt.