C/C++编程设计调试、辅导program程序
- 首页 >> Python编程 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
#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:
2 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.
3. 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.
4. 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.
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
#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:
2 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.
3. 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.
4. 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.
18/03/2021