Experimento C ++ --- despertador

** Tema 2: ** Despertador

Descripción

Defina la clase Time, incluidos
tres atributos de tipo int de hora, minuto y segundo , que son la hora, el minuto y el segundo del tiempo.
Constructor, destructor y la información correspondiente de salida en él. Vea el ejemplo para el formato.
Otras funciones necesarias para que el programa funcione correctamente.
Defina la clase de alarma, incluyendo:
un objeto de la clase de tiempo y un atributo de cadena, que son la hora del despertador y el nombre del despertador.
Constructor, destructor y la información correspondiente de salida en él. Vea el ejemplo para el formato.
El método int staySeconds (Time & now) se utiliza para calcular cuántos segundos quedan antes del evento de alarma en el momento actual. Suponga que ahora debe ser menor que la hora configurada para la alarma.
El método getThing () se utiliza para devolver el nombre del despertador.
La
primera línea de Entrada es una cadena sin espacios en blanco, que es el nombre del despertador.
Las líneas 2 y 3 son dos horas, que son la hora del despertador y la hora actual. Vea el ejemplo de
Salida
.
Entrada de muestra

GetUp
10 10 10
9 9 9

Salida de muestra

Time 10:10:10 is created.
Alarm GetUp is created.
Time 9:9:9 is created.
Alarm GetUp will start after 3661 seconds.
Time 9:9:9 is erased.
Alarm GetUp is erased.
Time 10:10:10 is erased.

Dada la función principal del título:

int main()
{
    
    
    int h, m, s;
    string th;
    cin>>th;
    cin>>h>>m>>s;
    Alarm alarm(h,m,s,th);
    cin>>h>>m>>s;
    Time now(h,m,s);
    cout<<"Alarm "<<alarm.getThing()<<" will start after "<<alarm.remainSeconds(now)<<" seconds."<<endl;
    return 0;
}

código:

#include<iostream>
#include<string>

using namespace std;

class Time{
    
    
	int hour,minute,second;
public:
	Time(int h,int m,int s){
    
    
		hour=h;
		minute=m;
		second=s;
		cout<<"Time "<<hour<<":"<<minute<<":"<<second<<" is created."<<endl;
	}
	~Time(){
    
    
		cout<<"Time "<<hour<<":"<<minute<<":"<<second<<" is erased."<<endl;
	}
	int getH(){
    
    
		return hour;
	}
	int getM(){
    
    
		return minute;
	}
	int getS(){
    
    
		return second;
	}
};


class Alarm{
    
    
	string name;
	Time time;
public:
	Alarm(int h,int m,int s,string Name):time(h,m,s),name(Name){
    
    
		cout<<"Alarm GetUp is created."<<endl;	
	}
	~Alarm(){
    
    
		cout<<"Alarm GetUp is erased."<<endl;
	}
	int remainSeconds(Time& now){
    
    
		int len_now=now.getH()*3600+now.getM()*60+now.getS();
		int len_alarm=time.getH()*3600+time.getM()*60+time.getS();
		return (len_alarm-len_now);	
	}
	string getThing(){
    
    
		return name;
	}
};


int main()
{
    
    
    int h, m, s;
    string th;
    cin>>th;
    cin>>h>>m>>s;
    Alarm alarm(h,m,s,th);
    cin>>h>>m>>s;
    Time now(h,m,s);
    cout<<"Alarm "<<alarm.getThing()<<" will start after "<<alarm.remainSeconds(now)<<" seconds."<<endl;
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/timelessx_x/article/details/115033953
Recomendado
Clasificación