乐趣区

关于前端:CC-language-part

18/03/2021
Assignment of C language part

  1. Preamble
    Selecting a suitable mortgage deal from a wide range of available mortgage products on the market is
    an important decision to make for many property buyers. In this assignment, you are asked to develop
    a C program to select the suitable mortgage deals from a mortgage.txt database, according to the
    customer’s requirements. You need to download mortgage.txt database from the Assessment
    area of the course Learn page, then save it into your assignment project folder. The database file
    contains many mortgage deals. Each row contains following mortgage information separated by a
    space:
    Lender Duration of deal
    (year)
    Initial interest rate
    (%)
    Rate thereafter
    (%)
    Loan to value
    (%)
    Product fees
    (£)
    An example code below gives you an idea of how to read data from a txt file. A data.txt file can
    be downloaded from the Assessment area in the course Learn page.

    include <stdio.h>

    define SSIZE 20 / maximum SIZE of string, including NUL /

    int main(void)
    {
    FILE fin; / define a file pointer */
    int i; / define variables to store data /
    float f;
    char string[SSIZE];
    fin = fopen(“data.txt”, “r”); / open data.txt file for read /
    fscanf(fin, “%d %f %s”, &i, &f, string);
    / read file and save data to variables /
    printf(“%d %f %s\n”, i, f, string);
    / print values of variables to screen /
    fclose(fin); / close file properly /
    return 0;
    }

  2. Assessment Task
    Design, construct and test your program to store data of one mortgage deal in a structure. Each
    structure should be an element of such a structure array. Prompt a single line of text containing the
    following requirements a customer can accept:
    Minimum
    duration of deal
    (year)
    Maximum initial
    interest rate
    (%)
    Maximum rate
    thereafter
    (%)
    Minimum loan
    to value
    (%)
    Maximum
    product fees
    (£)
    Remember to add an instruction fflush(stdout); after your printf(); prompt. When running
    your program, type in a single line of data corresponding to the customer’s mortgage deal
    requirements. In the requirements line, Minimum duration of deal, Minimum loan to value and
    Maximum product fees are given as integer values, but Maximum initial interest rate and Maximum
    rate thereafter are given as float values with two decimal points. Each value is separated from others
    by a space. An example requirements line is shown here:
  3. 2.50 4.50 60 1000
    After read in such a line, your program should search through the structure array, to find and print the
    suitable mortgage deals, which can satisfy customer’s requirements. If more than one mortgage deal
    can meet customer’s requirements, it is better to print them in the order of increasing Initial interest
    rate. If the mortgage deals have the same Initial interest rate, sort the deals in the order of increasing
    Product fees. If you cannot manage sorting, just print them following their default orders in the
    database.
    Having processed one requirements line, your program should then prompt for another and repeat the
    searching and printing task. For any reason, if no matching deal can be found for a requirements line,
    your program will simply repeat the prompt for another requirements line. This process should
    continue until a character‘q’is input to terminate your program.
    Your program should be able to handle a database of up to 50 mortgage deals, but it should be
    designed so that this limit can be changed by editing a single line in the program, then re-compiling it.
  4. Observations on the Task
    Before attempting a solution, you should carefully analyse this problem specification. Record your
    problem analysis and design process in your lab book.
    Proper use of functions, along with testing of each function individually before integration into the
    complete program, will assist in ensuring correct operation, as well as giving a readable and
    maintainable program with a clear modular structure. Such an approach will make it possible to create
    a simplified version of the program early on.
    When testing your program, you should identify and test difficult or sensitive parts of the program, by
    designing test input and comparing the output of your program with the expected correct output. Keep
    your testing process in your lab book as well. You should comment on your code throughout to
    explain the meaning of the key instructions. You are expected to use as many knowledge taught in
    five C language sessions as possible, such as pointer.
  5. Submission
    If you think your program can satisfy the specific requirements, you can find your C program file in
    the src folder of your project folder and rename it as sxxxxxxx.c (xxxxxxx is your matriculation
    number). Finally submit it to the dropbox on Learn.
    PLEASE NOTE
    A submission on or after the deadline is a late submission and the late penalty will be applied.
    You may re-submit versions of your program up to the deadline, without penalty. Only the latest
    version submitted will be retained and assessed. If you have already submitted before the deadline,
    you are not allowed to re-submit late for any reasons. The time of submission is recorded in the
    computer timestamp of the received copy file.
    You may choose to develop your program on a platform rather than the IDE used in this lab course.
    In that case, you must check, before submission, that your program behaves as you expect
    when compiled and executed on the course IDE. The correctness will be assessed on the
    basis of compilation and execution, in addition to inspection of the source code.
退出移动版