Ir ao conteúdo

Posts recomendados

Postado

Boa tarde meus queridos,

Curso engenharia e meu professor de algoritmos não é bem lá amigável e muito menos didático, então tudo que eu sei é pesquisando na net e lendo os pdf's que ele manda. Esse exercicio é sobre parâmetros de doação de sangue, enquanto os parâmetros eram números consegui beleza, agora tem que ter resposta "sim" ou "nao" e tudo que tentei não deu, outra coisa, se alguém puder me orientar sobre as bibliotecas que coloquei, porque qualquer que seja o exercicio eu coloco essas tres, não sei distinguir elas.

Grato desde já, vejo muita ajuda nesses tópicos, parabéns aos envolvidos;

 

 

Segue meu código :

 

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

int main ()
{
	
	int idade,peso,alimentado,resfriado,sim;

	
	
	printf ("informe a idade: ");
	scanf ("%d",&idade);
	if ((idade >=16)||(idade>=69))
	printf ("Pode ser doador \n");
	else
	printf ("Nao pode ser doador \n");
	
	printf ("Informe seu peso:");
	scanf ("%d",&peso);
	if (50<=peso)
	printf ("Pode ser doador \n");
	else
	printf ("Nao pode ser doador\n");

	printf ("voce esta bem alimentado, sim ou nao: ");
	scanf ("%d",&alimentado);
	if (alimentado= sim)
	printf ("Pode ser doador \n");
	else
	printf ("Nao pode ser doador \n");
	
	
	printf ("voce esta resfriado, sim ou nao:");
	scanf ("%d", &resfriado);
	if (resfriado=nao)
	printf ("Pode ser doador\n");
	else
	printf ("Nao pode ser doador \n");

	
}

 

EDIT : Esqueci de colocar no codigo o "nao" nas variáveis la em cima, mas já coloquei e deu igual o "sim" 

 

  • Curtir 1
Postado

@Vitor Fredie Dreher Galvão Em geral, eu gosto de usar o stdio.h e o locale.h.

Se você está programando em C, é obrigatório o stdio.h. O locale.h uso para mostrar acentuação da língua portuguesa. Esse conio.h não precisa porque você não usou nenhuma função dessa biblioteca.

Na primeira condição, se idade >=16, ela pode ser também >=69, certo? Não sei o que você quer, porque esqueceu de inserir o enunciado da questão, mas imagino que você queria que fosse <=69.

Use "||" para se referir a "ou" (or), e "&&" para "e" (and).

Não se esqueça de englobar o que está dentro dos if e elses com chaves ({}), e identação também é interessante.

Também acho melhor pedir todos dados primeiramente para depois avaliar o que foi inserido.

Para perguntas de sim/não, use uma string ou um char. Normalmente, é pedido s/n.

Para comparação, use "==", para atribuição, use "=", se quiser comparar "peso" com algum valor, faça peso<=50, não 50<=peso. E acho que faz mais sentido peso>=50.

No final do seu programa, insira return 0.

Agora, coloque tudo em uma só condição, pois com essas 4 aí, vai imprimir 4 vezes.

#include <stdio.h>
#include <locale.h>

int main ()
{
	
	int idade, peso;
	char alimentado, resfriado;
	
	printf ("informe a idade: ");
	scanf ("%d",&idade);

	printf ("Informe seu peso: ");
	scanf ("%d",&peso);
	
	printf ("voce está bem alimentado (s/n)? ");
	scanf ("\n%c", &alimentado);
	
	printf ("voce está resfriado (s/n)? ");
	scanf ("\n%c", &resfriado);
	
	if (((idade >=16) && (idade<=69)) && (peso>=50) && (alimentado == 's') && (resfriado == 'n')){
	    printf ("\nPode ser doador.\n");
	} else{
	    printf ("\nNão pode ser doador.\n");
	}

	return 0;
}

Eu não o fiz, mas não se esqueça de comentar seu programa, assim todos podem entender o que se passa nele. Para comentar, basta considerar o exemplo: "//texto".

1 hora atrás, Vitor Fredie Dreher Galvão disse:

Curso engenharia e meu professor de algoritmos não é bem lá amigável e muito menos didático

Entendo... Já passei por isso, e foi literalmente essa mesma situação. Boa sorte.

  • Curtir 2
Postado

@Lucca Rodrigues

46 minutos atrás, Lucca Rodrigues disse:

@Vitor Fredie Dreher Galvão Em geral, eu gosto de

Muito obrigado pelos toques quanto a bibliotecas e também sobre o código, mas eu tentei compilar as correções e não da, coloco os paramêtros certos e mesmo assim ele da um resultado errado. Não sei onde posso ter errado

  • Curtir 1
Postado

Os nomes das bibliotecas padrão da linguagem C dão dicas do que elas fazem:

 

stdio.h -> "STD I/O" é abreviação de "Standard Input and Output" , que significa "Entrada e Saída Padrão", logo essa biblioteca disponibiliza várias recursos para lidar com os métodos mais comuns de entrada e saída de dados do programa, por exemplo funções para ler dados digitados pelo usuário (scanf) ou para imprimir texto na tela (printf), e também funções para lidar com leitura e escrita de arquivos (fread e fwrite), entre outras.

 

stdlib.h -> "STD LIB" é abreviação de "Standard Library", que significa "Biblioteca Padrão", é uma biblioteca bem genérica que fornece vários recursos diferentes mas que são usados relativamente frequentemente, por exemplo conversão de string contendo digitos para um número, alocação/reserva de espaço na memória, geração de números aleatórios, finalização forçada do programa, entre outros.

 

conio.h -> "CON I/O" é abreviação de "Console Input and Output", que significa "Entrada e Saída do/para Console", mas essa biblioteca não é uma biblioteca padrão da linguagem C, ela é específica para o sistema operacional Windows, ou seja em outros SOs ela não existe, logo usando ela seu programa será restrito ao ambiente Windows. E esta biblioteca fornece recursos extras específicos para o console "Prompt de Comando" (cmd.exe) do Windows, por exemplo detecção de quando o usuário apertou uma tecla, limpeza da tela, entre outros. (Em geral recomendamos não usar conio.h a menos que seja uma aplicação bem específica.)

 

  • Curtir 2

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