diff options
| author | Benjamin Schroeder <[email protected]> | 2021-11-20 17:46:33 -0800 |
|---|---|---|
| committer | Benjamin Schroeder <[email protected]> | 2021-11-20 17:46:33 -0800 |
| commit | 703b2c866705a6b8e5751a267cf5afecbd74b273 (patch) | |
| tree | 44a83e87eb043bfbefeff2285110087f98d47377 | |
| parent | update 11.14 (diff) | |
| download | cst115-lab8-bensprogramma-703b2c866705a6b8e5751a267cf5afecbd74b273.tar.xz cst115-lab8-bensprogramma-703b2c866705a6b8e5751a267cf5afecbd74b273.zip | |
Final Commit
| -rw-r--r-- | CST116F2021-Lab8/CST116F2021-Lab8.vcxproj | 4 | ||||
| -rw-r--r-- | CST116F2021-Lab8/CST116F2021-Lab8.vcxproj.filters | 4 | ||||
| -rw-r--r-- | CST116F2021-Lab8/CST116F2021-Lab8_Schroeder.cpp | 151 | ||||
| -rw-r--r-- | CST116F2021-Lab8/Chap_11_Data2.txt | 4 | ||||
| -rw-r--r-- | CST116F2021-Lab8/Chap_11_Report.txt | 1 | ||||
| -rw-r--r-- | CST116F2021-Lab8/Chap_11_Report2.txt | 9 |
6 files changed, 172 insertions, 1 deletions
diff --git a/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj b/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj index ee055fd..09bf5c4 100644 --- a/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj +++ b/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj @@ -141,6 +141,10 @@ <ItemGroup> <ClCompile Include="CST116F2021-Lab8_Schroeder.cpp" /> </ItemGroup> + <ItemGroup> + <Text Include="Chap_11_Data2.txt" /> + <Text Include="Chap_11_Report2.txt" /> + </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> diff --git a/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj.filters b/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj.filters index 599ecf8..9012fbc 100644 --- a/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj.filters +++ b/CST116F2021-Lab8/CST116F2021-Lab8.vcxproj.filters @@ -19,4 +19,8 @@ <Filter>Source Files</Filter> </ClCompile> </ItemGroup> + <ItemGroup> + <Text Include="Chap_11_Data2.txt" /> + <Text Include="Chap_11_Report2.txt" /> + </ItemGroup> </Project>
\ No newline at end of file diff --git a/CST116F2021-Lab8/CST116F2021-Lab8_Schroeder.cpp b/CST116F2021-Lab8/CST116F2021-Lab8_Schroeder.cpp index defb720..9abcef5 100644 --- a/CST116F2021-Lab8/CST116F2021-Lab8_Schroeder.cpp +++ b/CST116F2021-Lab8/CST116F2021-Lab8_Schroeder.cpp @@ -84,11 +84,162 @@ int main() // /////////////////////// 11.13 Debugging Exercises pp 333 - 336 ///////////////////// /* +******************************************************************* +* 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 <iostream> +#include <fstream> // For the files!!!! +#include <iomanip> // 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); + + ifstream inFile; + + // Notice how this automatically opens the file + ofstream outFile("Chap_11_Report2.txt"); + + inFile.open("Chap_11_data2.txt"); + + 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"; + cout << "\n\n\t\t ** About to EXIT NOW! ** "; + } + } + else + { + cout << "Trouble Opening File"; + 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 + + while (!inFile.eof()) + { + cout << setiosflags(ios::left) << setw(25) + << name[counter] << resetiosflags(ios::left) + << setw(4) << age[counter] << endl; + counter++; + inFile >> name[counter] >> age[counter]; + } + + 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 << " **\n" + << "\t\t The End \n"; + + // To file + outFile << "\n\n\t** Total Records: " << totalRecords << " **\n" + << "\t\t The End \n"; +} */ + + + + // //////////////////////// 11.14 Programming Exercise pp336 -337 ////////////////////// /* #include <iostream> diff --git a/CST116F2021-Lab8/Chap_11_Data2.txt b/CST116F2021-Lab8/Chap_11_Data2.txt new file mode 100644 index 0000000..0e65ae6 --- /dev/null +++ b/CST116F2021-Lab8/Chap_11_Data2.txt @@ -0,0 +1,4 @@ +Troy 12 +George 4 +Kelly 13 +Bob 43
\ No newline at end of file diff --git a/CST116F2021-Lab8/Chap_11_Report.txt b/CST116F2021-Lab8/Chap_11_Report.txt index 3b198ef..e69de29 100644 --- a/CST116F2021-Lab8/Chap_11_Report.txt +++ b/CST116F2021-Lab8/Chap_11_Report.txt @@ -1 +0,0 @@ -Name1 Address1 Phone1 Bday1 Name2 Address2 Phone2 Bday2 Name3 Address3 Phone3 Bday3 Name4 Address4 Phone4 Bday4 Name5 Address5 Phone5 Bday5 Name6 Address6 Phone6 Bday6
\ No newline at end of file diff --git a/CST116F2021-Lab8/Chap_11_Report2.txt b/CST116F2021-Lab8/Chap_11_Report2.txt new file mode 100644 index 0000000..01bbb49 --- /dev/null +++ b/CST116F2021-Lab8/Chap_11_Report2.txt @@ -0,0 +1,9 @@ + Here is the Output File +Troy 12 +George 4 +Kelly 13 +Bob 43 + + + ** Total Records: 3 ** + The End |