首页 > > 详细

辅导SER202留学生、讲解Problem Solving、辅导c/c++、c/c++编程语言调试 解析C/C++编程|讲解SPSS

SER202: Problem Solving Task
V1.1
Prof Abbas Kouzani Trimester 2, 2019
The Problem Solving Task is worth 100 marks and constitutes 20% of the overall assessment.
Due date: Friday 9 August 2019, 11:59pm (AEST).
Part A - Programming Task (60 marks):
Develop a program in C and upload it into your Arduino Mega 2560 board to implement a simple Doctor
Appointment System for a clinic. The Arduino Mega 2560 should interact with the user via the Serial
Monitor. The program should do as described below. An example is given after the following description.
In the below description, ‘User’ means the Clinic Admin officer who is the user of the program.
1. Display the following information on the Serial Monitor: Unit code and title, your name, your
student ID.
2. Set Digital Pins 8 to 10 of Arduino Mega board as inputs. Enable the internal pull-up resistor for
each of these pins.
3. Prompt the user to select one of the following options:
1. Patient Details //Assume we will have maximum 15 patients
2. Allocate Patient to Doctor //Jerome Mcclain, Teresita Lieu, Rocky Michael
3. Call Patient //Call the next patient and send them to see their Dcotor
4. Report //Generate a clinic financial report
4. Receive the user’s selection via the Serial Monitor, e.g. 1, 2, … or 4. Depending on the selected
option, prompt the user to enter relevant input information, and then implement the stated
action/display as follows:
For 1 (Patient Details):
Full Name: //First Name Last Name, max 25 characters
// show full name to user
Medicare Card Number: //5 digits entered, show digits to user
//Receive the digits as a string of 5 characters
Symptoms: //Comma separated list of symptoms
// max 25 characters, show symptoms to user
Patient Number: //Generate patient number and display it
//this number should be an integer equal to the
//number of patients currently in the system + 1
/*Store the entered information into appropriate variables*/2
For 2 (Allocate Patient to Doctor):
Doctor: //User selects one of the 3 doctors by connecting
//one of the Pins 8 to 10 of Arduino to GND
//with a jumper wire, the rest would be VCC due
// to pull-up resistors, then presses Enter key
//Pin 8 for Jerome Mcclain, Pin 9, for Teresita
//Lieu, Pin10 for Rocky Michael
//show the name of selected Doctor to user
Patient Number: //user enters the patient number,
//display the patient name, put
//patient number in the list for the selected
//doctor
For 3 (Call Patient):
/* The user selects Option 3 whenever they see a patient coming out of a doctor
office, or when the doctor has no patient, so they can call the next patient in the
list to see the doctor */
Doctor: //User selects one of the 3 doctors by connecting
//one of the Pins 8 to 10 of Arduino to GND
//with a jumper wire, the rest would be VCC due
// to pull-up resistors, then presses Enter key
//Pin 8 for Jerome Mcclain, Pin 9 for Teresita
//Lieu, Pin10 for Rocky Michael
//show the name of selected Doctor to user
Patient to Be Called: // Show the name of the next patient waiting to
//see the doctor selected.
For 4 (Report):
Show:
Jerome Mcclain:
Show the total earning of this doctor for the patients in their list (seen, currently
with, or waiting), each patient fee for this doctor is $50
Teresita Lieu:
Show the total earning of this doctor for the patients in their list (seen, currently
with, or waiting), each patient fee for this doctor is $60
Rocky Michael:
Show the total earning of this doctor for the patients in their list (seen, currently
with, or waiting), each patient fee for this doctor is $40
Total Clinic Income:
Show the total clinic income
5. Return to Step 3 after the user selection is complete.3
An Example of User Interaction with the Program:
“1. Patient Details”
----------------------------------------------------------------------
Full Name: John Smith
Medicare Card Number: 49782
Symptoms: Cough,Fever,Congestion
Patient number: 1
----------------------------------------------------------------------
“1. Patient Details”
----------------------------------------------------------------------
Full Name: Loida Carlisle
Medicare Card Number: 61120
Symptoms: Headache,MuscleAching
Patient number: 2
----------------------------------------------------------------------
“2. Allocate Patient to Doctor”
----------------------------------------------------------------------
Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key
Patient Number: Loida Carlisle //User enters 2
----------------------------------------------------------------------
“2. Allocate Patient to Doctor”
----------------------------------------------------------------------
Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key
Patient Number: John Smith //User enters 1
----------------------------------------------------------------------
“1. Patient Details”
----------------------------------------------------------------------
Full Name: Sanjuana Mackiewicz
Medicare Card Number: 22331
Symptoms: Fever
Patient number: 3
----------------------------------------------------------------------
“2. Allocate Patient to Doctor”
----------------------------------------------------------------------
Doctor: Jerome Mcclain //User connects Pin 8 to GND, presses Enter key
Patient Number: Sanjuana Mackiewicz //User enters 3
----------------------------------------------------------------------
“3. Call Patient”
----------------------------------------------------------------------
Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key
Patient to Be Called: Loida Carlisle
----------------------------------------------------------------------4
“3. Call Patient”
----------------------------------------------------------------------
Doctor: Jerome Mcclain //User connects Pin 8 to GND, presses Enter
Patient to Be Called: Sanjuana Mackiewicz
----------------------------------------------------------------------
“4. Report”
----------------------------------------------------------------------
Doctor Jerome Mcclain:
$50
Doctor Teresita Lieu:
$120
Doctor Rocky Michael:
$0
Total Clinic Income: $170
----------------------------------------------------------------------
The use of high level Arduino Functions (see http://arduino.cc/en/Reference/HomePage, under Functions)
is not permitted. Significant marks will be deducted if any of the functions is used. Native C functions
are however permitted.
Goals
1. Write code to implement a user friendly and neat user interface to interact with the user.
2. Write code to perform implement and execute the specified functions.
Marking will check goals are achieved by examining the running code on the Arduino Board. Marking will
not look at the code to see if goals have been achieved. The source code must be fully documented including
your Full Name and Student ID number. Marking of solution will follow the following rubrics:
Part B - Interim Report (40 marks):
Each student will develop a written report containing:
Title Page (including student name and ID), Abstract, Table of Contents, List of Figures,
List of Tables, Introduction (1 page), Proposed Automatic Self-watering System (Design,
Mechanical Components, Electronics Components, Flowchart of C Program) (2 pages),
Progress to Date (1 page), Conclusions (0.5 page), References.
The “Progress to Date” section should include a table listing the electronics, mechanical, and other
components that you have received. It should also contain an image that displays all the
components you have received together.
Marking of Interim Report will follow the following guide:
CONTENT
explains key aspects of project
development, test, discussions,
achievements, etc
0 7.5 15 22.5 30
very poor poor good outstanding
ORGANIZATION
logical, easy to follow, interesting, use
of figures, …
0 1.25 2.5 3.75 5
very poor poor good outstanding
LANGUAGE
grammar, clarity of writing
0 1.25 5 3.75 5
very poor poor good outstanding
TOTAL: / 40
Submission Procedure
Name your program file for Part A by using ‘A’ followed by your student ID number (eg A200678901).
Name your report file for Part B by using ‘B’ followed by your student ID number (eg B200678901).
Submit 2 files, a program file (eg A200678901.ino), and a word or pdf file (eg B200678901.docx or
B200678901.pdf) through the “Problem Solving Task” dropbox on CloudDeakin site.
Marks will be deducted if this submission procedure is not followed.
Zero mark will be given if the submitted program file could not be successfully compiled, or it did not work
when programmed into the Arduino Mega 2560 board.

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!