Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia estou fazendo um conversor de binário já fiz converter, o ponto é que gostaria de saber como fazer para deixar inserir só números inteiros e positivos e como faço para por varias casas decimais só consigo colorar 10 casas.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "Portuguese");
int a;
char b[1000000];
printf("Digite um numero: ");
scanf("%d",&a);
itoa(a,b,2); //Converte para base 2
printf("\nO numero %d em binario é: %s",a);
getch();
return 0;
}
este ate agora é o programa.>
Em 24/03/2017 at 16:32, Brendakaroliny disse:
Aprendi assim e facilita muito minha vida rs, se quiser tirar o leInt e colocar no leValidaInt ou colocar dentro do main.
#define MIN 1
#define MAX 100
int main() {
qtdNum= leValidaInt("Informe a quantidade de números :,"Quantidade Inavalida!!", MIN, MAX);
return 0;
}
// Objetivo: Le numero inteiro
// Parâmetros: endereco de memoria da string mensagem
// Retorna: numero inteiro
int leInt(char msn[]){
int ret = 0,valor;
do
{
printf(msn);
fflush(stdin);
ret = scanf("%d", &valor);
fflush(stdin);
if(ret == 0)
{
printf("Erro ao ler o numero.\n");
getch();
system("cls");
}
}while(ret == 0);
return valor;
}
// Objetivo: Le e validar numero inteiro
// Parâmetros: endereco de memoria da string mensagem e mensagem de erro
// valor minimo e valor maximo.
// Retorna: numero inteiro
int leValidaInt(char msn[], char msnErro[], int valorMin, int valorMax){
int valor;
do
{
valor =leInt(msn);
if(valor < valorMin || valor > valorMax)
{
printf(msnErro);
getch();
system("cls");
}
}while(valor < valorMin || valor > valorMax);
return valor;
}
nao consegui rodar seu programa, e ele faz conversão de bidecimal em binario?UP! ainda nao consegui resolver meu problema...
O problema está nesta linha:
O prolema está nesta linha:
printf("\nO numero %d em binario é: %s",a);
Faltou passar um parâmetro. Veja o correto:
printf("\nO numero %d em binario é: %s",a,b);
Código completo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "Portuguese");
int a;
char b[1000000];
printf("Digite um numero: ");
scanf("%d",&a);
itoa(a,b,2); //Converte para base 2
printf("\nO numero %d em binario é: %s",a,b);
getch();
return 0;
}
Aprendi assim e facilita muito minha vida rs, se quiser tirar o leInt e colocar no leValidaInt ou colocar dentro do main.
#define MIN 1
#define MAX 100
int main() {