So, you have a GUI app with some buttons and some result display area.
Plus you have some business logic that does the loading and comparison of the two files.
Let's now focus on the business logic.
It consists of
- LoadFirstFile(...)
- LoadSecondFile(...)
- GetNumberOfEqualLines(...)
- GetNumberOfPartiallyEqualLines(...)
- etc.
If you find a library that provides the comparison functionality, use it in the above mentioned functions.
If you have no such library, implement it yourself.
The trouble with comparing is the algorithm to synchronize after a mismatch.
Assume you compare from begin to end of the two files: at one point you reach a line in both files where you have a mismatch. Does the line is *missing* in the 1st/2nd file or are the lines not missing but *partially* equal?
E.g. comparing the two files
You have to decide if a line is missing or if it is a partial match.
Think of how to achieve that. Write the cases down on paper and try to simulate the situations.
Depending on the size of the data and the needed "accuracy", you might come up with some context range where you search for a synchronization point. E.g. if you say you search at a mismatch for the next N lines for a matching in both files. The nearest match is taken and the lines between are different (or partially equal).
At this point you get into an interesting interview discussion... ;-)
Good luck!
Cheers
Andi