Você está na página 1de 3

#include <iostream.

h>

class Radio
{
private:
int iOnOff; //indica se o radio esta ligado=1 ou desligado=0
int iVolume; //indica o volume do radio, min=0 e max=10
int iEstacao; //indica estacao sintonizada no formato de memoria, de 1 a 0 posicoes
int iModulacao; //indica o tipo de modulacao, FM=1, AM=2 e OC=3

public:
Radio (void) //construtora: o radio deve estar desligado, volume=3 e FM
{
iOnOff=0;
iVolume=3;
iEstacao=1;
iModulacao=1;
}
~Radio (void) //destrutor
{
cout <<"O programa esta sendo fechado com sucesso.";
}
void Liga (void)
{
iOnOff=1;
}
void Desliga (void)
{
iOnOff=0;
}
void Troca_Volume (int vol)
{
iVolume=vol;
}
void Troca_Estacao (int est)
{
iEstacao=est;
}
void Troca_Modulacao (int mod)
{
iModulacao=mod;
}
void Imprime (void) //a situacao atual do radio: lig, volume e modulacao
{
cout <<endl<<"A situacao atual do radio e:";
if (iOnOff==1)
{
cout <<endl<<"Ligado";
}
else
{
cout <<endl<<"Desligado";
}
cout <<endl<<"Volume: "<<iVolume;
cout <<endl<<"Estacao: "<<iEstacao;
if (iModulacao==1)
{
cout <<endl<<"Modulacao: FM"<<endl;
}
else if (iModulacao==2)
{
cout <<endl<<"Modulacao: AM"<<endl;
}
else
{
cout <<endl<<"Modulacao: OC"<<endl;
}
}
};

//---------------------------------------------------------------------------

void main (void)


{
int op, a, b, c; //op=opcao, a=volume, b=estacao, c=modulacao
cout <<"Programa para controle do radio."<<endl;
Radio Mundial;
for (;;)
{
cout <<endl<<"Escolha uma das opcoes:";
cout <<endl<<"1 -> Ligar";
cout <<endl<<"2 -> Desligar";
cout <<endl<<"3 -> Alterar o volume";
cout <<endl<<"4 -> Trocar de estacao";
cout <<endl<<"5 -> Trocar de modulacao";
cout <<endl<<"6 -> Mostrar condicao atual do radio";
cout <<endl<<"7 -> Sair do programa"<<endl;
cin >>op;

switch (op)
{
case 1:
Mundial.Liga();
break;

case 2:
Mundial.Desliga();
break;

case 3:
cout <<endl<<"Digite o novo valor do volume: ";
cin >>a;
Mundial.Troca_Volume(a);
break;

case 4:
cout <<endl<<"Digite a nova estacao: ";
cin >>b;
Mundial.Troca_Estacao(b);
break;

case 5:
cout <<endl<<"Digite a nova modulacao: ";
cin >>c;
Mundial.Troca_Modulacao(c);
break;

case 6:
Mundial.Imprime();
break;

case 7:
break;

default: break;
}
if (op>=7)
break;
}
return 0;
}
//---------------------------------------------------------------------------