RBE104TC C/C++ Programming Language Assignment 1
Contribution to the Overall Marks30%Issue DateSubmission Deadline
13th October 2024Assignment Overview:
This assignment is geared towards assessing fundamental coding concepts in C/C++ andinitiating the process of code development using the software development process (SDP)discussed in relevant lectures.In composing the SDP report [in English], we request you to fulfil the following criteria:
- Design: Clearly explain your understanding of the given problem and specify a sequence ofsteps necessary to accomplish the task (illustrated through flowcharts).
- Coding Progress: Attach 3-5 screenshots that show the code and running results as evidence,particularly highlighting any errors or situations you believe are valuable to document. Thecorresponding 3-5 versions of the C code should also be saved. All files must clearlydemonstrate the progression of your programming task from the initial stage to the final version.
- Analysis: Describe the files submitted in the Coding Progress section. Discuss the expectedresults, any encountered or unexpected errors, and your solutions to those issues.
- Implementation: The C code must be submitted in a separate file. Please specify the filename and provide instructions for user operation.
- Testing: Describe how you tested and validated your code for required functionalities, aswell as its robustness.Exercise 1 (50%): Write ONE C Program to accomplish the following task: Convert a double number to itshexadecimal form.
Constraints:
1). The double number x is located between 0 and 1000 (0 <= x < =1000), e.g. 678.345;2). The double number with the hexadecimal form contains 6 significant digits. e.g. Thehexadecimal form of “678.345” is “2A6.5851EB”;3). The double number with the hexadecimal form is represented by a string (or a character
array), e.g. “2A6.5851EB”.4). If illegal user input is detected, the software should be capable of informing the user and
enabling re-input to meet the software robustness requirement;
Advice:
It is strongly suggested that you should read the relevant lecture notes on the Learning Mall
before you write down your own codes. The note will help you design a correct program,
especially the design of loop structures and the usage of the arrays.
The possible steps are as follows:
1). Split a double number into the integer part and the fractional part;
2). Convert the integer part into its hexadecimal form;
3). Convert the fractional part into its hexadecimal form;
4). Combine both parts into a string;Exercise 2 (50%): Write a C program that can perform the following operations:
- Read the following from the keyboard and store them in appropriate variables:
- A full name (e.g. John Smith);
- A telephone number (e.g. 12345678900) assume all phone numbers are with 11 digits;
- A 2-digit decimal number as the Patient ID (e.g. 45);
- A temperature in degrees Celsius (e.g. 36.5°C), which should be within the range of 34.0°C to 44.0°C.
- A height in centimeters (e.g. 177cm), which should be within the range of 140cm to230cm, with an accuracy of 1cm.
- A weight in kilograms (e.g. 85.0kg), which should be 代 寫RBE104TC C/C++ Programming Languagewithin the range of 40.0kg to140.0kg.
- Print the patient's ID on the screen in decimal, octal, and hexadecimal formats (e.g., 45,55, 2D);
- Convert the temperature from degrees Celsius to degrees Fahrenheit and degrees Kelvin,store the values in appropriate variables rounded to the nearest whole number, and printthem on the screen (e.g., 10°C, 50°F, 283K);
- Determine if the patient is sick based on their temperature (temperatures higher than37.2°C or lower than 36.0°C will be considered sick);
- Calculate the patient's BMI (Body Mass Index) and determine if they are severelyoverweight, overweight, normal, underweight, or severely underweight;
- Print a conclusion, for example: "The patient's name is John Smith, his phone number is 12345678900, his patient ID is 45. His current temperature is 36.5°C, not sick. His height
is 177mm, weight is 85.0kg. He is overweight." If illegal user input is detected, the software should be capable of informing the user and
enabling re-input to meet the software robustness requirement;Hint:The BMI formula is:The BMI Categorization is:Less than 16Severely UnderweightBetween 16 and 18.5UnderweightBetween 18.5 and 25NormalBetween 25 and 30
OverweightLarge than 30
Severely OverweightWhat should be submitted?
- You should submit the followings two:
- A concise report (with text spanning a few pages) accompanied by C source codes. Thisreport should delve into the specifics for each question:- Detail SDP steps 1 to 3 within the report (Design + Coding Progress + Analysis),accounting for 30% of the evaluation.- Encompass SDP step 4 (Implementation + Robustness) with your source code. Your codeshould correspond with the final screenshot provided in the Coding Progress section andinclude appropriate comments. Implementation contributes 35% while Robustness adds5%. Elaborate on SDP step 5 (Testing), elucidating how you validated the correctness,
obustness, and thoroughness of your codes. Employ screenshots and ample explanationsas verification, encompassing 20% of the evaluation. The overall quality of the report accounts for 10% of the evaluation.
- All C/C++ source code files, including files from different stages corresponding to thescreenshots.
- For a comprehensive grading scheme, please consult the Marking Guidelines available onthe Learning Mall system.
- The report must be saved in PDF format. Place the report in the same folder with source code
files and compress the folder into a single zipped file. Your final submission should include:
- Zipped file containing:
- The report- The source codes
- The naming convention for the submitted Report and source code files should adhere to thesubsequent format:
- StudentID_LastName_FirstName_AssignmentID.pdf
- StudentID_AssignmentNumber_ExerciseID_SSScreenShotNumber.c/cpp- StudentID_LastName_FirstName_AssignmentID.zip
As an illustration:
The report and C source files would be placed in the same folder as follows:The folder would be compressed to the ultimate zipped submission file, and it would be named: • 1234567_Albert_Einstein_1.zip
How the work should be submitted?
Submission should take place electronically through the Learning Mall system, enabling us toexecute your software during the assessment. Additionally, feedback will be provided via thesame Learning Mall system.