Skip to content
Gallery
CS480 Notes
Share
Explore
Project files

Prelim Proj

Last edited 432 days ago by Eddie Coda
Certainly, let's review the assumptions and the problems identified:
Assumptions:
The code is being executed from the `zero` directory. This assumption is based on the provided project structure and the relative paths used in the test files.
The `result` directory does not exist when the program is run. This assumption is based on your description of the problem.
3. The test files (`testalphabetcount.c` and `testspecialcharcount.c`) are not to be modified. This is based on the project instructions you provided. 4. The output files (`result.txt` and `specialresult.txt`) do not exist when the program is run. They should be created by the program.
Problems identified: 1. The `charcount` function in `count.c` was not correctly handling special characters. It was assuming that the `ischar` function would only pass for alphabet letters, which caused an out-of-bounds access of the `freq` array for special characters. This was addressed by adding a `get_index` function to compute the appropriate index based on the character and the `ischar` function. 2. The `result` directory was not being created by the program. This was initially suggested to be addressed by adding a `mkdir` command in the `main` function, but this was not possible as the `main` function is in the test files, which cannot be modified. 3. The output files (`result.txt` and `specialresult.txt`) were not being created by the program. The `fopen` function used in the `charcount` function should create these files, but it can't if the `result` directory doesn't exist.
The current suggested solution is: 1. Add a `mkdir` command at the start of the `charcount` function in `count.c` to create the `result` directory. The `mkdir` function will not cause an error if the directory already exists, so it is safe to call it every time `charcount` is called. 2. No changes are suggested for `alphabetcount.c` and `specialcharcount.c`, because the paths they use are correct assuming the program is run from the `zero` directory. 3. No changes are suggested for `count.h`.
The current solution should work if the program is run from the `zero` directory, as the relative paths in the test files will then point to the correct locations. The `result` directory will be created at the correct location, and the output files will be created within it. The modified `charcount` function should correctly handle both alphabet letters and special characters.
Please apply these changes and let me know if you encounter any issues or have further questions.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.