aboutsummaryrefslogtreecommitdiff
path: root/12c
diff options
context:
space:
mode:
authorJacobAKnox <[email protected]>2021-11-10 19:47:43 -0800
committerJacobAKnox <[email protected]>2021-11-10 19:47:43 -0800
commit31a4c9661bcef963f0c12bf7855f341b5a85d7fe (patch)
tree7be09e087688cbaa5d9fa9aab6f768380381add5 /12c
parent12b done (diff)
downloadcst116-lab7-jacobaknox-master.tar.xz
cst116-lab7-jacobaknox-master.zip
12c finishedHEADmaster
Diffstat (limited to '12c')
-rw-r--r--12c/12c.cpp155
-rw-r--r--12c/12c.sln31
-rw-r--r--12c/12c.vcxproj147
-rw-r--r--12c/12c.vcxproj.filters22
4 files changed, 355 insertions, 0 deletions
diff --git a/12c/12c.cpp b/12c/12c.cpp
new file mode 100644
index 0000000..dc1fbc9
--- /dev/null
+++ b/12c/12c.cpp
@@ -0,0 +1,155 @@
+// 12a.cpp : This file contains the 'main' function. Program execution begins and ends there.
+//
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#define ARRAY_SIZE 100
+#define EXIT 5
+
+void GetChoice(int& choice);
+
+void PrintList(string strs[ARRAY_SIZE], int& strct);
+
+void FindSubstring(string strs[ARRAY_SIZE], int& strct);
+
+void RemoveItem(string strs[ARRAY_SIZE], int& strct);
+
+void AddStr(string strs[ARRAY_SIZE], int& strct);
+
+int main()
+{
+ string strs[ARRAY_SIZE]{};
+ string substring;
+
+ int strct = 0, choice = 0;
+
+ while (choice != EXIT)
+ {
+ GetChoice(choice);
+ switch (choice)
+ {
+ case 1:
+ AddStr(strs, strct);
+ break;
+ case 2:
+ PrintList(strs, strct);
+ break;
+ case 3:
+ FindSubstring(strs, strct);
+ break;
+ case 4:
+ RemoveItem(strs, strct);
+ break;
+ case EXIT:
+ cout << "Exiting Program...";
+ break;
+ default:
+ cout << "Unknown choice: " << choice;
+ break;
+ }
+ }
+}
+
+void GetChoice(int& choice)
+{
+ string menu = "\t\t--String program--\n\
+\t1. Add a string\n\
+\t2. Print out string list\n\
+\t3. Find a substring\n\
+\t4. Remove an element\n\
+\t5. Exit Program\n\n\
+Input your choice: ";
+
+ cout << menu;
+ cin >> choice;
+
+ while (!cin)
+ {
+ cout << "Input was not an integer. Please try again." << endl;
+ cin.clear();
+ cin.ignore();
+ cout << menu;
+ cin >> choice;
+ }
+}
+
+void AddStr(string strs[ARRAY_SIZE], int& strct)
+{
+ string newstr;
+ cout << "Input a string: ";
+ cin.clear();
+ cin.ignore();
+ getline(cin, newstr);
+
+ strs[strct++] = newstr;
+
+ cout << newstr << " added to list.\n";
+}
+
+void PrintList(string strs[ARRAY_SIZE], int& strct)
+{
+ cout << "Outputing string list:" << endl;
+
+ for (int i = 0; i < strct; i++)
+ {
+ cout << strs[i] << endl;
+ }
+}
+
+void FindSubstring(string strs[ARRAY_SIZE], int& strct)
+{
+ string search;
+ int start = 0;
+
+ cout << "Input the substring to search for: ";
+ cin.clear();
+ cin.ignore();
+ getline(cin, search);
+
+ for (int i = 0; i < strct; i++)
+ {
+ if (strs[i].find(search) != string::npos)
+ {
+ cout << search << " was found in string " << i + 1 << ": " << strs[i] << " at position " << strs[i].find(search) << endl;
+ return;
+ }
+ }
+ cout << search << " could not be found in the list." << endl;
+
+}
+
+void RemoveItem(string strs[ARRAY_SIZE], int& strct)
+{
+ int loc;
+
+ cout << "Input the item to remove: ";
+ cin >> loc;
+
+ while (!cin || loc > strct || loc < 0)
+ {
+ if (!cin)
+ {
+ cout << "Please input a valid integer." << endl;
+ }
+ else if (loc > strct || loc < 1)
+ {
+ cout << "Please input a value between 1 and " << strct+1 << "." << endl;
+ }
+
+ cin.clear();
+ cin.ignore();
+ cout << "Input the item to remove: ";
+ cin >> loc;
+ }
+
+ cout << "Rmeoving item: " << loc << endl;
+
+ for (int i = loc-1; i < strct; i++)
+ {
+ strs[i] = strs[i + 1];
+ }
+ strct--;
+} \ No newline at end of file
diff --git a/12c/12c.sln b/12c/12c.sln
new file mode 100644
index 0000000..7f0ab8b
--- /dev/null
+++ b/12c/12c.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31729.503
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "12c", "12c.vcxproj", "{18A773AB-45F1-475A-971D-23BD4C261E3F}"
+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
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Debug|x64.ActiveCfg = Debug|x64
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Debug|x64.Build.0 = Debug|x64
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Debug|x86.ActiveCfg = Debug|Win32
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Debug|x86.Build.0 = Debug|Win32
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Release|x64.ActiveCfg = Release|x64
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Release|x64.Build.0 = Release|x64
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Release|x86.ActiveCfg = Release|Win32
+ {18A773AB-45F1-475A-971D-23BD4C261E3F}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {3E5E4A0F-59A0-452D-954E-74854733762E}
+ EndGlobalSection
+EndGlobal
diff --git a/12c/12c.vcxproj b/12c/12c.vcxproj
new file mode 100644
index 0000000..4466552
--- /dev/null
+++ b/12c/12c.vcxproj
@@ -0,0 +1,147 @@
+<?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>{18a773ab-45f1-475a-971d-23bd4c261e3f}</ProjectGuid>
+ <RootNamespace>My12c</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>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</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" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <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="12c.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/12c/12c.vcxproj.filters b/12c/12c.vcxproj.filters
new file mode 100644
index 0000000..609f65c
--- /dev/null
+++ b/12c/12c.vcxproj.filters
@@ -0,0 +1,22 @@
+<?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="12c.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file