首页 > > 详细

辅导ISYS5002解析R编程、R讲解

Assignment - Blood Bank Management 
ISYS5002 Introduction to Programming 
Date Due: 23:59, Friday 5 June 2020 
Overview 
A Blood Bank is where blood components are gathered as a result of blood donations. Information 
about the donor and the blood components needs to be managed. You are to design and write a C# 
program to manage blood donors and provide a summary report for a blood bank. 
You will use the foundational C# skills you've been developing and apply them to manage and 
analyse a small set of Blood Donors. The set of Blood donors are provided in a tabular format as a 
text file. This assignment will be an introduction to reading, processing, and grouping rows and 
columns to add, update, delete donors and calculate some interesting statistics. 
This is a significant assignment worth 30% of your mark. 
The Task 
You are to write a C# application that can manage donors and provide summary information about 
the blood banks information. The data is maintained in a text file. Your program must be able to open 
and read the information from the text file. This information will be used to calculate the summary 
information. Any additions, updates or deletion of donors and their data will need to be saved to a 
file. When saving, thought will need to be given whether you overwrite the existing file or create a new 
file. 
Managing donors includes: 
add a donor 
delete a donor 
update information about donor 
browse records (next/previous) 
search for a donor 
Summary information needed includes: 
the total number of donors 
the average age of a donor 
the most common blood type 
the lest common blood type 
the number of donors of each blood type 
Data File format 
All the data is loaded from a text file. Any changes made should be saved to a text file. Each donor 
record will be on its own line with field separated by a comma. Each record will contain the following 
information: 
first name 
last name 
date of birth 
email 
blood group 
last donated 
The Design 
The design of the program, including the GUI, is to be completed by yourself. The following ideas are 
just suggestions; you may have other ideas. If you get inspiration from other programs, perhaps via a 
google search, please make sure you reference them within the comments in your code. 
The data is stored in a text file. How will you load the data? How will you display the loaded data, as 
a list box? How will you save the data? It is up to you to think about if the changes are automatically 
saved, if you overwrite the existing file or if you provide a save-as functionality. 
Think about how you will input the donor's details; will this be a set of label and text boxes. What 
about input validation, can you use radio buttons? Is the email formatted correctly? For each donor 
management action, you probably will need a button for add, delete, update, etc. When you add a 
new donor, what happens if they already have a record? Make sure whatever your implementation is 
that the tab order of the input controls makes sense. 
Browsing is the ability to move forward and backwards through the donor records. Will this simple 
next and previous buttons? Perhaps you can load the file into a list box and allowing the user to scroll 
up and down through the list. If using a list box, maybe you can select a record in the list, and it will 
populate the input form. 
Searching will be limited to any one input field. When you search you, will first sort the records based 
on the search field, and then show the first donor record that matches that record. Can you use one 
form for both inputs and search, and the user either selects the search or add donor button. 
Implementation 
The following table can be used as a guide to marks where you can put your effort. It not as simple as 
this, you may have the pass level working and some of the credit level or included detailed comments 
explaining how to implement the credit level, so may end up with a credit mark. So this is to be used 
as a helpful guide! 
Pass/Credit Credit Distinction 
Open file 
Add a donor 
Save file 
Valid Type 
Search 
Delete a donor 
Report 
Valid Dates 
Create Backup 
Update Donor 
Remove duplicates 
Valid Email 
Validate input file 
Don't try to implement the entire program at once. Start small, implement basic functionality and add 
as you go. For example, get the pass level working, then try for the credit level. 
If you are unable to get the program to do something, then comment out the problem code, add a 
comment explaining what you are trying to do. This will maximize your marks. Just make sure your 
program compiles without errors! 
Evaluation 
Your submission will be evaluated to see if your solution correctly implements the described 
behaviours. You will have access to some test files we will have other files to test your solution when 
grading. All behaviour we test is completely described by the problem specification. 
The code submitted must conform to the C# programming style naming conventions guidelines used 
through the unit. This includes: 
Program/project has a meaningful name 
using comments to explain code and design choices 
using comments to reference any forums, websites, videos that you used ideas or code snippets 
from. 
GUI controls have meaningful names 
GUI controls use the camel case naming convention 
variable and method names are meaningful 
variable names use camel case 
method names use pascal case 
constant are in upper case 
program is correctly indented 
Submission Guidelines 
The assignment is due 23:59 Friday 5th June 2020. You must submit the entire 
C# project folder as a single compressed archive file. Submission will be online via the unit's 
BlackBoard site. 
Academic Integrity 
All submissions must comply with Curtin’s Academic Integrity policy. 
Refer to the Academic Integrity tab in the Blackboard or see Academic 
Integrity site for more information. All submissions must comply with 
the requirements of the Copyright Act 1968 and the ’Digital Agenda’ 
amendments to the Copyright Act. 
联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

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