Ir ao conteúdo
  • Cadastre-se

C Programa para ligar ventoinha veicular a 90º e desligar a 70º


Bruno Prevital

Posts recomendados

Boa noite pessoal, esta é a minha primeira postagem aqui no fórum, comecei a fazer um curso de eletrônica automotva, onde tenho aula de programação em C.

Pois bem, professor deu uma lista de exercícios no qual, um dos exercícios pede para desenvolver um programa que monitore a temperatura do motor do veículo e que, ao chegar a 90º, a ventoinha deve ser ligada e desligada ao chegar aos 70º.

Segue abaixo o programa que consegui desenvolver até agora:

 

#include <stdio.h>

#include <stdlib.h>

 

int main(void) {

int temp_liga, temp_desliga, temp_atual, vent;

//vent=0 desligado

//vent=1 ligado

temp_liga=90;

temp_desliga=70;

printf("Temperatura atual do motor: \n");

scanf("%d", &temp_atual);

 

while(1){

if(temp_atual<=temp_liga){

vent=0;

printf("Eletroventilador desativado");

}else {

vent=1;

printf("Eletroventilador ativado");

}

break;

}

}

Porém, como vocês pode ver, desse jeito, a ventoinha liga já a 71º, o que não é o correto. 

Se alguém puder me ajudar, serei eternamente grato.

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Gratidão eterna é muito. Passa a bola pra frente ajudando outros quando puder.

 

#include <stdio.h>
#include <stdlib.h>

int sensor()
{
	int temp_atual;
	// aqui pega a temperatura. 
	// no caso, faça de conta que o scanf é o sensor,
	// pois você vai precisar jogar esse valor a todo momento;
	printf("Pega temperatura do sensor: \n");
	scanf("%d", &temp_atual);
	return temp_atual;
}

int main(void) 
{
	int temp_liga		=90;
	int temp_desliga	=70;
	int vent		=0; // ele começa ligado? Acho que não... 

	int temp_atual ;	// sensor deve testar isso

	//vent=0 desligado
	//vent=1 ligado

	while(1)
	{
		// sensor entra aqui.
		// isso é rápido para o sensor, mas somos 
		// obrigados a criar uma forma pra fazer de 
		// conta que tem um sensor... só que vai ser você
		temp_atual = sensor();

		if(temp_atual>=temp_liga)
		{
			vent=1;

		}
		// perceba que nesse meio ele não deve mudar o estatus de vent
      	// --------o----------o-----
      	// =======70----------90====
      	// desliga |Nada Munda| liga
		else if(temp_atual<=temp_desliga)
		{
			vent=0;
		}

		if(vent)
		{
			printf("Eletroventilador ativado\n");
		}
		else
		{
			printf("Eletroventilador desativado\n");
		}
		
		// essa condicional aqui não existe. 
		// é so pra você sair do programa. beleza?
		if(temp_atual==-1)
		{
			// se você digitar -1, vai sair do programa.
			printf("Desliguei o carro... sai do programa\n");
			break;
		}
	}
}
                                         

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!