Código Programa C Cifrar un Número Entero

//Capítulo 4, Ejercicio 12 , Lenguaje C TEORIA Y EJERCICIOS,  Evelio Granizo

/*Escribir un programaque cifre los datos enteros de cuatro dígitos.
El programa debe leer un entero de cuatro dígitos y cifrarlo como sigue: remplazar cada dígito por el resultado de sumarle 7 y determinar su residuo de 10. A continuación intercambiar el primer dígito con el tercero, y el segundocon el cuarto. Por último, imprimir el entero cifrado.
El programa debe introducir un entero de cuatro dígitos, y luego decifralo para formar el número original.*/

#include <iostream.h> //librería
#include <conio.h> //librería
void main()
{
 //declaración de variables
 int num, d1, d2, d3, d4, aux;

 //validación de ingreso de datos
 do
 {
  cout<<"INGRESE UN NUMERO ENTERO DE 4 DIGITOS: ";
  cin>>num;
 
  //muestra si esta mal ingresado dato
  if((num<1000)| (num>9999))
   cout<<"UN DATO FUE INGRESADO INCORRECTAMENTE"<<endl;
 }
 while((num<1000)| (num>9999));
 
 //separa el número entero a digitos
 d4=num%10;
 num=num/10;
 d3=num%10;
 num=num/10;
 d2=num%10;
 num=num/10;
 d1=num%10;

 //cifrar cada digito
 d1=(d1+7)%10;
 d2=(d2+7)%10;
 d3=(d3+7)%10;
 d4=(d4+7)%10;

 //cambio de digitos
 aux=d1;
 d1=d3;
 d3=aux;
 aux=d2;
 d2=d4;
 d4=aux;

 //imprime numero cifrado
 cout<<endl<<"EL NUMERO CIFRADO ES:"<<endl;
 cout<<d1<<d2<<d3<<d4<<endl;

 //decifrar numero
 //cambio de digitos
 aux=d1;
 d1=d3;
 d3=aux;
 aux=d2;
 d2=d4;
 d4=aux;

 //cifrar cada digito
 if((d1==8)|(d1==9))
  d1=d1-7;
 else
  d1=(10+d1)-7;
 if((d2==8)|(d2==9))
  d2=d2-7;
 else
  d2=(10+d2)-7;
 if((d3==8)|(d3==9))
  d3=d3-7;
 else
  d3=(10+d3)-7;
 if((d4==8)|(d4==9))
  d4=d4-7;
 else
  d4=(10+d4)-7;

 //imprime numero cifrado
 cout<<endl<<"EL NUMERO ORIGINAL ES:"<<endl;
 cout<<d1<<d2<<d3<<d4<<endl;
 getch();
}

2 comentarios:

  1. como resolver estos ejercicios en C++ :

    1. El usuario ingresa 4 números enteros, determinar cual es el mayor de los 4 números enteros.

    2. Determinar si un número ingresado por el usuario es divisible por 2 y 3.

    ResponderEliminar
  2. SOLUCIONAR EJERCICIOS EN C++.

    1. EL USUARIO INGRESA CUATRO (4) NÚMEROS ENTEROS, DETERMINAR CUAL ES EL MAYOR DE LOS CUATRO (4) NÚMEROS ENTEROS.

    ResponderEliminar