CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3

Hybrid View

  1. #1
    Join Date
    Aug 2009
    Posts
    6

    [RESOLVED] TRying to increment to the next day and next year

    Hi,

    Here is my task to accomplish so far: Modify the date class of (provided) to perform error checking on the initializer values for instance variables month, date, and year. Also provide a method NextDay to increment the day by one. The Date object should always remain in a consistent state. Write a program that tests the NextDay method in a loop that prints the date during each iteration of the loop to illustrate that the NextDay method works correctly. I have to be careful that I make sure my program increments into the next month and into the next year.

    I did created classes and intiliaze values, and created next day. I tried different method but,could not get it right.Can you point me in the right direction. Thanks, and here is my code:

    Date.cs
    Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    public class Date
    {
       public static void Main(string[] args)
       {
          
       }
    
       private int month, day, year, nextday;
       public Date(int theMonth, int theDay, int theYear, int nextDay)
       {
          Month = theMonth;
          Year = theYear;
          Day = theDay;
          Nextday = theNextDay;
          Console.WriteLine( "Date object for date {0}", this );
       }
       public int Year
       {
          get
           {
              return Year;
           }
          private set{
             if (value > 0 && value <= 3000)
               year = value;
       else
       {
          Console.WriteLine("Invalid Year ({0}) set to 1.", value);
          year = 1;
       }
       }
      }
          public int Month
          {
             get
           {
           return Month;
           }
       private set
       {
          if (value > 0 && value <=12)
             month = value;
          else
          {
             Console.WriteLine( "Invalid Month ({0}) set to 1.", value );
             month = 1;
          }
       }
    }
             public int Day
             {
                get
                {
                   return day;
                }
                private set
                {
                   int[] daysPerMonth = { 0, 31, 28, 31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
                   if (value > 0 && value <= daysPerMonth[Month])
                      day = value;
                   else if (Month == 2 && value == 29 && (Year &#37; 400 == 0 || (Year % 4 == 0 && Year % 100 != 0)))
                      day = value;
                   else
                   {
                      Console.WriteLine("Invalid day {0} set to 1.", value);
                      day = 1;
                   }
                }
             }
     
             public override String ToString()
             {
                return String.Format("{0}/{1}/{2}", Month, Day, Year);
             }
    public string ToDateString()
    		{
    			return month + "/" + day + "/" + year;
    		}
       
    
    
    
    public int getnextDay()
    
    {  
    //int nextDay = 1;
    
    
    {
    
    if (day.equals("Sun"))
    
    return "Mon";
    
    else if (day.equals("Mon"))
    
    return "Tue";
    
    else if (day.equals("Tue"))
    
    return "Wed";
    
    else if (day.equals("Wed"))
    
    return "Thu";
    
    else if (day.equals("Thu"))
    
    return "Fri";
    
    else if (day.equals("Fri"))
    
    return "Sat";
    
    else
    
    return "Sun";
    
    for (nextDay=0;nextDay<30;nextDay++)
    {
    nextDay = 33; // This line will ERROR!
      Console.WriteLine("Loop: {0}", nextDay);
    
    
    }
    }
    }
    //end of file
    
    
    
    
    
    
    DateTest.cs
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace Date
    {
       public class DateTest
       {
          public static void Main(string[] args)
          {
    Date myDate = new Date();
    
    
    myDate.nextDate(); // display date
       } 
          }
    }
    Last edited by lopatko; August 17th, 2009 at 07:46 PM. Reason: Added code tags

  2. #2
    Join Date
    Jun 2008
    Posts
    2,477

    Re: TRying to increment to the next day and next year

    Your code is really out of order (in fact, the structure does not even make sense in some places and it would not compile) and not in code tags. I was going to help, but it was too much work to look at the code, sorry.

  3. #3
    Join Date
    Aug 2009
    Posts
    6

    Re: TRying to increment to the next day and next year

    OK, I changed a code , but I can not get to compile. Can anybody HELP!Thanks.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured