calling a function in cpp

From: Ken (lerameur_at_yah00.c0m)
Date: 05/14/04


Date: Thu, 13 May 2004 21:02:12 -0400

hello,

I would to know if it is possible to call an object in a function within a
class.
Meaning , In a class, A function X calling onto a function Y, and function
Y we want one of the two calculation ( eg seconds , out of seconds and
minutes)
thanks ,

Ken
lerameur at yahoo.com

here is the program I wrote, but the function subtraction wich is calling
another function is not working, dont know how to access the info.

#include <iostream>
#include <conio.h> // Used in microsoft visual c++
using namespace std;

class Conversion
{
public:
void menu();
void sec_to_hours();
void time_to_seconds();
void substraction();
};

void Conversion::time_to_seconds() //Converts time to seconds
{ int seconds1, seconds2, hours, minutes, seconds;
 char colon;
  cout<<"Enter a time (hours:minutes:seconds): " ;
  cin>> hours >>colon >>minutes >>colon >> seconds;
   if ( hours >= 0 && hours < 24 ) seconds1 = hours * 3600 ;
    else cout<<"Invalid amounts of hours " <<endl;
   if ( minutes >= 0 && minutes < 60) seconds2 = minutes *60;
    else cout<<"Invalid amount of minutes " <<endl;
   if ( seconds >= 0 && seconds< 60) ;
    else cout<<"Invalid amount of seconds " <<endl;
   if ( ( hours >= 0 && hours < 24 ) && ( minutes >= 0 && minutes < 60) &&
( seconds >= 0 && seconds< 60) )
 seconds = seconds1 + seconds2 + seconds ;
  cout<< " There is: " << seconds <<" seconds." <<endl;
}
void Conversion::substraction()
{ int seconds ;//total_seconds;

  time_to_seconds();
  cout<<" Now enter the amount of seconds to subtract : " <<endl;
  cin >> seconds ;

  if ( time_calc.time_to_seconds() >= seconds)
  cout<< " Substracting " << time_to_seconds.seconds <<" from " << seconds
<<" is: " << time_to_seconds().seconds - seconds ;
 else
  cout<< " The time has to be greater then the seconds. Please try again! "
;

}

void Conversion::menu()
{
 int choice;
 Conversion time_calc;
 do {
       cout << endl << endl;
    cout << " Time Management System "<<endl;
    cout << " ============================================== "<<endl;
    cout << " 1: Convert a number of seconds into a time "<<endl;
       cout << " 2: Convert a time into a number of seconds "<<endl;
    cout << " 3: Substrat a number of seconds from a time "<<endl;
    cout << " 4: Quit "<<endl;
    cout << " ============================================== "<<endl;

       cout << " Your choice please: ";
       cin >> choice;

 switch (choice)
 {
 case 1:
  sec_to_hours();
  break;
 case 2:
  time_calc.time_to_seconds();
   break;
 case 3:
  time_calc.substraction();
   break;
 case 4: cout<<"Thank you for having used this system, Bye Bye!!!"; break;

   default: cout<<"Error: Invalid option, Please try again" ;
 }
 } while (choice != 4);

 }// end function menu

void sec_to_hours() //Conversion from seconds to hours and minutes
 { int seconds;

  cout<<"Enter the number of seconds: " ;
  cin>> seconds;
  if (seconds >= 0 && seconds < 60)
   cout<< "The number of seconds is " << seconds ;
  else if (seconds >= 60 && seconds < 3600)
   cout<< "There are " << seconds / 60 <<" minutes and " << seconds % 60
<<" seconds" ;
  else if ( seconds >= 3600 && seconds < 86400 ) // 1 hours or more , 1 hour
= 3600 seconds
   cout<< "There are " << seconds /3600 << " hours " << (seconds % 3600) /
60 <<" minutes " << seconds % 60 <<" seconds" ;
  else if ( seconds >= 86400 ) //checking for days if seconds greater then
86400seconds ( 1 day)
  { cout<< "There is " << seconds / 86400 <<" days, " << (seconds % 86400)
/3600 << " hours " ;
    cout<< ((seconds % 86400) %3600) / 60 <<" minutes " << (((seconds %
86400) %3600) % 60 ) %60 <<" seconds" ;
  }
 }

}; // end void time_to_seconds

void substraction()
{ int seconds, total_seconds;

  time_to_seconds();
  cout<<" Now enter the amount of seconds to subtract : " <<endl;
  cin >> seconds ;

  if ( time_to_seconds().seconds >= seconds)
  cout<< " Substracting " << time_to_seconds.seconds <<" from " << seconds
<<" is: " << time_to_seconds().seconds - seconds ;
 else
  cout<< " The time has to be greater then the seconds. Please try again! "
;

  }

void main()
{
 Conversion time_calc;
 time_calc.menu();
 getch(); // Used in microsoft visual c++

}



Relevant Pages

  • Help in Java swings(internal Frame)
    ... public int getSize() ... public void valueChanged{ ... private JScrollPane scrollPane1; ... public class PeakContainer extends JInternalFrame ...
    (comp.lang.java.programmer)
  • [PATCH] get rid if __cpuinit and __cpuexit
    ... unsigned long action, void *hcpu) ... unsigned int cpu = hcpu; ... -static int __cpuinit ... __cpu_up(unsigned int cpu) ...
    (Linux-Kernel)
  • problem in java swings
    ... public int getSize() ... public void valueChanged{ ... private JScrollPane scrollPane1; ... public class PeakContainer extends JInternalFrame ...
    (comp.lang.java.programmer)
  • [PATCH,RFC 2.6.14 09/15] KGDB: SuperH-specific changes
    ... This adds basic support for KGDB on SuperH as well as adding some architecture ... -static int kgdb_uart_getchar ... -static void kgdb_uart_putchar ... * The command-line option can include a serial port specification ...
    (Linux-Kernel)
  • ToolTips in a View and TTN_NEEDTEXT
    ... extern int g_minWorkPeriod; ... void CDayView::CreateAllFonts ... void CDayView::DrawDayLog(CDC* pDC) ... BOOL CDayView::TimeToY ...
    (microsoft.public.vc.mfc)