Using C# for a console program in MicroSoft Visual Studio 2010, I have made some changes to this with some help from you guys and this console program is running correctly; however I need to implement a constant static field that will display the motto "To Obey the Girl Scout Law" in the output section of the main method. I know it must be something simple so please bear with me. When I include the public static const string Motto = "To Obey the Girl Scout Law" in the bass class, I get an error message - The constant 'DemoScouts.GirlScout.Motto' can not be static. The following is the complete code for this project:
public class GirlScout {
    public static const string Motto = "To Obey the Girl Scout Law";  
    public static string scoutName;
    public static string enterName()
    {
        return scoutName;
    }
    public static int duesOwed;
    public static int enterAmount()
    {
        return duesOwed;
    }
    public static int troopNumber;
    public static int enterNumber()
    {
        return troopNumber;
    }
}
class MainClass : GirlScout
{
    static void Main()
    {
        Console.WriteLine();
        Console.Write("Enter the Girl Scout's name: ");
        GirlScout.scoutName = Console.ReadLine();
        Console.WriteLine();
        Console.Write("Enter their Troop Number: ");
        string n = Console.ReadLine();
        GirlScout.troopNumber = Int32.Parse(n);
        GirlScout.enterNumber();
        Console.WriteLine();
        Console.Write("Enter the amount they Owe in Dues: $");
        string d = Console.ReadLine();
        GirlScout.duesOwed = Int32.Parse(d);
        GirlScout.enterAmount();
        Console.WriteLine();
        // Seperate the input from the output:
        Console.WriteLine();
        Console.WriteLine(GirlScout.Motto);
        Console.WriteLine("-----------------------------------------------");
        Console.WriteLine();
        // Display the new information:
        Console.WriteLine("The name of the Girl Scout is: {0}", GirlScout.scoutName);
        Console.WriteLine("The troop Number of the Girl Scout is:   {0}", GirlScout.troopNumber);
        Console.WriteLine("The amount of Dues Owed by this Girl Scout is: {0}", GirlScout.duesOwed);
        // Keep the console window open in debug mode.
        Console.ReadKey();
    }
}
}
Any and all advice would be greatly appreciated.
You aren't doing anything with the name that the user entered:
Console.Write("Enter the Girl Scout's name: ");
Console.ReadLine();
It should be this:
Console.Write("Enter the Girl Scout's name: ");
GirlScout.scoutName = Console.ReadLine();
You also need to change the type of scoutName to be a string rather than an int.
You should also redesign your class. Use instance properties rather than static fields.
public class GirlScout
{
    public string Motto { get; set; }
    public string ScoutName { get; set; }
    public int DuesOwed { get; set; }
    public int TroopNumber { get; set; }
}
                        You are not storing the name the user input, as you do with the other data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With