These assignment instructions are organized as follows:
A working executable of this program has been provided for your convenience. The program should first open a window resembling the following:
In particular, note that the GUI uses two Panels to divide the controls into two sections. A Panel is a container to graphically organize groups of controls into sections. For each Panel, set its BorderStyle property to "Fixed 3D".
You will also need to add a SaveFileDialog control to allow you to save the data to an output file.
The GUI should be a fixed size. Select the form and set its FormBorderStyle property to "Fixed3D".
The maximize button on the form should be disabled (which it was in the Lab 13 solution). Select the form and ensure that its MaximizeBox property is set to false.
Clicking the "Open Data File" button should work in the same way as it did for Lab 13, although the input file will likely not be sorted. The "Get Statistics" button should function in the same way as it did for Lab 13.
The "Output Sorted File" button should output all NameInformation data stored in your LinkedListCell< NameInformation > array to an output file in sorted order by name. The output should be formatted in the same way as the input file (so for each NameInformation, you write first the name, then the frequency, and then the ranking).
The "Count Names with Letter" button should read the letter out of the text box above, and should count the number of names in the array of linked lists that begin with that letter. The text box below the button should be updated with a count of how many names begin with that letter.
The "Find Most Common Letter" button should update the text box below with the most common starting letter of all the names in the array of linked lists.
Start by creating a folder called "Homework 2" - this should be a direct subfolder of your workspace folder. Then download the model solution unzip the folder, and copy theKsu.Cis300.NameLookup folder and paste it into your Homework 2 folder. Place this solution under source control. You should now have the LinkedListCell class, the NameInformation structure, and the start to the GUI.
Remove the LinkedListCell< NameInformation > field from the UserInterface class and add a new field of type LinkedListCell< NameInformation >[]. This field will initially be null, and will eventually be a size-26 array of linked lists of NameInformation, organized by the first letter in the name (names beginning with A will go in spot 0, names beginning with B will go in spot 1, etc.)
Finally, you will modify the UserInterface class to add functionality to the GUI. You should include at least the following methods:
You may include additional methods if you wish.
One operation that you will perform frequently is converting an upper-case letter ('A' - 'Z') into an array index (0-25). You can compute this index given an upper-case char letter as follows:
int index = letter - 'A';
You can compare the behavior of your program with that of the posted executable. With names1 and RnadomNames files