:cowverine: ola amigos bakunos acudo a ustedes con un problema de logica ya que me puse a pensar y no encuentro mi error ojala me puedan ayudar.... lo que pasa es que ando comparando cuando un numero es entero o no. cuando pongo 9 hago 2 operaciones con este numero
1 es 9+1/2=5 y la otra es 9/2=4.5 en tonces 5 y 4.5 los comparo para ver cual es el entero y cual no. mi problema es cuando pongo 10 hago las mismas operaciones pero no me imprime bien cual es entero y cual no y en el primer caso si.
alguien puede ayudarme?
aki les dejo el codigo de mi programa
#include <stdio.h>
#include <stdlib.h>
using namespace std;
main()
{
int num,aux3,aux4;
float aux,aux2;
system("cls");
printf("ingrese un numero ");
scanf("%d",&num);
aux=num;
aux=(aux+1)/2;//caso 1
printf("%.1f\n",aux);
aux3=(int)aux;//convierte de flotante a entero para sacar modulo
aux2=num;
aux2=(aux2/2);//caso 2
printf("%.1f\n",aux2);
aux4=(int)aux2;//convierte de flotante a entero para sacar modulo
if (((aux3%2)==1) || ((aux4%2)==1))
{
printf("\nel 1er numero es entero\n");
}
if (((aux4%2)==0) || ((aux3%2)==0))
{
printf("\nel 2do numero es decimal\n");
}
system("pause");
}
1 es 9+1/2=5 y la otra es 9/2=4.5 en tonces 5 y 4.5 los comparo para ver cual es el entero y cual no. mi problema es cuando pongo 10 hago las mismas operaciones pero no me imprime bien cual es entero y cual no y en el primer caso si.
alguien puede ayudarme?
aki les dejo el codigo de mi programa
#include <stdio.h>
#include <stdlib.h>
using namespace std;
main()
{
int num,aux3,aux4;
float aux,aux2;
system("cls");
printf("ingrese un numero ");
scanf("%d",&num);
aux=num;
aux=(aux+1)/2;//caso 1
printf("%.1f\n",aux);
aux3=(int)aux;//convierte de flotante a entero para sacar modulo
aux2=num;
aux2=(aux2/2);//caso 2
printf("%.1f\n",aux2);
aux4=(int)aux2;//convierte de flotante a entero para sacar modulo
if (((aux3%2)==1) || ((aux4%2)==1))
{
printf("\nel 1er numero es entero\n");
}
if (((aux4%2)==0) || ((aux3%2)==0))
{
printf("\nel 2do numero es decimal\n");
}
system("pause");
}