Duvida linguagem C CODIGO de impressao de numero na tela em forma de dezena

2 respostas
c
M
#include<stdio.h>

#include<stdlib.h>

int main (){
int num1, num2, num3, num4;
	printf("   \n ******** PRIMEIRA ETAPA DA TRANCA ********* \n");
	printf("   \n Informe o primeiro segredo:  \n\n  "); 
	scanf("%d",&num1);       
	while (num1 != 18 ) 
	{       
		printf("\n Primeiro segredo Invalido. Digite novamente: ");       
		scanf("%d",&num1);
	}
	printf("   \n ******** SEGUNDA ETAPA DA TRANCA ********* \n");
	printf("   \n Informe o segundo segredo:  \n\n  ");
	gets("%d",&num2);  
	while( num2 != 05 )

Pessoal,
tenho esse código parcial que estou construindo. Ao informar código do segundo segredo , ele não poderá aceitar apenas o numeral 5 mas como está descrito na leitura acima ( 05 ). Como faço para criar esse bloqueio de apenas um numeral ? O código deverá ser destravado através da impressão de dezenas mesmo que haja 0 a esquerda.

2 Respostas

J

5 e 05 matemáticamente são a mesma coisa, para fazer essa distinção deve trata-lo com String. Em vez de ler um inteiro leia uma string, scan("%s",&num1) e faça a comparação. Lembrando que a sua variável num2 de ser do tipo apropriado!

W

É bom só ficar atento porque literais que começam com 0, o C considera como sendo de base 8.

Criado 10 de junho de 2020
Ultima resposta 11 de jun. de 2020
Respostas 2
Participantes 3