-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMainFunctions.c
127 lines (97 loc) · 2.98 KB
/
MainFunctions.c
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "MainHeaderFile.h"
#define InterestRate 0.05
// 10-Nov 2021 Kannav Created this file
// 11-Nov 2021 Kannav Added the extra functions
// 13-Nov 2021 Kannav Finalised the File
// calculate the monthly earning for a single property
double MonthlyEarningsHouses(double MonthlyRent,double MonthlyUtilities ,double MonthlyPropertyTax){
double monthlyEarnings;
monthlyEarnings = MonthlyRent-MonthlyUtilities-MonthlyPropertyTax;
return monthlyEarnings;
}
double MonthlyEarningsTownHouses(double MonthlyRent,double MonthlyUtilities ,double MonthlyPropertyTax,double MonthlyCondoFees){
double monthlyEarnings;
monthlyEarnings = MonthlyRent-MonthlyUtilities-MonthlyPropertyTax-MonthlyCondoFees;
return monthlyEarnings;
}
double MonthlyEarningsAppartment(double MonthlyRent,double MonthlyCondoFees){
double monthlyEarnings;
monthlyEarnings = MonthlyRent-MonthlyCondoFees;
return monthlyEarnings;
}
// calculate the Return on investment for a single property
double ReturnOnInvestment(double MonthlyEarnings,double Pprice){
double rinvestment;
rinvestment=100*12*MonthlyEarnings/Pprice;
return rinvestment;
}
// calculate the current value of a single property
double CurrentValue(double MonthlyEarnings){
double cValue;
cValue=12*MonthlyEarnings/InterestRate;
return cValue;
}
// calculate the capitalgains for a single property
double CapitalGains(double CurrentValue, double Pprice){
double CapitalG;
CapitalG=CurrentValue-Pprice;
return CapitalG;
}
// calculate the total monthly earnings for a specific property
double TotalMonthlyEarningsAppart(struct RealEstate *property,int n){
double SumM=0;
if(n==1){
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->appartments[i].MonthlyEarnings;
}
}
else if(n==2){
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->townhouses[i].MonthlyEarnings;
}
}
else{
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->houses[i].MonthlyEarnings;
}
}
return SumM;
}
double TotalCvalueAppart(struct RealEstate *property,int n){
double SumM=0;
if(n==1){
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->appartments[i].CurrentV;
}
}
else if(n==2){
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->townhouses[i].CurrentV;
}
}
else{
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->houses[i].CurrentV;
}
}
return SumM;
}
double CapitalGainsAppart(struct RealEstate *property,int n){
double SumM=0;
if(n==1){
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->appartments[i].CapitalG;
}
}
else if(n==2){
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->townhouses[i].CapitalG;
}
}
else{
for(int i =0;i<NUM_PROPERTY;i++){
SumM=SumM+property->houses[i].CapitalG;
}
}
return SumM;
}