zergling
05-04-2008, 20:13
Ciao a tutti,
Sto scrivendo un programma che sia in grado di convertire l'ora in 24h in 12h... Mi sono creato 3 funzioni e tutto fila liscio fino a quando devo eseguire il while loop in main :(
Come faccio ad useguire il while loop che mi consenta di richiamare le mie tre funzioni? E' possibile?
Ciao e grazie :D
#include <iostream>
using namespace std;
void input(int& hour, int& minutes);
char conversion(int& hour, char& day_night);
void output(int hour, int minutes, char day_night, char& answer);
int main()
{
int hour, minutes;
char day_night, answer;
do
{
input(hour, minutes);
conversion(hour, day_night);
output(hour, minutes, day_night, answer);
}while((answer == 'y')||(answer == 'Y'));
return 0;
}
void input(int& hour, int& minutes)
{
bool check = false;
while (((hour >24) || (hour < 0)) || ((minutes < 0)||(minutes > 59)))
{
if (check == true)
{
cout << "\nEnter minutes: ";
cin >> minutes;
if((minutes > 60) || (minutes < 0))
{
cout << "ERROR! Minutes can not be " << minutes << endl;
continue;
}
}
else
{
cout << "Enter hour in 24h notation: ";
cin >> hour;
if((hour >24) || (hour < 0))
{
cout << "ERROR! Hour can not be " << hour << endl;
continue;
}
else
{
check = true;
cout << "\nEnter minutes: ";
cin >> minutes;
}
if((minutes > 60) || (minutes < 0))
{
cout << "ERROR! Minutes can not be " << minutes << endl;
continue;
}
}
}
}
char conversion(int& hour, char& day_night)
{
if((hour >=13) && (hour <=23))
day_night = 'p';
else if (hour == 24)
day_night = 'a';
else
day_night = 'a';
if(hour > 12)
hour = hour -12;
return hour;
}
void output(int hour, int minutes, char day_night, char& answer)
{
cout << "\nThe time in 12H notation is: ";
if (day_night == 'p')
cout << hour << ":" << minutes << " " << "P.M" << endl;
else
cout << hour << ":" << minutes << " " << "A.M" << endl;
cout << "\nWould you like to run the program again? (y/n)";
cin >> answer;
}
Sto scrivendo un programma che sia in grado di convertire l'ora in 24h in 12h... Mi sono creato 3 funzioni e tutto fila liscio fino a quando devo eseguire il while loop in main :(
Come faccio ad useguire il while loop che mi consenta di richiamare le mie tre funzioni? E' possibile?
Ciao e grazie :D
#include <iostream>
using namespace std;
void input(int& hour, int& minutes);
char conversion(int& hour, char& day_night);
void output(int hour, int minutes, char day_night, char& answer);
int main()
{
int hour, minutes;
char day_night, answer;
do
{
input(hour, minutes);
conversion(hour, day_night);
output(hour, minutes, day_night, answer);
}while((answer == 'y')||(answer == 'Y'));
return 0;
}
void input(int& hour, int& minutes)
{
bool check = false;
while (((hour >24) || (hour < 0)) || ((minutes < 0)||(minutes > 59)))
{
if (check == true)
{
cout << "\nEnter minutes: ";
cin >> minutes;
if((minutes > 60) || (minutes < 0))
{
cout << "ERROR! Minutes can not be " << minutes << endl;
continue;
}
}
else
{
cout << "Enter hour in 24h notation: ";
cin >> hour;
if((hour >24) || (hour < 0))
{
cout << "ERROR! Hour can not be " << hour << endl;
continue;
}
else
{
check = true;
cout << "\nEnter minutes: ";
cin >> minutes;
}
if((minutes > 60) || (minutes < 0))
{
cout << "ERROR! Minutes can not be " << minutes << endl;
continue;
}
}
}
}
char conversion(int& hour, char& day_night)
{
if((hour >=13) && (hour <=23))
day_night = 'p';
else if (hour == 24)
day_night = 'a';
else
day_night = 'a';
if(hour > 12)
hour = hour -12;
return hour;
}
void output(int hour, int minutes, char day_night, char& answer)
{
cout << "\nThe time in 12H notation is: ";
if (day_night == 'p')
cout << hour << ":" << minutes << " " << "P.M" << endl;
else
cout << hour << ":" << minutes << " " << "A.M" << endl;
cout << "\nWould you like to run the program again? (y/n)";
cin >> answer;
}