/////////////////////////////////////////////////////////////////////
//
// Name: Angelique Cano
// Date: 2/26/2021
// Class: CSCI 1370 92L
// Semester: Spring 2021
// CSCI/CMPE 1370 Instructor: Gustavo Dietrich
//
// Program Description: This program calculates the areas of  rectangle and of an ellipse and sends the results to an output file
//
/////////////////////////////////////////////////////////////////////
#include <iostream>				// to use cin and cout
#include <typeinfo>				// to be able to use operator typeid

// Include here the libraries that your program needs to compile
#include <cmath>
#include <iomanip>
#include <fstream>       //To use input and output files
#include <math.h>
#include <string>
using  namespace  std;

// Ignore this; it's a little function used for making tests
inline void _test(const char* expression, const char* file, int line)
{
	cerr << "test(" << expression << ") failed in file " << file;
	cerr << ", line " << line << "." << endl << endl;
}
// This goes along with the above function...don't worry about it
#define test(EXPRESSION) ((EXPRESSION) ? (void)0 : _test(#EXPRESSION, __FILE__, __LINE__))

// Declare a global constant named PI equal to 3.141592
const double PI = 3.141592;
// Include your header file here

#include "myfunctions.h"

int main()
{
// Declare variable named outFile to represent the output file

ofstream outFile;

// Declare variables named base, height, radiusa, and radiusb that hold doble precision numbers

double b, h, ra, rb;


// Declare variables named rec_area, and elli_area that hold double precision real numbers

double ar, ae;

// Open output file "output9.txt" and relate it to outFile

outFile.open("output9.txt");

//Print on the screen "For the rectangle"

cout << "For the rectangle" << endl;

//Call void function getData() and receive in base and height the two lengths read from the keyboard

getData(par1, par2);

//Print on the screen "For the ellipse"

cout << "For the ellipse" << endl;

//Call void function getData() and receive in radiusa and radiusb the two lengths read from the keyboard
	
getData(par1, par2);

// Call function area_rectangle() to calculate the area of a rectangle and assign the returned value to rec_area

ar(b, h);

//Call function area_ellipse() to calculate the area of an ellipse and assign the returned value to elli_area

ae(PI, ra, rb);

// Call function printData() to print the output to the output file

printData(outFile, b, h, ar, ra, rb, ae);

// Close the file

outFile.close();

system("pause");

	// Do NOT remove or modify the following statements
  cout << endl << "Testing your solution" << endl << endl;
	test(typeid(PI) == typeid(1.));							// Incorrect data type used for PI
	test(PI == 3.141592);									// Incorrect value used for PI
	test(typeid(base) == typeid(1.));						// Incorrect data type used for base
	test(typeid(height) == typeid(1.));						// Incorrect data type used for height
	test(typeid(radiusa) == typeid(1.));					// Incorrect data type used for radiusa
	test(typeid(radiusb) == typeid(1.));					// Incorrect data type used for radiusb
	test(typeid(rec_area) == typeid(1.));					// Incorrect data type used for rec_area
	test(typeid(elli_area) == typeid(1.));					// Incorrect data type used for elli_area
	test(fabs(area_rectangle(2.33, 3.61) - 8.4) < 0.001);	// Incorrect rounding of area of rectangle
	test(fabs(area_rectangle(2.42, 3.7) - 9.0) < 0.001);	// Incorrect rounding of area of rectangle
	test(fabs(area_ellipse(4.55, 5.95) - 85.1) < 0.001);	// Incorrect rounding of area of ellipse
	test(fabs(area_ellipse(4.61, 6.01) - 87.0) < 0.001);	// Incorrect rounding of area of ellipse
	system("pause");
	return 0 ;
} 

C++ Online Compiler

Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++ and start coding!

Read inputs from stdin

OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.

#include <iostream>
#include <string>
using namespace std;

int main() 
{
    string name;
    cout << "Enter name:";
    getline (cin, name);
    cout << "Hello " << name;
    return 0;
}

About C++

C++ is a widely used middle-level programming language.

  • Supports different platforms like Windows, various Linux flavours, MacOS etc
  • C++ supports OOPS concepts like Inheritance, Polymorphism, Encapsulation and Abstraction.
  • Case-sensitive
  • C++ is a compiler based language
  • C++ supports structured programming language
  • C++ provides alot of inbuilt functions and also supports dynamic memory allocation.
  • Like C, C++ also allows you to play with memory using Pointers.

Syntax help

Loops

1. If-Else:

When ever you want to perform a set of operations based on a condition If-Else is used.

if(conditional-expression) {
   //code
}
else {
   //code
}

You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.

2. Switch:

Switch is an alternative to If-Else-If ladder.

switch(conditional-expression){    
case value1:    
 // code    
 break;  // optional  
case value2:    
 // code    
 break;  // optional  
......    
    
default:     
 code to be executed when all the above cases are not matched;    
} 

3. For:

For loop is used to iterate a set of statements based on a condition.

for(Initialization; Condition; Increment/decrement){  
  //code  
} 

4. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while (condition) {  
// code 
}  

5. Do-While:

Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.

do {  
 // code 
} while (condition); 

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.

How to declare a Function:

return_type function_name(parameters);

How to call a Function:

function_name (parameters)

How to define a Function:

return_type function_name(parameters) {  
 // code
}