Develop a menu-driven program to be used by the network administrator that will provide the two options below and an exit option: 1. Shortest Path Between Two Nodes Develop the process to find the shortest path between any two computers on a local area network. Represent each computer with an integer id. In a file, have the integer for a computer on a line followed by the integers of other directly connected computers. The cable length between computers appears after each adjacent computer number. Thus, one line of the file might be as follows (example below): 1 2 500 3 380 4 100 Direct connections exist between computers 1 and 2, computers 1 and 3, and 1 and 4. The cable length between computers 1 and 2 is 500 feet. Computers 1 and 3 have 380 feet of cable between them and 100 feet of cable separate computers 1 and 4. If the shortest path menu option is chosen, the administrator will be queried for the two nodes in question. The shortest path between the two stated nodes will be output, clearly annotated. 2. Minimum Spanning Tree Suppose a network administrator wishes to send a message to all networked computers covering the least amount of cable feet without duplicating the message to any machine. Develop a component to display such a minimum spanning tree along with the total feet. If this menu option is chosen, a list of edges in the spanning tree will be generated with respective connecting cable lengths, clearly annotated. To make things easier for grading, encode the graph above into a file and turn it in with your assignment. It is expected that you will test your algorithms/code on multiple graphs with differing properties. Notes: Include in your report a diagram of all test cases (i.e. draw the graphs) and label the minimum spanning tree for each graph. This will replace the data diagram portion of your assignment. A final test file will be provided in the same manner as the last program near the end of the semester. Implementation of your graph MUST be an adjacency matrix, packed-adjacency list, or a linked adjacency list. You may use STL containers for anything/everything else if you choose too.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased. I want this to be made using the Visual C++ 6.0 or 7.0 console application. The cpp and h files must be documented so that the user will know what each variable stands for. It must be dynamic so that if a different test file is used, the program will still execute with valid results
Visual C++ 6.0 or 7.0 Windows XP // This is for bonus. We can work out these details through email or chat. If you feel ambitious, implement it with WIN32 API. I'd also like to use a little .wav file for when the user clicks on "about" under the help menu. ( I'll supply the .wav file, just document where it should go.) If you choose this avenue, documentation must be very thorough, or the coder must have the patience to answer some of the most ignorant questions you've ever heard.
## Deadline information
Phase I Working, executable in Visual C++ 6.0 or 7.0 console application. Phase II WIN32 API , (A nice GUI, with a couple of bells, and whistles -- note the .wav file I mentioned)