HackerRank Solutions – 30 Days of Code – Day 4

HackerRank Solutions – 30 Days of Code – Day 4

Objective
In this challenge, we’re going to learn about the difference between a class and an instance; because this is an Object Orientedconcept, it’s only enabled in certain languages.

Task

Write a Person class with an instance variable, , and a constructor that takes an integer, , as a parameter. The constructor must assign  to  after confirming the argument passed as  is not negative; if a negative argument is passed as , the constructor should set  to  and print Age is not valid, setting age to 0.. In addition, you must write the following instance methods:

  1. yearPasses() should increase the  instance variable by .
  2. amIOld() should perform the following conditional actions:
    • If , print You are young..
    • If  and , print You are a teenager..
    • Otherwise, print You are old..

To help you learn by example and complete this challenge, much of the code is provided for you, but you’ll be writing everything in the future. The code that creates each instance of your Person class is in the main method. Don’t worry if you don’t understand it all quite yet!

Note: Do not remove or alter the stub code in the editor.

Input Format

Input is handled for you by the stub code in the editor.

The first line contains an integer,  (the number of test cases), and the  subsequent lines each contain an integer denoting the  of a Person instance.

Constraints

  •  1<=T<=4
  •  -5<=age<=30

Output Format

Complete the method definitions provided in the editor so they meet the specifications outlined above; the code to test your work is already in the editor. If your methods are implemented correctly, each test case will print  or lines (depending on whether or not a valid  was passed to the constructor).

Sample Input

4

-1

10

16

18

Sample Output

Age is not valid, setting age to 0.

You are young.

You are young.

You are young.

You are a teenager.

You are a teenager.

You are old.

You are old.

You are old.

Explanation

Test Case 0:
Because , our code must set  to  and print the “Age is not valid…” message followed by the young message. Three years pass and , so we print the young message again.

Test Case 1:
Because , our code should print that the person is young. Three years pass and , so we print that the person is now a teenager.

Test Case 2:
Because , our code should print that the person is a teenager. Three years pass and , so we print that the person is old.

Test Case 3:
Because , our code should print that the person is old. Three years pass and the person is still old at , so we print the old message again.

C++ Program:

class Person{

    public:

        int age,l;

        Person(int initialAge);

        void amIOld();

        void yearPasses();

    };

    Person::Person(int initialAge){

        // Add some more code to run some checks on initialAge

        l=0;

        if(initialAge<0)

    {

    cout<<“Age is not valid, setting age to 0.\n”;

        age=0;

}

     age=initialAge+l;

    }

    void Person::amIOld(){

        // Do some computations in here and print out the correct statement to the console

if(age+l<13)

    cout<<“You are young.\n”;

    else

    {

        if(13<=age+l&&age+l<18)

    cout<<“You are a teenager.\n”;

        else

            cout<<“You are old.\n”;

    }

    }

    void Person::yearPasses(){

        // Increment the age of the person in here

     l++;

    }

OUTPUT:

Congratulations

You solved this challenge. Would you like to challenge your friends?

Next Challenge
Input (stdin)Download
4
-1
10
16
18
Expected OutputDownload
Age is not valid, setting age to 0.
You are young.
You are young.

You are young.
You are a teenager.

You are a teenager.
You are old.

You are old.
You are old.
Compiler Message
Success

 

Follow us on Social Media:
People find me to be an upbeat, self-motivated team player with excellent communication skills”.
I am NITHIESH KUMAR, pursuing my BE CSE from the reputed college ,SRI KRISHNA COLLEGE OF ENGINEERING AND TECHNOLOGY.
 I have an idea in the technology industry. My experience includes successfully known positions of technology departments and developing viable leads. I have a track record of maintaining a consistent and activity volume and consistently achieving the goal.

Be the first to comment

Leave a Reply

Your email address will not be published.