add projects 6 and 7

This commit is contained in:
Fennel Kora 2023-07-05 21:11:55 -04:00
parent f789abddb2
commit 07b4ea9822
12 changed files with 748 additions and 0 deletions

100
Project6/Project6.cpp Normal file
View file

@ -0,0 +1,100 @@
// Corey Williams
// COP3530 01Z
// Project 6
/*
Create an application that allows user to build a Queue of Circle Elements.
The Queue must be built using a Linked List (i.e., refer to Linked List Implementation, Figure 4.10 pp. 143 - 144 [uses C++ template; Figure 4.13 uses the template]).
The application must be menu controlled and provide the following.
* Allow insertion of a "Circle" object/structure in the Queue data structures.
* Allow display of all elements from Queue data structure by Invoking a method/function "DisplayQueue" (uses "DeQueue" method).
* Allow for deletion of the Queue
*/
using namespace std;
#include <iostream>
#include "genQueue.h"
#include "circle.h"
#include <string>
void enterQueueElements(Queue<Circle>& q) { //queue is passed in by reference in order to remain persistent between main and function calls
system("cls");
string r = "0"; //Takes string so that user input can be processed regardless of validity
//Greeting/instruction text
cout << "1. Enter Queue Elements" << endl;
cout << "=======================" << endl;
cout << "Input a positive number to add a circle with that radius to the queue"
<< endl << "or enter q to exit back to the main menu" << endl << endl;
//Loops until exit condition is input by user
while (r != "q") {
cout << "Input: ";
cin >> r;
if (r == "q" or r == "Q") { return; }
else {
try { //try block encapsulates attempt to cast string to double
Circle tmp(stod(r)); //instantiates circle with user-input radius
q.enqueue(tmp); //adds circle to queue
cout << "Circle of radius " << r << " added to queue." << endl;
}
catch (...) { //catches when user input is not able to be used as a numeric input
cout << "Not a valid entry, please try again. ";
continue;
}
}
}
}
void displayQueueElements(Queue<Circle> q) { //receives a copy of the queue from main so that elements can be dequeued for output while leaving the original queue intact
cout << endl << "Elements:" << endl << endl;
if (q.isEmpty()) { cout << "There are no elements in queue. "; }
while (!q.isEmpty()) {
Circle tmp = q.dequeue();
cout << "Radius: " << tmp.getRadius() << endl;
cout << "Area: " << tmp.calculateArea() << endl << endl;
}
system("pause");
}
void deleteCurrentQueue(Queue<Circle>& q) { //receives reference to main function's queue and deletes all elements
q.clear();
cout << endl << endl;
cout << "The queue has been cleared. ";
system("pause");
}
int main()
{
Queue<Circle> cirQueue;
string menuChoice = "0";
//Main Menu - reads string from user and parses for menu selection
//Loops until exit condition is input by user
while (menuChoice != "4") {
menuChoice = "0";
system("cls");
cout << "Main Menu" << endl
<< "1. Enter Queue Elements" << endl
<< "2. Display Queue Elements" << endl
<< "3. Delete Current Queue" << endl
<< "4. Exit Program" << endl
<< endl << "Choose an option (1-4): ";
cin >> menuChoice;
if (menuChoice == "1") { enterQueueElements(cirQueue); }
else if (menuChoice == "2") { displayQueueElements(cirQueue); }
else if (menuChoice == "3") { deleteCurrentQueue(cirQueue); }
else if (menuChoice == "4") { return 0; }
else {
cout << endl << "Not a valid entry, please try again. ";
system("pause");
menuChoice = "0";
}
}
}

31
Project6/Project6.sln Normal file
View file

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33801.468
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project6", "Project6.vcxproj", "{8F096234-3F16-4D9F-BB3B-322280A0FBF5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Debug|x64.ActiveCfg = Debug|x64
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Debug|x64.Build.0 = Debug|x64
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Debug|x86.ActiveCfg = Debug|Win32
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Debug|x86.Build.0 = Debug|Win32
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Release|x64.ActiveCfg = Release|x64
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Release|x64.Build.0 = Release|x64
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Release|x86.ActiveCfg = Release|Win32
{8F096234-3F16-4D9F-BB3B-322280A0FBF5}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9E0C321B-244B-4BD3-AC84-2D013DFC75CF}
EndGlobalSection
EndGlobal

