Pessoal, eu fiz esse programa de acordo cm pedia um exercício encontra na Net. Porém, estou cm dificuldade de o usuário não digitar caracteres, pois o programa validaria somente os números inteiros maiores que 0(zero). Cheguei a criar uma variável char para armazenar qualquer dígito caractere e invalidar, até aki td bem, o problema que fica em Loop infinito mesmo retornando falso o While. O código fonte se encontra abaixo. Ps: esse não tá inserido para invalidar caracteres. O programa tb pode encontrar algumas falhinhas de principiante. Alguém poderia dar dicas de cm solucionar esse probleminha?
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main() {
int num[6],i,maior;
maior=0;
printf("# Numeros maiores que 0(zero). #\n");
printf("Valido somente com numeros.\n");
for(i=1;i<=6;i++) {
printf("Digite o numero maior que 0(zero).\n");
scanf("%d",&num);
if(num==0) {
break;
}
if(maior<num) {
maior=num;
}
if(num<0) {
while(num<0) {
printf("O numero não e valido. Por favor, insira outro numero.\n");
scanf("%d",&num);
}
if(num==0) {
break;
}
if(maior<num) {
maior=num;
}
}//end para o if
}//end para o for
printf("O maior numero e: %d\n",maior);
printf("Pressione uma tecla para sair do programa.\n");
Pergunta
Fruggerr
Pessoal, eu fiz esse programa de acordo cm pedia um exercício encontra na Net. Porém, estou cm dificuldade de o usuário não digitar caracteres, pois o programa validaria somente os números inteiros maiores que 0(zero). Cheguei a criar uma variável char para armazenar qualquer dígito caractere e invalidar, até aki td bem, o problema que fica em Loop infinito mesmo retornando falso o While. O código fonte se encontra abaixo. Ps: esse não tá inserido para invalidar caracteres. O programa tb pode encontrar algumas falhinhas de principiante. Alguém poderia dar dicas de cm solucionar esse probleminha?
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main() {
int num[6],i,maior;
maior=0;
printf("# Numeros maiores que 0(zero). #\n");
printf("Valido somente com numeros.\n");
for(i=1;i<=6;i++) {
printf("Digite o numero maior que 0(zero).\n");
scanf("%d",&num);
if(num==0) {
break;
}
if(maior<num) {
maior=num;
}
if(num<0) {
while(num<0) {
printf("O numero não e valido. Por favor, insira outro numero.\n");
scanf("%d",&num);
}
if(num==0) {
break;
}
if(maior<num) {
maior=num;
}
}//end para o if
}//end para o for
printf("O maior numero e: %d\n",maior);
printf("Pressione uma tecla para sair do programa.\n");
getch();
}
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.