Thread: Help with referencing

  1. #31
    Sweet
    Join Date
    Aug 2002
    Location
    Tucson, Arizona
    Posts
    1,820
    I am a bit confused by what you are asking now what exacly are you trying to do?
    Woop?

  2. #32
    meow nbk's Avatar
    Join Date
    Jul 2004
    Posts
    45
    (s)he wants to make the seconds increment in real time. So the minutes and hours would come along, too, probably.

  3. #33
    Registered User
    Join Date
    Jul 2004
    Posts
    26
    Quote Originally Posted by nbk
    (s)he wants to make the seconds increment in real time. So the minutes and hours would come along, too, probably.
    Right, this is what I want it to do. I want to modify the first part (header) to include a TICK member function that increments the time tored in a Time object by one second. As it is now the output is incrementing by minutes.(it appears). My homework says to write a program that tests the tick memeber function in a loop that prints the time in standard format during each iteration of the loop to illustrate that the tick member function works correctly. I have to test the following cases: Incrementing the next minute, hour, and next day. The output I am looking for is as follows:

    11:59:57 PM
    11:59:58 PM
    11:59:59 PM
    12:00:00 AM
    12:00:01 AM
    12:00:02 AM

    When it says to write another program, I assumed I could just change the program I already have since I have finally gotten it to work with my compiler. It looks like the problem would be solved by the modification in the header file and no modifications to the cpp files. Sorry to be such a problem, I am still learning.

  4. #34
    meow nbk's Avatar
    Join Date
    Jul 2004
    Posts
    45
    Looking at the code, you have a function for incrementing minutes, now just make functions for hours and seconds

  5. #35
    Registered User
    Join Date
    Jul 2004
    Posts
    26
    Quote Originally Posted by nbk
    Looking at the code, you have a function for incrementing minutes, now just make functions for hours and seconds
    Yea, I just noticed that too......what I dont understand is why the problem is asking me to change the header file to include Tick. should I just change the word "seconds" to "tick" throughout the whole problem?

  6. #36
    meow nbk's Avatar
    Join Date
    Jul 2004
    Posts
    45
    I don't understand why it would, either. Is the code fully compilable(and is that an error or warning)

    Also, post the code you have right now.
    Last edited by nbk; 07-29-2004 at 11:13 AM.

  7. #37
    Registered User
    Join Date
    Jul 2004
    Posts
    26
    Quote Originally Posted by nbk
    I don't understand why it would, either. Is the code fully compilable(and is that an error or warning)

    Also, post the code you have right now.
    The code is compiling fine and here is the time3h.
    Code:
    #ifndef TIME3_H  
    #define TIME3_H 
    
    class Time {
    
    public:
       Time( int = 0, int = 0, int = 0 );  // default constructor
    
       // set functions
       void setTime( int, int, int );  // set hour, minute, second
       void setHour( int );   // set hour
       void setMinute( int ); // set minute
       void setSecond( int ); // set second
    
       // get functions
       int getHour();         // return hour
       int getMinute();       // return minute
       int getSecond();       // return second
    
       void printUniversal(); // output universal-time format
       void printStandard();  // output standard-time format
    
    private:
       int hour;              // 0 - 23 (24-hour clock format)
       int minute;            // 0 - 59
       int second;            // 0 - 59
    
    }; // end clas Time
    
    #endif
    here are (i believe 2 cpp.source codes)
    Code:
    #include <iostream>
    
    using std::cout;
    
    #include <iomanip>
    
    using std::setfill;
    using std::setw;
    
    // include definition of class Time from time3.h
    #include "time3.h"
    
    // constructor function to initialize private data;
    // calls member function setTime to set variables;
    // default values are 0 (see class definition)
    Time::Time( int hr, int min, int sec ) 
    { 
       setTime( hr, min, sec ); 
    
    } // end Time constructor
    
    // set hour, minute and second values
    void Time::setTime( int h, int m, int s )
    {
       setHour( h );
       setMinute( m );
       setSecond( s );
    
    } // end function setTime
    
    // set hour value
    void Time::setHour( int h ) 
    {
       hour = ( h >= 0 && h < 24 ) ? h : 0; 
    
    } // end function setHour
    
    // set minute value
    void Time::setMinute( int m )
    { 
       minute = ( m >= 0 && m < 60 ) ? m : 0; 
    
    } // end function setMinute
    
    // set second value
    void Time::setSecond( int s )
    { 
       second = ( s >= 0 && s < 60 ) ? s : 0; 
    
    } // end function setSecond
    
    // return hour value
    int Time::getHour() 
    { 
       return hour; 
    
    } // end function getHour
    
    // return minute value
    int Time::getMinute() 
    {
       return minute; 
    
    } // end function getMinute
    
    // return second value
    int Time::getSecond() 
    { 
       return second;
       
    } // end function getSecond
    
    // print Time in universal format
    void Time::printUniversal()
    {
       cout << setfill( '0' ) << setw( 2 ) << hour << ":"
            << setw( 2 ) << minute << ":"
            << setw( 2 ) << second;
    
    } // end function printUniversal
    
    // print Time in standard format
    void Time::printStandard()
    {
       cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )
            << ":" << setfill( '0' ) << setw( 2 ) << minute
            << ":" << setw( 2 ) << second 
            << ( hour < 12 ? " AM" : " PM" );
    
    } // end function printStandard
    // Fig. 6.20: fig06_20.cpp
    // Demonstrating the Time class set and get functions
    #include <iostream>
    
    using std::cout;
    using std::endl;
    
    // include definition of class Time from time3.h
    #include "time3.h"
    
    void incrementMinutes( Time &, const int );  // prototype
    
    int main()
    {
       Time t;              // create Time object
    
       // set time using individual set functions
       t.setHour( 17 );     // set hour to valid value
       t.setMinute( 34 );   // set minute to valid value
       t.setSecond( 25 );   // set second to valid value
    
       // use get functions to obtain hour, miunute and second
       cout << "Result of setting all valid values:\n" 
            << "  Hour: " << t.getHour()
            << "  Minute: " << t.getMinute()
            << "  Second: " << t.getSecond();
    
       // set time using individual set functions
       t.setHour( 234 );    // invalid hour set to 0
       t.setMinute( 43 );   // set minute to valid value
       t.setSecond( 6373 ); // invalid second set to 0
    
       // display hour, minute and second after setting 
       // invalid hour and second values
       cout << "\n\nResult of attempting to set invalid hour and"
            << " second:\n  Hour: " << t.getHour()
            << "  Minute: " << t.getMinute()
            << "  Second: " << t.getSecond() << "\n\n";
    
       t.setTime( 11, 58, 0 );    // set time
       incrementMinutes( t, 3 );  // increment t's minute by 3
    
       return 0;
    
    } // end main
    
    // add specified number of minutes to a Time object
    void incrementMinutes( Time &tt, const int count )
    {
       cout << "Incrementing minute " << count
            << " times:\nStart time: ";
       tt.printStandard();
    
       for ( int i = 0; i < count; i++ ) {
          tt.setMinute( ( tt.getMinute() + 1 ) % 60 );  
    
          if ( tt.getMinute() == 0 )
             tt.setHour( ( tt.getHour() + 1 ) % 24 );
    
          cout << "\nminute + 1: ";
          tt.printStandard();
    
       } // end for
    
       cout << endl;
    
    } // end function incrementMinutes
    Here are my results when I execute the program;

    Result of setting all valid values:
    Hour: 17 Minute: 34 Second: 25

    Result of attempting to set invalid hour and second:
    Hour: 0 Minute: 43 Second: 0

    Incrementing minute 3 times:
    Start time: 11:58:00 AM
    minute +1: 11:59:00 AM
    minute +1 12:00:00 PM
    minute +1: 12:01:00 PM
    Press any key to continue


    I need to for some reason change the time3h file to include Tick
    and the only output I need I listed above . I cut the part of the program out (the results of setting values) and got about 10 errors....but as it is it works with no errors.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Symbol Referencing Error
    By Delpheno in forum C++ Programming
    Replies: 3
    Last Post: 01-31-2008, 09:03 PM
  2. Symbol referencing errors
    By n00pster in forum C++ Programming
    Replies: 9
    Last Post: 04-30-2007, 06:40 AM
  3. STL list and referencing
    By gautamn in forum C++ Programming
    Replies: 1
    Last Post: 06-13-2005, 12:40 AM
  4. Problem in table referencing
    By elquex in forum C++ Programming
    Replies: 5
    Last Post: 03-26-2003, 03:00 AM
  5. referencing structure variables
    By sballew in forum C Programming
    Replies: 1
    Last Post: 11-01-2001, 01:56 PM