From fcecfe178999fcf25cc7ad088913626f7f18f1fa Mon Sep 17 00:00:00 2001 From: JacobAKnox <91796123+JacobAKnox@users.noreply.github.com> Date: Sat, 13 Nov 2021 09:49:09 -0800 Subject: 13 completed --- CST116F2021-Lab8/13b/13b.cpp | 37 +++++++ CST116F2021-Lab8/13b/13b.h | 3 + CST116F2021-Lab8/13b/13b.sln | 31 ++++++ CST116F2021-Lab8/13b/13b.vcxproj | 150 ++++++++++++++++++++++++++ CST116F2021-Lab8/13b/13b.vcxproj.filters | 27 +++++ CST116F2021-Lab8/13c/13c/13c.cpp | 156 +++++++++++++++++++++++++++ CST116F2021-Lab8/13c/13c/13c.sln | 31 ++++++ CST116F2021-Lab8/13c/13c/13c.vcxproj | 147 +++++++++++++++++++++++++ CST116F2021-Lab8/13c/13c/13c.vcxproj.filters | 22 ++++ CST116F2021-Lab8/13c/13cData.txt | 6 ++ CST116F2021-Lab8/13c/13cReport.txt | 11 ++ 11 files changed, 621 insertions(+) create mode 100644 CST116F2021-Lab8/13b/13b.cpp create mode 100644 CST116F2021-Lab8/13b/13b.h create mode 100644 CST116F2021-Lab8/13b/13b.sln create mode 100644 CST116F2021-Lab8/13b/13b.vcxproj create mode 100644 CST116F2021-Lab8/13b/13b.vcxproj.filters create mode 100644 CST116F2021-Lab8/13c/13c/13c.cpp create mode 100644 CST116F2021-Lab8/13c/13c/13c.sln create mode 100644 CST116F2021-Lab8/13c/13c/13c.vcxproj create mode 100644 CST116F2021-Lab8/13c/13c/13c.vcxproj.filters create mode 100644 CST116F2021-Lab8/13c/13cData.txt create mode 100644 CST116F2021-Lab8/13c/13cReport.txt (limited to 'CST116F2021-Lab8') diff --git a/CST116F2021-Lab8/13b/13b.cpp b/CST116F2021-Lab8/13b/13b.cpp new file mode 100644 index 0000000..cb7d5a8 --- /dev/null +++ b/CST116F2021-Lab8/13b/13b.cpp @@ -0,0 +1,37 @@ +// 13b.cpp : This file contains the 'main' function. Program execution begins and ends there. +// + +#include +#include +#include +#include "13b.h" + +using namespace std; + +const int SIZE = 10; + +int main() +{ + float nums[SIZE] = { 3, 5.3, 7, 3.7, 2, 9, 10}; + int amt = 7; + + cout << "The median value in the array is: " << FindMedian(nums, amt); +} + +float FindMedian(float nums[], const int amt) +{ + float sum; + + sort(nums, nums + amt); + + if (amt % 2 == 0) + { + sum = nums[amt / 2 - 1] + nums[amt / 2]; + return sum / 2.0; + } + else + { + return nums[(int)ceil(amt / 2.0)]; + } + +} \ No newline at end of file diff --git a/CST116F2021-Lab8/13b/13b.h b/CST116F2021-Lab8/13b/13b.h new file mode 100644 index 0000000..fb89068 --- /dev/null +++ b/CST116F2021-Lab8/13b/13b.h @@ -0,0 +1,3 @@ +#pragma once + +float FindMedian(float nums[], const int amt); diff --git a/CST116F2021-Lab8/13b/13b.sln b/CST116F2021-Lab8/13b/13b.sln new file mode 100644 index 0000000..40f86c1 --- /dev/null +++ b/CST116F2021-Lab8/13b/13b.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}") = "13b", "13b.vcxproj", "{2570A467-0817-4221-9442-06917B489753}" +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 + {2570A467-0817-4221-9442-06917B489753}.Debug|x64.ActiveCfg = Debug|x64 + {2570A467-0817-4221-9442-06917B489753}.Debug|x64.Build.0 = Debug|x64 + {2570A467-0817-4221-9442-06917B489753}.Debug|x86.ActiveCfg = Debug|Win32 + {2570A467-0817-4221-9442-06917B489753}.Debug|x86.Build.0 = Debug|Win32 + {2570A467-0817-4221-9442-06917B489753}.Release|x64.ActiveCfg = Release|x64 + {2570A467-0817-4221-9442-06917B489753}.Release|x64.Build.0 = Release|x64 + {2570A467-0817-4221-9442-06917B489753}.Release|x86.ActiveCfg = Release|Win32 + {2570A467-0817-4221-9442-06917B489753}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {056F1E38-61D7-453E-8434-F1D93770F3F7} + EndGlobalSection +EndGlobal diff --git a/CST116F2021-Lab8/13b/13b.vcxproj b/CST116F2021-Lab8/13b/13b.vcxproj new file mode 100644 index 0000000..3317548 --- /dev/null +++ b/CST116F2021-Lab8/13b/13b.vcxproj @@ -0,0 +1,150 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {2570a467-0817-4221-9442-06917b489753} + My13b + 10.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + \ No newline at end of file diff --git a/CST116F2021-Lab8/13b/13b.vcxproj.filters b/CST116F2021-Lab8/13b/13b.vcxproj.filters new file mode 100644 index 0000000..632ad6d --- /dev/null +++ b/CST116F2021-Lab8/13b/13b.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/CST116F2021-Lab8/13c/13c/13c.cpp b/CST116F2021-Lab8/13c/13c/13c.cpp new file mode 100644 index 0000000..d14fe3e --- /dev/null +++ b/CST116F2021-Lab8/13c/13c/13c.cpp @@ -0,0 +1,156 @@ +/******************************************************************** +* File: Chapter 11 Debug.cpp +* +* General Instructions: Complete each step before proceeding to the +* next. +* +* Debugging Exercise 1 +* +* 1) Make your own data file like Troy 12, with the next person on the +* next line and save it to a directory you create on your drive. +* 2) Under the Project menu, select Add Existing Item and +* add the input file you just placed on your drive to your +* current project. Make sure your Solution Explorer window +* is visible. If not, you can display it by selecting Solution +* Explorer (or Ctrl+Alt+L). +* 3) Open the input file by simply double clicking the name of the +* file in your Solution Explorer. +* 4) Build and execute the program. +* 5) Update the file paths below to correctly represent the path you +* created. +* 6) Rebuild and execute the program. +* 7) Examine the code and the output and notice the use of +* parallel arrays. +* 8) Add the output file created via the execution of +* your program to your Project. Execute your program again +* and notice how Visual Studio has rewritten your output file +* and asks if you would like to reload the file (select Yes). +* 9) Examine the contents of both the input and the output file. +* 10) Fix all the problems in your code that exist in relation to +* the output. Verify that your output is appropriate for your + input file. +* 11) Build and execute your code until you have all errors +* removed and all the output is correct. +* +* Debugging Exercise 2 +* +* 1) Replace the double slashes (\\) in the input file open statement +* with only a single slash +* (i.e., inFile.open("C:\TEMP\Chap_11_data.txt"). +* 2) Build your code, noticing the impact of the invalid path you +* created in the previous step. +* 3) Replace the backslashes as they were. +* 4) Change both the input and output filenames so they are +* invalid. +* 5) Update the file related error messages within the code +* to also provide the specific name of the file that is having a +* problem. +* 6) Rebuild and execute your program to verify that your messages +* are correct. +* 7) Correct the path names. +* 8) Build and execute your code and carefully check your +* output on both the console and in the output file. +* +********************************************************************/ +#include +#include +#include // For the files!!!! +#include // For manipulators & formatting options +using std::cin; +using std::cout; +using std::endl; +using std::setw; +using std::ios; + +using std::ifstream; +using std::ofstream; + +const int EMPLOYEES = 20; +const int MAX = 21; + +int ReadData(ifstream& inFile, ofstream& outFile, char name[][MAX], int age[]); +void WriteOutputFile(ofstream& outFile, char name[][MAX], int age[], + int counter); +void PrintTotalsAndSummary(ofstream& out, int totalRecords); + +int main() +{ + char name[EMPLOYEES][MAX]; + int age[EMPLOYEES]; + int record_counter(0); + + std::string IFPath = "C:\\Users\\jakno\\source\\repos\\CST116\\cst115-lab8-JacobAKnox\\CST116F2021-Lab8\\13c\\13cData.txt", + OFPath = "C:\\Users\\jakno\\source\\repos\\CST116\\cst115-lab8-JacobAKnox\\CST116F2021-Lab8\\13c\\13cReport.txt"; + + ifstream inFile; + + // Notice how this automatically opens the file + ofstream outFile(OFPath); + + inFile.open(IFPath); + + if (inFile.is_open()) + { + record_counter = ReadData(inFile, outFile, name, age); + inFile.close(); + + if (outFile.is_open()) + { + WriteOutputFile(outFile, name, age, record_counter); + PrintTotalsAndSummary(outFile, record_counter); + outFile.close(); + } + else + { + cout << "Trouble Opening File: " << OFPath; + cout << "\n\n\t\t ** About to EXIT NOW! ** "; + } + } + else + { + cout << "Trouble Opening File: " << IFPath; + cout << "\n\n\t\t ** About to EXIT NOW! ** "; + } + return 0; +} +int ReadData(ifstream& inFile, ofstream& outFile, char name[][MAX], int age[]) +{ + int counter = 0; + inFile >> name[counter] >> age[counter]; // Priming Read + + cout << setiosflags(ios::left) << setw(25) + << name[counter] << resetiosflags(ios::left) + << setw(4) << age[counter] << endl; + + while (!inFile.eof()) + { + counter++; + inFile >> name[counter] >> age[counter]; + cout << setiosflags(ios::left) << setw(25) + << name[counter] << resetiosflags(ios::left) + << setw(4) << age[counter] << endl; + } + + return counter; +} +void WriteOutputFile(ofstream& outFile, char name[][MAX], int age[], int counter) +{ + outFile << " Here is the Output File" << endl; + for (int r = 0; r <= counter; r++) + { + outFile << setiosflags(ios::left) << setw(25) + << name[r] << setw(4) + << resetiosflags(ios::left) << age[r] + << endl; + } +} +void PrintTotalsAndSummary(ofstream& outFile, int totalRecords) +{ + // To screen + cout << "\n\n\t** Total Records: " << totalRecords + 1 << " **\n" + << "\t\t The End \n"; + + // To file + outFile << "\n\n\t** Total Records: " << totalRecords + 1 << " **\n" + << "\t\t The End \n"; +} diff --git a/CST116F2021-Lab8/13c/13c/13c.sln b/CST116F2021-Lab8/13c/13c/13c.sln new file mode 100644 index 0000000..867ea0e --- /dev/null +++ b/CST116F2021-Lab8/13c/13c/13c.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}") = "13c", "13c.vcxproj", "{A077746B-A0F8-49D2-945D-B4D7CF906562}" +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 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Debug|x64.ActiveCfg = Debug|x64 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Debug|x64.Build.0 = Debug|x64 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Debug|x86.ActiveCfg = Debug|Win32 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Debug|x86.Build.0 = Debug|Win32 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Release|x64.ActiveCfg = Release|x64 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Release|x64.Build.0 = Release|x64 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Release|x86.ActiveCfg = Release|Win32 + {A077746B-A0F8-49D2-945D-B4D7CF906562}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6B40F791-8FCF-4B9C-9839-ED626FA13720} + EndGlobalSection +EndGlobal diff --git a/CST116F2021-Lab8/13c/13c/13c.vcxproj b/CST116F2021-Lab8/13c/13c/13c.vcxproj new file mode 100644 index 0000000..a8980f3 --- /dev/null +++ b/CST116F2021-Lab8/13c/13c/13c.vcxproj @@ -0,0 +1,147 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {a077746b-a0f8-49d2-945d-b4d7cf906562} + My13c + 10.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/CST116F2021-Lab8/13c/13c/13c.vcxproj.filters b/CST116F2021-Lab8/13c/13c/13c.vcxproj.filters new file mode 100644 index 0000000..2f56dfa --- /dev/null +++ b/CST116F2021-Lab8/13c/13c/13c.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/CST116F2021-Lab8/13c/13cData.txt b/CST116F2021-Lab8/13c/13cData.txt new file mode 100644 index 0000000..31caf4d --- /dev/null +++ b/CST116F2021-Lab8/13c/13cData.txt @@ -0,0 +1,6 @@ +Name1 13 +Name2 45 +Name3 67 +Name4 86 +Name5 237 +Name6 2 \ No newline at end of file diff --git a/CST116F2021-Lab8/13c/13cReport.txt b/CST116F2021-Lab8/13c/13cReport.txt new file mode 100644 index 0000000..eaa1e81 --- /dev/null +++ b/CST116F2021-Lab8/13c/13cReport.txt @@ -0,0 +1,11 @@ + Here is the Output File +Name1 13 +Name2 45 +Name3 67 +Name4 86 +Name5 237 +Name6 2 + + + ** Total Records: 6 ** + The End -- cgit v1.2.3