Write this code in C# :     Scenario: A dog shelter would like a simple system to keep track of all the dogs that pass through their facility. You are required to make a command line-based dog shelter management application. Your application must allow a user to add, edit, search and view Contacts.   The program must have a menu consisting of the following six (6) options: Add dog View all dogs View all available dogs View specific dog Update dog home status Exit Brief descriptions of each option in the menu   Menu Item Description Add Dog   1) Asks the user for all the state value information for a dog. 2) Checks if there is space in the array to hold the new dog. 3) Check that the dogId is not already used in the system. 4) Creates a new Dog object and adds it to the array if there is space. If the array is full, print “Sorry… the Shelter is Full!”. Note: All new dogs have no home as yet (foundHome = false).   View all dogs   This menu option shows all dogs in the system. This includes dogs that have a home and those that do not.   View all available dogs Shows all dogs in the system, which have no homes as yet. View a specific dog   1) Asks the user for a dogId. 2) Searches for a dog at the shelter with that dogId. 3) Displays the information of the dog associated with that dogId if found. If the dog is not found, “There is no dog with that id..” must be displayed.   Update dog home status   1) Asks the user for a dogId. 2) Searches for a dog at the shelter with that dogId 3) If a dog with that id is found, the “foundHome” status is changed to true and the dog information is to be displayed. If the dog is not found, the message “There is no dog with that id..”  should be displayed. Exit 1) Prints a message “Thank you for using the Dog Shelter Management System.” 2) Exits the program       Dog objects must be created to store the information on each dog at the shelter.   The UML for the Dog object is given below   Dog - dogId: int - name: string - age: int - breed: string - sex: char           m for male, f for female -foundHome: boolean + getId() :int + getName(): string + getAge():int + getBreed() :string + getSex():char + getHomeStatus(): boolean + setHomeStatus(status:boolean):void + getInfo() :string     A constructor must be written that takes all the state values (fields) listed in the Dog class.     A list of behaviours the Dog class must have is given in the following table: Method Name Scope Behaviour getId() Public Returns the dogId of the dog getName() public Returns the name of the dog getAge() public Returns age of the dog getBreed() public Returns the breed of the dog getSex() public Returns the sex of the dog getHomeStatus() public Returns the “foundHome” status of the dog setHomeStatus(status: boolean) Public Set the “foundHome” status of the dog to the status parameter. toInfo() public Returns a string containing all the information about the dog.     This assignment specifically tests the concepts of arrays and Objects Oriented Design basics.   Restrictions for this assignment: You must create and manage all arrays with your own code. You may NOT use other C# collection objects (for example arraylist or list etc) Please do NOT change the specifications. For example, do not add new contact data. You must create and manage all arrays with your own code.       OOP design hint: Your main program should NOT directly be responsible for maintaining or managing the array of Dogs. You must create another object to manage the Dogs for you

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Write this code in C# :

 

 

Scenario:

A dog shelter would like a simple system to keep track of all the dogs that pass through their facility. You are required to make a command line-based dog shelter management application. Your application must allow a user to add, edit, search and view Contacts.

 

The program must have a menu consisting of the following six (6) options:

  • Add dog
  • View all dogs
  • View all available dogs
  • View specific dog
  • Update dog home status
  • Exit

Brief descriptions of each option in the menu

 

Menu Item

Description

Add Dog

 

1) Asks the user for all the state value information for a dog.

2) Checks if there is space in the array to hold the new dog.

3) Check that the dogId is not already used in the system.

4) Creates a new Dog object and adds it to the array if there is space. If the array is full, print “Sorry… the Shelter is Full!”.

Note: All new dogs have no home as yet (foundHome = false).

 

View all dogs

 

This menu option shows all dogs in the system. This includes dogs that have a home and those that do not.

 

View all available dogs

Shows all dogs in the system, which have no homes as yet.

View a specific dog

 

1) Asks the user for a dogId.

2) Searches for a dog at the shelter with that dogId.

3) Displays the information of the dog associated with that dogId if found. If the dog is not found, “There is no dog with that id..” must be displayed.

 

Update dog home status

 

1) Asks the user for a dogId.

2) Searches for a dog at the shelter with that dogId

3) If a dog with that id is found, the “foundHome” status is changed to true and the dog information is to be displayed. If the dog is not found, the message “There is no dog with that id..”  should be displayed.

Exit

1) Prints a message “Thank you for using the Dog Shelter Management System.”

2) Exits the program

 

 

 

Dog objects must be created to store the information on each dog at the shelter.

 

The UML for the Dog object is given below

 

Dog

- dogId: int

- name: string

- age: int

- breed: string

- sex: char           m for male, f for female

-foundHome: boolean

+ getId() :int

+ getName(): string

+ getAge():int

+ getBreed() :string

+ getSex():char

+ getHomeStatus(): boolean

+ setHomeStatus(status:boolean):void

+ getInfo() :string

 

 

A constructor must be written that takes all the state values (fields) listed in the Dog class.

 

 

A list of behaviours the Dog class must have is given in the following table:

Method Name

Scope

Behaviour

getId()

Public

Returns the dogId of the dog

getName()

public

Returns the name of the dog

getAge()

public

Returns age of the dog

getBreed()

public

Returns the breed of the dog

getSex()

public

Returns the sex of the dog

getHomeStatus()

public

Returns the “foundHome” status of the dog

setHomeStatus(status: boolean)

Public

Set the “foundHome” status of the dog to the status parameter.

toInfo()

public

Returns a string containing all the information about the dog.

 

 

This assignment specifically tests the concepts of arrays and Objects Oriented Design basics.

 

Restrictions for this assignment:

You must create and manage all arrays with your own code.

  1. You may NOT use other C# collection objects (for example arraylist or list<type> etc)
  2. Please do NOT change the specifications. For example, do not add new contact data.
  3. You must create and manage all arrays with your own code.

 

 

 

OOP design hint:

Your main program should NOT directly be responsible for maintaining or managing the array of Dogs. You must create another object to manage the Dogs for you.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY