aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacobAKnox <[email protected]>2021-11-10 19:30:47 -0800
committerJacobAKnox <[email protected]>2021-11-10 19:30:47 -0800
commit1bb95c3e3f822507bdcc3660cf7f87d0e6e09587 (patch)
treeeede2c42304efb4e429352d67f07938ef9e3746c
parent12a finished (diff)
downloadcst116-lab7-jacobaknox-1bb95c3e3f822507bdcc3660cf7f87d0e6e09587.tar.xz
cst116-lab7-jacobaknox-1bb95c3e3f822507bdcc3660cf7f87d0e6e09587.zip
12b done
-rw-r--r--12a/12a.cpp5
-rw-r--r--12b/12b.cpp115
-rw-r--r--12b/12b.sln31
-rw-r--r--12b/12b.vcxproj147
-rw-r--r--12b/12b.vcxproj.filters22
5 files changed, 318 insertions, 2 deletions
diff --git a/12a/12a.cpp b/12a/12a.cpp
index c191b6b..2d51a61 100644
--- a/12a/12a.cpp
+++ b/12a/12a.cpp
@@ -8,6 +8,7 @@
using namespace std;
#define ARRAY_SIZE 100
+#define EXIT 3
void GetChoice(int& choice);
@@ -22,7 +23,7 @@ int main()
int strct = 0, choice = 0;
- while (choice != 3)
+ while (choice != EXIT)
{
GetChoice(choice);
switch (choice)
@@ -33,7 +34,7 @@ int main()
case 2:
PrintList(strs, strct);
break;
- case 3:
+ case EXIT:
cout << "Exiting Program...";
break;
default:
diff --git a/12b/12b.cpp b/12b/12b.cpp
new file mode 100644
index 0000000..78e9a4d
--- /dev/null
+++ b/12b/12b.cpp
@@ -0,0 +1,115 @@
+// 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 4
+
+void GetChoice(int& choice);
+
+void PrintList(string strs[ARRAY_SIZE], int& strct);
+
+void FindSubstring(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);
+ 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. 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;
+
+} \ No newline at end of file
diff --git a/12b/12b.sln b/12b/12b.sln
new file mode 100644
index 0000000..8249745
--- /dev/null
+++ b/12b/12b.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}") = "12b", "12b.vcxproj", "{94087EDC-917B-4DE1-9608-4A15CF3EE816}"
+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
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Debug|x64.ActiveCfg = Debug|x64
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Debug|x64.Build.0 = Debug|x64
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Debug|x86.ActiveCfg = Debug|Win32
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Debug|x86.Build.0 = Debug|Win32
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Release|x64.ActiveCfg = Release|x64
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Release|x64.Build.0 = Release|x64
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Release|x86.ActiveCfg = Release|Win32
+ {94087EDC-917B-4DE1-9608-4A15CF3EE816}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4B7B59BC-883E-4012-816C-0160EB00A235}
+ EndGlobalSection
+EndGlobal
diff --git a/12b/12b.vcxproj b/12b/12b.vcxproj
new file mode 100644
index 0000000..81f7aab
--- /dev/null
+++ b/12b/12b.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>{94087edc-917b-4de1-9608-4a15cf3ee816}</ProjectGuid>
+ <RootNamespace>My12b</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="12b.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/12b/12b.vcxproj.filters b/12b/12b.vcxproj.filters
new file mode 100644
index 0000000..9f58e2c
--- /dev/null
+++ b/12b/12b.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="12b.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file