Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Coursework Exercise

Due Date: 24 March (12pm)

Write a C/C++ program with a geological or geophysical usefulness. You can do any program that you want, but it MUST include the following capabilities and techniques:

•    Obtain input from the user

•    Load data from file

•    Save data to file

•    Carry out calculations

•    Make use of classes and objects

•    Dynamically allocate memory You can also use stl containers, but I also want to see that you are able to do the memory allocation yourself using new and delete as well

•    Make use of functions to both carry out specific tasks, as well as to break up the code into sensible sections.

Credit will be given for the difficulty of the program but remember to choose something that you think you can accomplish as lots of marks will be lost for programs that don’t work.

You must submit your source code, which must include comments (/*...*/ and/or //) that say what the various variables and each section of the program are for. You must also include 2 pages of documentation that describes what the program does and how the user should use it. You can give examples of the output as an appendix if it is too long for the page limit.

The marking scheme will be as follows:


Program runs correctly                                     (10 marks)

Difficulty of problem/solution                            (20 marks)      

Program structure and implementation              (40 marks)

Documentation and comments                         (30 marks)


You must submit a soft copy of the code (*.cpp and *.h files only, not the project files) as well as the documentation.

Given the vast number of topics that could be tackled, I don’t want to see people doing the same programs as one another.

If you require any help with the program either email me (s.neethling@imperial.ac.uk) or contact me via Teams, though don’t leave this to the last minute! If you try to get your program to work, but        encounter problems, I will be more than happy to help you remove bugs and resolve issues.

While it is completely up to you what you do, some ideas for inspiration:

•    A program that implements a numerical algorithm such as root finding, optimisation or numerical integration

•    Database program that stores useful data that can be searched, sorted or otherwise analysed.

•    A program that calculates the statistics of inputted data

Note that these should all be applied to a geological/geophysical problem