By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,260 Members | 1,243 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,260 IT Pros & Developers. It's quick & easy.

calling a function in cpp

P: n/a
Ken
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++

}



Jul 22 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Ken
Oups , here is the program:

#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;
Conversion time_calc;
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 main()
{
Conversion time_calc;
time_calc.menu();
getch(); // Used in microsoft visual c++

}

"Ken" <le******@yah00.c0m> wrote in message
news:mU**************@news20.bellglobal.com...
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++

}


Jul 22 '05 #2

P: n/a
Ian
Ken wrote:
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.

You've placed what should be class data members in the member function
time_to_seconds().

Hint:
class Conversion
{
int seconds1, seconds2, hours, minutes, seconds;

....
};

Then all member functions can access them, no need for odd things like
time_to_seconds.seconds.

Ian

#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++

}


Jul 22 '05 #3

P: n/a
Ken
what about using a pointer to get the information from the other function?

K
"Ian" <no***@nowhere.com> wrote in message
news:10***************@drone5.qsi.net.nz...
Ken wrote:
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.

You've placed what should be class data members in the member function
time_to_seconds().

Hint:
class Conversion
{
int seconds1, seconds2, hours, minutes, seconds;

...
};

Then all member functions can access them, no need for odd things like
time_to_seconds.seconds.

Ian

#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++

}


Jul 22 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.