139
Project6/Project6.vcxproj Normal file
View file

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{8f096234-3f16-4d9f-bb3b-322280a0fbf5}</ProjectGuid>
<RootNamespace>Project6</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Project6.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="circle.h" />
<ClInclude Include="genQueue.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Project6.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="genQueue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="circle.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

34
Project6/circle.h Normal file
View file

@ -0,0 +1,34 @@
#ifndef CIRCLE_HEADER
#define CIRCLE_HEADER
#define _USE_MATH_DEFINES
#include <math.h>
class Circle {
private:
double radius;
public:
Circle() {
radius = 0;
}
Circle(double r) {
radius = r;
}
double getRadius() {
return radius;
}
void setRadius(double r) {
radius = r;
}
double calculateArea() {
return M_PI * radius * radius;
}
};
#endif

35
Project6/genQueue.h Normal file
View file

@ -0,0 +1,35 @@
//********************** genQueue.h *************************
// generic queue implemented with doubly linked list
#ifndef DLL_QUEUE
#define DLL_QUEUE
#include <list>
template<class T>
class Queue {
public:
Queue() {
}
void clear() {
lst.clear();
}
bool isEmpty() const {
return lst.empty();
}
T& front() {
return lst.front();
}
T dequeue() {
T el = lst.front();
lst.pop_front();
return el;
}
void enqueue(const T& el) {
lst.push_back(el);
}
private:
list<T> lst;
};
#endif

110
Project7/Project7.cpp Normal file
View file

@ -0,0 +1,110 @@
//Corey Williams
//COP3530 01Z
//Project 7
/*
Write a C / C++ or Java application that creates a Stack data structure.
The Stack must be built using a Linked List(i.e., refer to Linked List Implementation, Figure 4.5 pp. 137 - 138).
The application also creates a "DisplayStackElement" routine.
The application must be menu driven(with an option to terminate the application) and provide the following features.
- Allow insertion of a "Circle" object / structure in the Stack data structures.The Circle contains a "radius" data member.
The Circle also uses functions / methods "setRadius", "getRadius" and calculateArea(returns a double data type).
- Allow display of an element from Stack data structure by Invoking a method / function "DisplayStackElement" (uses the "Pop" method)
- Allow for deletion of the Stack
*/
using namespace std;
#include <iostream>
#include "genListStack.h"
#include "circle3.h"
#include <string>
void displayStackElements() {
}
void enterStackElements(LLStack<Circle>& s) { //stack is passed in by reference in order to remain persistent between main and function calls
system("cls");
string r = "0"; //Takes string so that user input can be processed regardless of validity
//Greeting/instruction text
cout << "1. Enter Stack Elements" << endl;
cout << "=======================" << endl;
cout << "Input a positive number to add a circle with that radius to the stack"
<< endl << "or enter q to exit back to the main menu" << endl << endl;
//Loops until exit condition is input by user
while (r != "q") {
cout << "Input: ";
cin >> r;
if (r == "q" or r == "Q") { return; }
else {
try { //try block encapsulates attempt to cast string to double
Circle tmp(stod(r)); //instantiates circle with user-input radius
s.push(tmp); //adds circle to stack
cout << "Circle of radius " << r << " pushed to stack." << endl;
}
catch (...) { //catches when user input is not able to be used as a numeric input
cout << "Not a valid entry, please try again. ";
continue;
}
}
}
}
void displayStackElement(LLStack<Circle>& s) { //pops the top element and prints to screen
cout << endl << "Elements:" << endl;
if (s.isEmpty()) { cout << endl << "There are no elements to display. "; system("pause"); }
string control = "y";
while (!s.isEmpty() and control!="n" and control !="N") {
Circle tmp = s.pop();
cout << endl << "Radius: " << tmp.getRadius();
cout << endl << "Area: " << tmp.calculateArea() << endl << endl;
cout << "Display another element? y/n: ";
cin >> control;
if (s.isEmpty()) { cout << endl << "There are no more elements. "; system("pause"); }
}
}
void deleteCurrentStack(LLStack<Circle>& s) { //receives reference to main function's queue and deletes all elements
s.clear();
cout << endl << endl;
cout << "The stack has been cleared. ";
system("pause");
}
int main()
{
LLStack<Circle> cirStack;
string menuChoice = "0";
//Main Menu - reads string from user and parses for menu selection
//Loops until exit condition is input by user
while (menuChoice != "4") {
menuChoice = "0";
system("cls");
cout << "Main Menu" << endl
<< "=========" << endl
<< "1. Enter Stack Elements" << endl
<< "2. Display Top Element" << endl
<< "3. Delete Current Stack" << endl
<< "4. Exit Program" << endl
<< endl << "Choose an option (1-4): ";
cin >> menuChoice;
if (menuChoice == "1") { enterStackElements(cirStack); }
else if (menuChoice == "2") { displayStackElement(cirStack); }
else if (menuChoice == "3") { deleteCurrentStack(cirStack); }
else if (menuChoice == "4") { return 0; }
else {
cout << endl << "Not a valid entry, please try again. ";
system("pause");
menuChoice = "0";
}
}
}

