Veterinarian clinic system assignment

Assignment Help Other Subject
Reference no: EM133124409

Assignment - Veterinarian Clinic System

Milestone - 1

Milestone-1 includes a unit tester (a1ms1.c). A unit tester is a program which invokes your functions, passing them known parameter values. It then compares the results returned by your functions with the correct results to determine if your functions are working correctly. The tester should be used to confirm your solution meets the specifications for each "helper" function. The helper functions should be thoroughly tested and fail-proof (100% reliable) as they will be used throughout your assignment milestones.
Development Suggestions

You will be developing several functions for this milestone. The unit tester in the file "a1ms1.c" assumes these functions have been created and, until they exist, the program will not compile.

Strategy - 1
You can comment out the lines of code in the "a1ms1.c" file where you have not yet created and defined the referenced function. You can locate these lines in the function definitions (after the main function) and for every test function, locate the line that calls the function you have not yet developed and simply comment the line out until you are ready to test it.

Strategy - 2
You can create "empty function shells" to satisfy the existence of the functions but give them no logic until you are ready to program them. These empty functions are often called stubs.

Review the specifications below and identify every function you need to develop. Create the necessary function prototypes (placed in the .h header file) and create the matching function definitions (placed in the .c source file), only with empty code blocks (don't code anything yet). In cases where the function MUST return a value, hardcode (temporarily until you code the function later) a return value so your application can compile.

Specifications

Milestone-1 will establish the function "helpers" we will draw from as needed throughout the three milestones. These functions will handle routines that are commonly performed (greatly reduces code redundancy) and provide assurance they accomplish what is expected without fail (must be reliable).

Core Module

1. Create a module called "core". To do this, you will need to create two files: "core.h" and "core.c" and
add them to the Visual Studio project.
2. The header file (.h) will contain the function prototypes, while the source file (.c) will contain the function definitions (the logic and how each function works).
• Copy and paste the commented section provided for you in the a1ms1.c file (top portion) to all files you create
• Fill in the information accordingly
3. The "core.c" file will require the usual standard input output system library as well as the new user
library "core.h", so be sure to include these.
4. Review the "a1ms1.c" tester file and examine each defined tester function (after the main function).
Each tester function is designed to test a specific helper function.
5. Two (2) functions are provided for you. Here are the function prototypes you must copy and place into
the "core.h" header file:

// Clear the standard input buffer void clearInputBuffer(void);

// Wait for user to input the "enter" key to continue void suspend(void);

Functions
The source code file "core.c" must contain the function definitions (copy and place the function
definitions below in the "core.c" file):
// As demonstrated in the course notes:
// Clear the standard input buffer void clearInputBuffer(void)
{
// Discard all remaining char's from the standard input buffer: while (getchar() != '\n')
{
; // do nothing!
}
}

// Wait for user to input the "enter" key to continue void suspend(void)
{
printf("<ENTER> to continue..."); clearInputBuffer(); putchar('\n');
}

6. Each function briefly described below will require a function prototype to be placed in the "core.h" file,
and their respective function definitions in the "core.c" file.
The function identifiers (names) are provided for you however you are responsible for constructing the full function prototype and definitions based on the descriptions below (there are seven (6) functions in total):

• Function: inputInt This function must:
o return an integer value and receives no arguments.
o get a valid integer from the keyboard.
o display an error message if an invalid value is entered (review the sample output for the appropriate error message)
o guarantee an integer value is entered and returned.
o Hint: You can use scanf to read an integer and a character ("%d%c") in one call and then assess if the second value is a newline character. If the second character is a newline (the result of an <ENTER> key press), scanf read the first value successfully as an integer.

o If the second value (character) is not a newline, the value entered was not an integer or included additional non-integer characters. If any invalid entry occurs, your function should call the clearInputBuffer function, followed by displaying an error message and continue to prompt for a valid integer. Review the flowchart below that describes this process.

• Function: inputIntPositive This function must:
o return an integer value and receives no arguments.
o perform the same operations as inputInt but validates the value entered is greater than 0.
o display an error message if the value is a zero or less (review the sample output for the appropriate error message).
o continue to prompt for a value until a value is greater than 0.
o guarantee a positive integer value is entered and returned.

• Function: inputIntRange This function must:
o return an integer value and receives two arguments:
? First argument represents the lower-bound of the permitted range.
? Second argument represents the upper-bound of the permitted range. Note:
? A range is a set of numbers that includes the upper and lower limits (bounds)
? You must provide meaningful parameter identifiers (names)
o performs the same operations as inputInt but validates the value entered is between the two arguments received by the function (inclusive).
o display an error message if the value is outside the permitted range (review the sample output for the appropriate error message).
o continue to prompt for a value until a value is between the permitted range (inclusive)
o guarantee an integer value is entered within the range (inclusive) and returned.

• Function: inputCharOption This function must:
o return a single character value and receives one argument:
? an unmodifiable C string array representing a list of valid characters. Note: You must provide a meaningful parameter identifier (name)
o get a single character value from the keyboard.
o validate the entered character matches any of the characters in the received C string argument.
Reminder: A C string will have a null terminator character marking the end of the array
o display an error message if the entered character value is not in the list of valid characters (review the sample output for the appropriate error message)
Note: Include in the error message the C string permitted characters
o Continue to prompt for a single character value until a valid character is entered.
o Guarantee a single character value is entered within the list of valid characters (as defined by the C string argument received) and returned.

• Function: inputCString
The purpose of this function is to obtain user input for a C string value with a length (number of characters) in the character range specified by the 2nd and 3rd arguments received (inclusive).

This function:
o must receive three (3) arguments and therefore needs three (3) parameters:
? 1st parameter is a character pointer representing a C string
Note: Assumes the argument has been sized to accommodate at least the upper- bound limit specified in the 3rd argument received
? 2nd parameter represents an integral value of the minimum number of characters the user-entered value must be.
? 3rd parameter represents an integral value of the maximum number of characters the user-entered value can be.
o does not return a value, but does return a C string via the 1st argument parameter pointer.
o must validate the entered number of characters is within the specified range. If not, display an error message (review the sample output for the appropriate error message).
Note: If the 2nd and 3rd arguments are the same value, this means the C string entered must be a specific length.
o must continue to prompt for a C string value until a valid length is entered.
o guarantee's a C string value is entered containing the number of characters within the range
specified by the 2nd and 3rd arguments (and return via the 1st argument pointer).

• Function: displayFormattedPhone
The purpose of this function is to display an array of 10-character digits as a formatted phone number.
This function:
o must receive one (1) argument and therefore requires one (1) parameter:
? 1st parameter is an unmodifiable character pointer representing a C string..
o does not return a value..
o should not assume a valid C string array, and therefore, should carefully validate the argument char array to determine:
? it is exactly 10 characters long
? only contains digits (0-9)
o should display "( ) - " when the argument C string char array is not a 10-character all digit value.
o should display the phone number in the following format when it is a valid C string phone number: "(###)###-####" (where each # is the character digit from the C string argument char array).
o NOTE: Do not add a newline character at the beginning or end of the displayed value.

Reflection

Instructions

• Create a text file named "reflect.txt" and record your answers to the below questions in this file.
• Answer each question in sentence/paragraph form unless otherwise instructed.
• A minimum 300 overall word count is required (does NOT include the question).
• Whenever possible, be sure to substantiate your answers with a brief example to demonstrate your view(s).

1. From the core functions library, what function was the most challenging to define and clearly describe the challenge(s) including how you managed to overcome them in the context of the methods used in preparing your logic, debugging, and testing.

2. It is good practice to initialize variables to a "safe empty state". With respect to variable initialization, what is the difference between assigning 0 and NULL? When do you use one over the other and why?

3. Your friend (also a beginner programmer) is having difficulty understanding how to manage the "standard input buffer" (particularly when there is residual data). Your friend has read all the course notes, Googled the topic, followed along with course lectures about this topic, but is still struggling with this concept. Describe exactly how you would attempt to help your friend understand this topic?

Attachment:- Veterinarian Clinic System.rar

Reference no: EM133124409

Questions Cloud

Difference in the average salary in profession : Homework Help: Data was compiled for the annual salary of 50 randomly selected women and 100 randomly selected men who work in one profession. The sample mean o
Causes of the great depression : Besides weakness in the banking sector, what were two other immediate causes of the Great Depression?
Represents a recaptured depreciation : Doughbuddy, Inc. bought a buffer for $350,000 and was depreciating it based on a life of eight years using the straight-line method. They assumed they would get
Factors that influence supply chain network design decisions : Outline THREE (3) factors that influence supply chain network design decisions. Be sure to make reference to the case.
Veterinarian clinic system assignment : Review the specifications below and identify every function you need to develop. Create the necessary function prototypes
Economic factors affect exchange rates in the short term : Describe briefly which economic factors affect exchange rates in the short term, medium term, and long term. And why? - Please do good and full answer, without
How would be best describe the time value of money : How would be best describe the time value of money? Please be thorough explanation in your own words. Providing examples may be helpful and add clarity.
Explain how franchising signals quality : Explain how franchising signals quality.
Please explain drug law enforcement : Please explain drug law enforcement with reference to the supply chain

Reviews

Write a Review

Other Subject Questions & Answers

  Explaining why you should be on the team

Write a 350-word proposal to your supervisor explaining why you should be on the team and how your presence will benefit the company

  Identify areas where reactionary planning is necessary

Identify four areas where reactionary planning is necessary and four areas where resiliency planning is appropriate, and describe the risks associated with.

  Write a project plan that what activities student undertake

Write a project plan will be prepared that will detail what activities the student will undertake, and the evidence that will be provided to verify the student has achieved the required levels of attainment of FEIT Graduate Attributes

  How you will apply what you have learned in the course

In addition, state how you will apply what you have learned in this course to your upcoming practicum experience.

  Describe interaction between the end-user and the developers

Describe the interaction between the end-user and the developers that must take place to identify the proper user requirements.

  How will you go about sampling this population

How will you go about sampling this population? Discuss how you will measure your dependent variable and the procedures you will use to conduct the experiment

  Expectancy theory to explain.

Why some employees are motivated to show up for work during a severe storm whereas other makes no effort to leave their home.

  What would be the coefficient of determination

For this discussion, analyze the graph below which represents the correlation between weight (vertical axis; weight in pounds) and height (horizontal axis).

  Appropriate roles in business

Defend your position on the appropriate roles in business with regards to environmental responsibility

  Are you an idealist as in platonism

Consider your own world view: are you an idealist as in Platonism, or are you a realist like Aristotle?

  Discuss about the media piece cities and globalization

The factors and forces that affect quality of life in the place you live may be woven into your lifestyle or culture to such a degree that they seem universal.

  How the privacy laws affect schools

Explain the effect of health care policies, legislation, and legal issues on health care delivery and patient outcomes. Explain how the privacy laws affect.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd