1. Homepage
  2. Programming
  3. MAT00021M C++ Programming with Applications to Finance: Actuarial tables

MAT00021M C++ Programming with Applications to Finance: Actuarial tables

Contact Us On WeChat
University of YorkMAT00021MC++ Programming with Applications to FinanceActuarial tablesFinanceC++

Actuarial tables CourseNana.COM

C++ Programming with Applications to Finance July 2022 (Resit) CourseNana.COM



The BlueSky Actuarial Consultancy Company has engaged you as a C++ consultant to create a computer application that produces actuarial tables on demand. The aim of this project is to create a user friendly computer application that meets their requirements. Your program should be accompanied by end-user and developer documentation. CourseNana.COM


This project description is accompanied by two files, namely a C++ header file Project.h and a sample table, Table_A.csv. The header file Project.h must be included in your project without change. CourseNana.COM


The company uses 4 different tables, named A to D. In each table, the rows n = 1, . . . , 30 represent years, and the columns m = 1, 2, 3, 4, 6, 12, 52 represent the number of payments per year. An example file Table_A.csv is provided to illustrate the formatting. It is important that the formatting (including the headers) should be identical to that provided in Table_A.csv. CourseNana.COM

The contents of each table is the value of a certain actuarial quantity for different values of the number of years n, the number of payments per year m and the interest rate i. The company has provided the following information about the contents of each table: CourseNana.COM


This project contributes 30% to the mark for this module. The deadline for submission is 11:59pm on Monday 8th August 2022. The marks for the project will be split into 60% for coding style, clarity, accuracy and efficiency of computation, and 40% for documentation (including comments within the code) and ease of use. Credit will be given for partial completion of each task. CourseNana.COM


Task 1: Interest rate quantities CourseNana.COM

Write functions that calculate the quantities v, i(m), d(m) from the value of the interest rate i and the number of payments per year m. CourseNana.COM

Place the definitions of the functions in a new header file InterestRate.h. You may choose whether to place the implementations of the functions in this header file, or in an accompanying code file InterestRate.cpp. You should choose meaningful names for the functions, and use comments in the code to document carefully how they should be used. CourseNana.COM

Task 2: Annuity values CourseNana.COM

The header file Project.h contains definitions for four functions that can be used to calculate the values in the table above. Create a new file Annuities.cpp with the implementations of these functions. Your code should use the functions created in Task 1. CourseNana.COM

Task 3: Annuity tables CourseNana.COM

The header file Project.h also contains the definition of a function WriteTable. Create a new file WriteTable.cpp that contains an implementation of this function. CourseNana.COM

The function WriteTable returns an integer value. This value should be 0 if the file was created and written successfully. You should decide on what errors you wish to check for, and which error values you wish to return. This should be described in the developer documentation. CourseNana.COM

Task 4: User interface CourseNana.COM

When the program is executed, it should welcome the user with a greeting, and then ask the user to enter the value of the interest rate i as a decimal number (for example, 0.05 if the interest rate is 5%). If the value of i entered is less than or equal to -1, then the user should be given further opportunities to enter a valid value of i. CourseNana.COM

The program should then allow the user to select all the tables that they wish to create. This can be done by allowing the user to make multiple choices from a menu, or allowing them to enter the names of tables required—your choice. CourseNana.COM

The program should then create each of the tables selected. Each table should be placed in a file named Table_name.csv, where name is by the name of the table (for example, A or B). Once a table has been created, your program should give a message to the user confirm that this has been done successfully. The program should terminate once all tables have been created. CourseNana.COM

Submission instructions CourseNana.COM

Submit your work by uploading it in Moodle by 11:59pm on Monday 8th August 2022 CourseNana.COM

Format CourseNana.COM

Submit the code as a single compressed .zip file, including all Code::Blocks project (.cbp) files (if you used Code::Blocks), data files (.csv), source code and header (.cpp and .h) files and the executable (e.g. .exe) file produced by compiling and linking the project, all residing in a single parent directory. The .zip file should preserve the subdirectory structure of the parent directory (that is, the subdirectory structure must be automatically recreated when unzipping the file). CourseNana.COM

The code should be accompanied by detailed documentation, split into two parts: CourseNana.COM

