Ir ao conteúdo
  • Cadastre-se

Ajuda com Execício-c++


Andre Melo

Posts recomendados

oi, estou precisando de uma ajuda para fazer um exercício proposto no meu curso,a ideia e a seguinte .


 


um ar-condicionado q ligue e desligue de acordo com a temperatura ambiente, as condições são as seguintes se a temperatura ambiente subir 60% ele liga, se a temperatura ambiente cair 60% ele desliga.


 


o maior problema q tenho enfrentado e como comparar essa porcentagem a temperatura ambiente.


 


se alguém conseguir me dar uma ideia eu agradeço muito. lembrando q e linguagem c. no programa borland/c++.


 

Link para o comentário
Compartilhar em outros sites

Eu vou deduzir aqui que como o exercício é em C++ e como o enunciado fala de um objeto (ar-condicionado) as funções e estados dele, é bem provável que o seu professor(a) queira introduzir noções de orientação a objetos. Pelo menos é o que me parece.

 

É só criar uma classe representando o ar-condicionado, com uma variável (float) que será a temperatura setada pra ele e um boolean com o estado dele (ligado ou desligado). Também coloca os métodos pra ligar e desligar.

 

No teu programa principal você cria algum tipo de variável pra representar a temperatura ambiente e compara ela com a temperatura setada pro arcondicionado.

 

Se "tempAmbiente > tempArCondicionado + (tempArCondicionado * 0.60)" chama a função liga.

Se "tempAmbiente < tempArCondicionado - (tempArCondicionado * 0.60)" chama a função desliga.

Link para o comentário
Compartilhar em outros sites

Se eu entendi, trazendo para o C'99 já que não sei nadinha de C++; 

O objeto, nosso que estranho falar isso, tem que saber os 

Mnemônicos: MaxT, MinT, AmbT, DefT, LimT, CicT;

 

CicT    =  Tempo entre cada ciclo de verificação de temperatura; Exemplo: 3 segundos

AmbT  = É a temperatura marcada pelo termostato; Exemplo; A temperatura pois os 6 minutos ou 3 segundos

DefT   = Temperatura desejada; Exemplo: 25*C 

LimT   = Coeficientes de o intervalo médio das Temperaturas (MinT e MaxT); Exemplo: .6 

esse ultimo pode ser omitido como Default;

 

MaxT  = DefT + (DefT* LimT); =  25  + (25 * 0.6) = 40;

MinT   = DefT -   (DefT* LimT); = 25 - (25 * 0.6)  = 10;

 

Depois de tudo isso, o seu objeto, vai ter que tratar disso:

Quando CicT    =  0;

se (MaxT < AmbT) Liga; se não

se (MinT > AmbT) Desliga;

Link para o comentário
Compartilhar em outros sites

amigo eu fiz da seguinte forma:

 

 

bool ar (int a,int B)
{
 int temperatura_amb=0,temperatura_ar=0;
 
 
 if (temperatura_amb=0>temperatura_ar+(temperatura_ar*0.60))
 
   return true;
 
   else if (temperatura_amb<temperatura_ar-(temperatura_ar*0.60 ))
 
   return false;
 
 
 
}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int ambiente=0,ar_condicionado=0;
 
ambiente=StrToInt(Edit1->Text);
ar_condicionado=StrToInt(Edit2->Text);
 
if (ar (ambiente,ar_condicionado))
ShowMessage("Ligar");
else
ShowMessage("desligar");
}
//---------------------------------------------------------------------------
 
 
porém a condição so da como liga
Link para o comentário
Compartilhar em outros sites



bool ar (int a,int {
    int temperatura_amb=0,temperatura_ar=0;
    if (temperatura_amb=0>temperatura_ar+(temperatura_ar*0.60))
    ...
}


 

Você esqueceu se usar os valores "a" e "b" na tua função.

Tá setando eles pra zero, então sempre vai retornar o mesmo valor...

 

Pelo que entendi, deveria ser "temperatura_amb = a, temperatura_ar = b".

E naquele primeiro if você tá setando a temp_ambiente pra zero de novo.

 

Ah... além disso, acho melhor usar float do que int pra esse problema... já que você tá multiplicando os números por valores fracionados.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...