Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ironserch en 19 Septiembre 2014, 01:56 am



Título: Dudas programación en C
Publicado por: ironserch en 19 Septiembre 2014, 01:56 am
Hola amigos, necesito escribir un programa C sin utilizar estructuras de control (sentencia if):

El programa deberá leer un numero entero n (de tres cifras) y muestre en pantalla el valor 1 (CIERTO) en los casos siguientes y 0 (FALSO) en sus contradicciones:

  • Si n es par
  • Si n es capicua
  • Si la segunda y la primera cifra de n son iguales
  • Si las tres cifras tienen el valor 3
  • Si n es múltiplo de 5
  • Si n es positivo
  • Si n esta entre 100 y 888, ambos valores inclusive
  • Si n esta entre 100 y 888, sin incluir estos valores

En un principio el codigo que estoy creando es:


Código
  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5.    int num1, num2, num3;
  6.  
  7.    /*  num1 = centenas
  8.         num2 = decenas
  9.         num3 = unidades
  10.     */
  11.  
  12.    int numero;
  13.  
  14.    printf("\n\nIntroducir el numero de las centenas: ");
  15.    scanf("%d", &num1);
  16.    printf("\n\nIntroducir el numero de las decenas: ");
  17.    scanf("%d", &num2);
  18.    printf("\n\nIntroducir el numero de las unidades: ");
  19.    scanf("%d", &num3);
  20.  
  21.    printf("\n\nEl numero introducido es: %d", numero=num1*100+num2*10+num3);
  22.  
  23.    printf("\n\nEs par el numero? (1=SI y 0=NO)");
  24.    printf("\n\n%d", numero%2==0);
  25.  
  26.    printf("\n\nEs capicua el numero? (1=SI y 0=NO)");
  27.    printf("\n\n%d", num1==num3);
  28.  
  29.    printf("\n\nLa segunda y la primera cifra son iguales? (1=SI y 0=NO)");
  30.    printf("\n\n%d", num1==num2);
  31.  
  32.    printf("\n\nLas tres cifras tienen el valor 3? (1=SI y 0=NO)");
  33.    printf("\n\n%d",num1==3 && num2==3 && num3==3);
  34.  
  35.    printf("\n\nEl numero es multiplo de 5? (1=SI y 0=NO)");
  36.    printf("\n\n%d", numero%5==0);
  37.  
  38.    printf("\n\nEl numero es positivo? (1=SI y 0=NO)");
  39.    printf("\n\n%d", numero>0);
  40. }


Muchas gracias de ante mano.


Título: Re: Dudas programación en C
Publicado por: rir3760 en 19 Septiembre 2014, 04:09 am
Salvo la definición de la función main (debería ser "int main(void) ...") y el uso de tantos avances de linea el programa esta bien.

¿Cual es tu duda?

Un saludo


Título: Re: Dudas programación en C
Publicado por: ironserch en 21 Septiembre 2014, 02:33 am
Mi duda es que tengo que meter un numero de 3 cifras pero a cada cifra le asigno una variable. Mi pregunta seria si se podría hacer con sola una única variable y no con 3 como estoy utilizando.


Título: Re: Dudas programación en C
Publicado por: kaiserr en 21 Septiembre 2014, 02:57 am
Si que se puede.
Al usuario le pides que introduzca un numero y lo guardas en una variable. Despues tendras que "tratar" ese numero para sacar las centenas, decenas y unidades.

Por ejemplo tenemos el numero, Num:
centenas --> Num/100
decenas --> (Num%100)/10
unidades --> (Num%100)%10