1. Code developer documentation containing information to help understand the code. It should contain the following: CourseNana.COM

Description of the file structure. CourseNana.COM

Description of the available functions. CourseNana.COM

Instructions on how to extend the code by adding new tables. CourseNana.COM

Information on any error checking performed (in WriteTable or elsewhere). CourseNana.COM

A few paragraphs on which modifications you would suggest to make the code more efficient. CourseNana.COM

The developer documentation should not include extensive extracts from the code (brief snippets are perfectly fine, if typeset correctly—no screenshots!), and there is no need to describe the mathematical formulae in any detail. It is expected that the developer documentation will be less than 5 pages in length. CourseNana.COM

2. The end user instructions should contain instructions on how to use the compiled program, how to input data and how the results are presented, and a brief description of the methods implemented. The contents of this document should be appropriate for a reader who is not familiar with C++. It is expected that the end user instructions will be 1 or two pages. CourseNana.COM

The documentation files must be submitted in .pdf format (two separate .pdf files containing developer documentation and user instructions) and uploaded in Moodle separately from the code .zip file. CourseNana.COM

It is advisable to allow enough time (at least one hour) to upload your files to avoid possible congestion in Moodle before the deadline. In the unlikely event of technical problems in Moodle please email your .zip files to alet.roux@york.ac.uk before the deadline. CourseNana.COM

Code usage permissions and academic integrity CourseNana.COM

You may use and adapt any code submitted by yourself as part of this module, including your own solutions to the exercises. You may use and adapt all C++ code provided in Moodle as part of this module, including code from Capinski & Zastawinak, 2012, and the solutions to exercises. Any code not written by yourself must be acknowledged and referenced both in your source files and developer documentation. CourseNana.COM

This is an individual project. You may not collaborate with anybody else or use code that has not been provided in Moodle. You may not use code written by other students. Collusion and plagiarism detection software will be used to detect academic misconduct, and suspected offences will be investiaged. CourseNana.COM

If things go wrong CourseNana.COM

Late submissions will incur penalties according to the standard University rules for assessed work. CourseNana.COM

It may prove impossible to examine projects that cannot be unzipped and opened due to file corruption, or projects that cannot be compiled and run due to coding errors. In such cases a mark of 0 will be recorded. It is therefore essential that all project files and the directory structure are tested thoroughly on your machine before being submitted in Moodle. It is advisable to run all such tests starting from the .zip files about to be submitted, and using a different computer to that on which the files have been created. CourseNana.COM

All files must be submitted inside the zipped project directory, and all the files in the project directory should be connected to the project. A common error is to place some files on a network drive rather than in the submitted directory. Please bear in mind that testing on a lab computer may not catch this error if the machine has access to the network drive. However, the markers would have no access to the file (since they have no access to your part of the network drive) and would be unable to compile the project. CourseNana.COM


Get Expert Help On This Assignment

Scan above qrcode with Wechat

University of York代写,MAT00021M代写,C++ Programming with Applications to Finance代写,Actuarial tables代写,Finance代写,C++代写,University of York代编,MAT00021M代编,C++ Programming with Applications to Finance代编,Actuarial tables代编,Finance代编,C++代编,University of York代考,MAT00021M代考,C++ Programming with Applications to Finance代考,Actuarial tables代考,Finance代考,C++代考,University of Yorkhelp,MAT00021Mhelp,C++ Programming with Applications to Financehelp,Actuarial tableshelp,Financehelp,C++help,University of York作业代写,MAT00021M作业代写,C++ Programming with Applications to Finance作业代写,Actuarial tables作业代写,Finance作业代写,C++作业代写,University of York编程代写,MAT00021M编程代写,C++ Programming with Applications to Finance编程代写,Actuarial tables编程代写,Finance编程代写,C++编程代写,University of Yorkprogramming help,MAT00021Mprogramming help,C++ Programming with Applications to Financeprogramming help,Actuarial tablesprogramming help,Financeprogramming help,C++programming help,University of Yorkassignment help,MAT00021Massignment help,C++ Programming with Applications to Financeassignment help,Actuarial tablesassignment help,Financeassignment help,C++assignment help,University of Yorksolution,MAT00021Msolution,C++ Programming with Applications to Financesolution,Actuarial tablessolution,Financesolution,C++solution,