[SOLVED] CS Hive // Project3.cpp : This file contains the main function. Program execution begins and ends there.

$25

File Name: CS_Hive_//_Project3.cpp_:_This_file_contains_the_main_function._Program_execution_begins_and_ends_there..zip
File Size: 979.68 KB

5/5 - (1 vote)

// Project3.cpp : This file contains the main function. Program execution begins and ends there.
//

#include pch.h
#include framework.h
#include Project3.h

#include stdafx.h
#include
#include AbstractGeometricObject.h
#include DerivedCircleFromAbstractGeometricObject.h
#include DerivedRectangleFromAbstractGeometricObject.h
#include
using namespace std;

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

//! @file
//! @brief Main driver file for the console application.
//!

//! A free function for comparing the areas of two geometric objects
//!
bool equalArea(const GeometricObject& g1, const GeometricObject& g2)
{
return g1.getArea() == g2.getArea();
}

//! A free function for displaying a geometric object
//!
void displayGeometricObject(const GeometricObject& g)
{
cout << “The area is ” << g.getArea() << endl;cout << “The perimeter is ” << g.getPerimeter() << endl;cout << “The color is ” << g.getColor() << endl;}//! A free function for displaying a geometric object that demonstrates //! the use of dynamic_cast to cast the GenericObject in both a Circle //! and a JRectangle. Whichever is successful will be the one displayed //!void displayGeometricObjectDynamicCastDemo(GeometricObject& g){cout << “The area is ” << g.getArea() << endl;cout << “The perimeter is ” << g.getPerimeter() << endl;GeometricObject* p = &gCircle* p1 = dynamic_cast (p);
JRectangle* p2 = dynamic_cast (p);

if (p1 != NULL)
{
cout << “The radius is ” << p1->getRadius() << endl;cout << “The diameter is ” << p1->getDiameter() << endl;cout << “The color is ” << p1->getColor() << endl;}if (p2 != NULL){cout << “The width is ” << p2->getWidth() << endl;cout << “The height is ” << p2->getHeight() << endl;cout << “The color is ” << p2->getColor() << endl;}}//! main() function. Entry point of the program//!void mymain(){cout << “HERE!!!!!!!!!!!!!!!” << endl;CFile theFile;theFile.Open(_T(“CArchiveTest.txt”), CFile::modeCreate | CFile::modeWrite);CArchive archive(&theFile, CArchive::store);Circle* circle = new Circle(5, “black”, true);JRectangle* JRect = new JRectangle(5, 3, “red”, true);cout << *circle;cout << *JRect;circle->Serialize(archive);
JRect->Serialize(archive);

cout << “Circle info: ” << endl;displayGeometricObject(*circle);cout << ”
JRectangle info: ” << endl;displayGeometricObject(*JRect);cout << ”
The two objects have the same area? ” <<(equalArea(*circle, *JRect) ? “Yes” : “No”) << endl;cout << ”
Circle info: ” << endl;displayGeometricObjectDynamicCastDemo(*circle);cout << ”
JRectangle info: ” << endl;displayGeometricObjectDynamicCastDemo(*JRect);delete circle;delete JRect;archive.Close();theFile.Close();cout << ”
Write done. Press any key to continue…” << endl; char c;cin >> c;

CFile theOtherFile;
theOtherFile.Open(_T(CArchiveTest.txt), CFile::modeRead);
CArchive otherArchive(&theOtherFile, CArchive::load);

Circle* circle2 = new Circle();
JRectangle* JRect2 = new JRectangle();

cout << *circle2;cout << *JRect2;circle2->Serialize(otherArchive);
JRect2->Serialize(otherArchive);

cout << “Circle info: ” << endl;displayGeometricObject(*circle2);cout << ”
JRectangle info: ” << endl;displayGeometricObject(*JRect2);cout << ”
The two objects have the same area? ” <<(equalArea(*circle2, *JRect2) ? “Yes” : “No”) << endl;cout << ”
Circle info: ” << endl;displayGeometricObjectDynamicCastDemo(*circle2);cout << ”
JRectangle info: ” << endl;displayGeometricObjectDynamicCastDemo(*JRect2);cout << ”
Read done. Press any key to stop…” << endl;char c1;cin >> c1;

delete circle2;
delete JRect2;
otherArchive.Close();
theOtherFile.Close();
}

// The one and only application object

CWinApp theApp;

using namespace std;

int main()
{
int nRetCode = 0;

HMODULE hModule = ::GetModuleHandle(nullptr);

if (hModule != nullptr)
{
// initialize MFC and print and error on failure
if (!AfxWinInit(hModule, nullptr, ::GetCommandLine(), 0))
{
// TODO: code your applications behavior here.
wprintf(LFatal Error: MFC initialization failed
);
nRetCode = 1;
}
else
{
mymain();
// TODO: code your applications behavior here.
}
}
else
{
// TODO: change error code to suit your needs
wprintf(LFatal Error: GetModuleHandle failed
);
nRetCode = 1;
}

return nRetCode;
}

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS Hive // Project3.cpp : This file contains the main function. Program execution begins and ends there.
$25