Creating a Dog Shelter
1.- You should try to declare and instance variables at the same time. Instead of int age = 0; age = getUserInput(); this is better: int age = getUserInput();



2.- One method should do one thing, DetermineCost should 'determine cost', if you want to inform how much the cost is, then you should create another method (in this case I created PrintWeeklyCost())


3.- You should know where the variables are going to live, I mean, the scope of the variables. In you case isInt and isDouble should go only where they are going to be used. 


4.- The if else if to see numeric ranges; it's really easy to make little mistakes. What if the dog is exactly 15 kg/pounds/whatever?. Will the cost be 125? An easy way to discover little errors is being consistent and, for me, that style helps a lot.


5.- What if the user doesn't enter text at all in HandleStringInput? (here I changed the name of the methods, I think that overloading methods can add more complexity to your program when it is not needed, now if you are learning go ahead!) Check for errors in input is a good practice !

class Program
{

    static void Main(string[] args)
    {
        int id = HandleIntegerInput("Please enter your Owner ID");
        String name = HandleStringInput("Please enter the name of your dog");
        String breed = HandleStringInput("Please enter the breed of your dog");
        int age = HandleIntInput("Please enter the age of your dog");
        double weight = HandleDoubleInput("Please enter the weight of your dog");

        DogOwner dogOwner = new DogOwner(id);
        Dog newDog = new Dog(age, name, breed, weight);

        double cost = DetermineCost(newDog.GetDogWeight());
        PrintWeeklyBill(cost);

        Console.Read();
    }


    private static int HandleIntInput(String input)
    {
        Console.WriteLine(input);

        int output;
        bool validInput = false;
        while(!validInput)
        {
            Console.WriteLine("Please enter an integer value\n");    
            validInput = int.TryParse(Console.ReadLine(), out output);
        }

        Console.WriteLine("");
        return output;
    }


    private static String HandleStringInput(String input)
    {
        Console.WriteLine(input);

        String output;
        bool validInput = false;
        while(String.IsNullOrEmpty(output))
        {
            Console.WriteLine("Please enter a valid text value\n");    
            output = Console.ReadLine();
        }

        Console.WriteLine("");
        return output;
    }


    private static double HandleDoubleInput(String input)
    {
        Console.WriteLine(input);

        double output;
        bool validInput = false;
        while(!validInput)
        {
            Console.WriteLine("Please enter an decimal value\n");    
            validInput = double.TryParse(Console.ReadLine(), out output);
        }

        Console.WriteLine("");
        return output;
    }


    private static double DetermineCost(double weight)
    {
        double cost;
        if (weight &lt;= 15.0)
        {
            cost = 55.00;
        }
        else if (15.0 &lt; weight &amp;&amp; weight &lt;= 30.0)
        {
            cost = 75.00;
        }
        else if (30.0 &lt; weight &amp;&amp; weight &lt;= 80.0)
        {
            cost = 105.00;
        }
        else
        {
            cost = 125.00;
        }

        return cost;
    }

    private static void PrintWeeklyBill(double costPerWeek)
    {
        String costMsge = String.Format("Your bill for weekly day care is going to be: $", costPerWeek);
        Console.WriteLine(costMsge);
    }
}