31
Project7/Project7.sln Normal file
View file

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33801.468
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project7", "Project7.vcxproj", "{38E2962A-AB1A-427A-B095-36C8970694F0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{38E2962A-AB1A-427A-B095-36C8970694F0}.Debug|x64.ActiveCfg = Debug|x64
{38E2962A-AB1A-427A-B095-36C8970694F0}.Debug|x64.Build.0 = Debug|x64
{38E2962A-AB1A-427A-B095-36C8970694F0}.Debug|x86.ActiveCfg = Debug|Win32
{38E2962A-AB1A-427A-B095-36C8970694F0}.Debug|x86.Build.0 = Debug|Win32
{38E2962A-AB1A-427A-B095-36C8970694F0}.Release|x64.ActiveCfg = Release|x64
{38E2962A-AB1A-427A-B095-36C8970694F0}.Release|x64.Build.0 = Release|x64
{38E2962A-AB1A-427A-B095-36C8970694F0}.Release|x86.ActiveCfg = Release|Win32
{38E2962A-AB1A-427A-B095-36C8970694F0}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B8C6B9B4-A05D-449C-9C0C-4A77EA20A30B}
EndGlobalSection
EndGlobal

139
Project7/Project7.vcxproj Normal file
View file

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{38e2962a-ab1a-427a-b095-36c8970694f0}</ProjectGuid>
<RootNamespace>Project7</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Project7.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="circle3.h" />
<ClInclude Include="genListStack.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Project7.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="genListStack.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="circle3.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

34
Project7/circle3.h Normal file
View file

@ -0,0 +1,34 @@
#ifndef CIRCLE_HEADER
#define CIRCLE_HEADER
#define _USE_MATH_DEFINES
#include <math.h>
class Circle {
private:
double radius;
public:
Circle() {
radius = 0;
}
Circle(double r) {
radius = r;
}
double getRadius() {
return radius;
}
void setRadius(double r) {
radius = r;
}
double calculateArea() {
return M_PI * radius * radius;
}
};
#endif

35
Project7/genListStack.h Normal file
View file

@ -0,0 +1,35 @@
//********************** genListStack.h *************************
// generic stack defined as a doubly linked list
#ifndef LL_STACK
#define LL_STACK
#include <list>
template<class T>
class LLStack {
public:
LLStack() {
}
void clear() {
lst.clear();
}
bool isEmpty() const {
return lst.empty();
}
T& topEl() {
return lst.back();
}
T pop() {
T el = lst.back();
lst.pop_back();
return el;
}
void push(const T& el) {
lst.push_back(el);
}
private:
list<T> lst;
};
#endif