Ir ao conteúdo
  • Cadastre-se
JuuzoO_O

C++ Exercicío de programação em c++

Posts recomendados

Olá a todos,

 

Eu estou desenvolvendo um código porém uma parte dele esta muito longa...

Minha duvida é, se teria alguma forma de escrever este trexo mais "fácil".

if (na1 >= 1 and na2 >=1 and na3 >= 1 and na4 >= 1 and na5 >= 1 and na6 >= 1 and na1 <= 99 and na2 <= 99 and na3 <= 99 and na4 <= 99 and na5 <= 99 and na6 <= 99 and ns1 >= 1 and ns2 >= 1 and ns3 >= 1 and ns4 >= 1 and ns5 >= 1 and ns6 >= 1 and ns1 <= 99 and ns2 <= 99 and ns3 <= 99 and ns4 <= 99 and ns5 <= 99 and ns6 <= 99){}

 

-----------------------

Eu gostaria que o usuário somente possa inserir números entre 1 e 99.

 

Obrigada

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem seis valores e quer que os 6 estejam nesse intervalo e tem muitos modos de escrever isso.

 

A primeira coisa que precisa considerar é testar depois de ter os 6 disponíveis. Muitas vezes o fato de um deles estar fora do intervalo já influencia na lógica do programa e não vale a pena esperar ter todos 6 para depois descobrir que o segundo não é válido.

 

De todo modo talvez pude agrupar os tais na em um vetor, como

int na[6];

e assim poderia testar usando um loop e um índice como em:

	int i = 0;
	int na[6] = { 1,2,3,4,500,6 };
	for (i = 0; i < 6; i = i + 1)
	{
		if ((na[i] >= 1) && (na[i] <= 99)) continue;
		printf("indice %i fora dos limites: (%d)\n", i+1, na[i]);
		i = -1;
		break;
	};
	if ( i != -1 )	printf("indices ok\n");
	na[4] = 5;
	for (i = 0; i < 6; i = i + 1)
	{
		if ((na[i] >= 1) && (na[i] <= 99)) continue;
		printf("indice %i fora dos limites: (%d)\n", i + 1, na[i]);
		i = -1;
		break;
	};
	if (i != -1)	printf("indices ok\n");

que faz duas vezes a mesma coisa e mostra

indice 5 fora dos limites: (500)
indices ok

Adapte algo assim para seu programa e vai ficar bem

 

Atente para esse trecho que é o que quer fazer:

	int na[6] = { 1,2,3,4,500,6 };
	for (i = 0; i < 6; i = i + 1)
	{
		if ((na[i] >= 1) && (na[i] <= 99)) continue;
		printf("indice %i fora dos limites: (%d)\n", i+1, na[i]);
		i = -1;
		break;
	};

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Como assim não estudou loop e matrizes antes desse exercício.

 

 

Só pode ser pegadinha.

🤣

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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...

hardware-hacking.jpg

Aprenda a hackear dispositivos de hardware!

CLIQUE AQUI E CONFIRA AGORA MESMO!