Sei sulla pagina 1di 6

No te preocupes, se que no es taringa, de todas maneras pude resolver algunos, y los subo por

si depronto le pueden sevir de ayuda a alguien.

1. Un banco ha solicitado se diseñe un programa que permita cifrar la información de las


contraseñas (4 números ) digitada por teclado (como un único numero) hasta el servidor
principal, utilizando el siguiente criterio, el primer número se envía de ultimo, el segundo, de
penúltimo, el tercer numero pasa a la segunda posición, el último pasa a ser primero: ejemplo
Ejemplo: Sea 7458, se debe enviar como 8547

//Punto 1: Encriptacion de contraseña de 4 digitos

#include <iostream>
using namespace std;

int main()
{

int a;
char cont[100];

Ingresar:
cout << "Digite la clave de cuatro digitos: "; cin >> a;

itoa (a,cont,10);
int lcont = strlen(cont);

if (lcont==4)
{

int n1 = a/1000;
int n2 = a/100 - n1*10;
int n3 = a/10 - (n1*100 + n2*10);
int n4 = a - (n1*1000 + n2*100 + n3*10);

int crip = n4*1000 + n3*100 + n2*10 + n1;

cout << "La clave sera enviada como: " << crip <<endl;
}
else
{
cout <<endl<<"La clave debe tener de 4 digitos"<<endl;
goto Ingresar;
}

cin.get();
cin.get();
return 0;

2. Escribir un programa para calcular la fecha del siguiente día a partir de una fecha
digitada desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (tenga en cuenta los
años bisiestos.)

#include <iostream> //
using namespace std;
int main() //
{
int dd;
int mm;
int aaaa;
int bis;
int ddmax;

cout << "Introduzca fecha a continuacion "<<endl;


Ingresar1:
cout <<endl<< "Introduzca dia (dd): ";
cin >> dd;
cout << "Introduzca mes (mm): ";
cin >> mm;
cout << "Introduzca año (aaaa): ";
cin >> aaaa;

// verificar si el año es Bisiesto


if ((aaaa%4 == 0 && aaaa%100 != 0)||aaaa%400==0)
bis = 2;
else
bis = 1;

//Verificar si la fecha que se ingreso es valida


if ((mm==1||mm==3||mm==5||mm==7||mm
==8||mm==10||mm==12)&&(dd>31)||mm>12)
{
cout<<endl<<"La fecha es invalida";
goto Ingresar1;
}
if ((mm==4||mm==6||mm==9||mm==11)&&(dd>30)||mm>12)
{
cout<<endl<<"La fecha es invalida";
goto Ingresar1;
}
if (((mm==2)&&(bis==2))&&(dd>29)||mm>12)
{
cout<<endl<<"La fecha es invalida";
goto Ingresar1;
}

if (((mm==2)&&(bis==1))&&(dd>28)||mm>12)
{
cout<<endl<<"La fecha es invalida";
goto Ingresar1;
}

// Verifica cual es el maximo de dias de cada mes


if (mm==1||mm==3||mm==5||mm==7||mm ==8||mm==10||mm==12)
ddmax = 31;
if (mm==4||mm==6||mm==9||mm==11)
ddmax = 30;
if ((mm==2)&&(bis==2))
ddmax = 29;
if ((mm==2)&&(bis==1))
ddmax = 28;
// Cualquier dia distinto a fin de mes o año
if (dd < ddmax)
{
dd = dd + 1;
mm = mm;
aaaa = aaaa;
goto fin;
}

// Verifica si es el ultimo dia del año


if (dd == ddmax && mm == 12)
{
dd = 01;
mm = 01;
aaaa = aaaa + 1;
goto fin;
}

// Verifica si es el ultimo dia de un mes


if (dd == ddmax && mm != 12)
{
dd = 01;
mm = mm + 1;
aaaa = aaaa;
goto fin;
}

fin:
cout <<endl<<endl<<"La Fecha del dia siguiente es:"<<endl;
cout <<" Dia: "<< dd << " Mes: " << mm << " Año: "<<aaaa;

cin.get();
cin.get();
}

3. Se lee un número de máximo tres dígitos (verifique que efectivamente sea de máximo
tres dígitos) y se debe determinar si es un número capicúa, es decir, que leído de
izquierda a derecha es igual que leído de derecha a izquierda. Por ejemplo: 727, 343, etc.

#include <iostream>
using namespace std;

int main()
{

int a;
char ca[100];

Ingres:
cout << "Digite un numero de 3 digitos: "; cin >> ca;

int lnumc = strlen(ca);


a = atoi(ca);

if (lnumc==3)
{
int n1 = a/100;
int n2 = a/10 - n1*10;
int n3 = a - (n1*100 + n2*10);

int ni = n3*100 + n2*10 + n1;

if (ni-a == 0)
cout << "El numero es capicua"<<endl;
else
cout << "El numero no es capicua"<<endl;
}
else
{
cout <<endl<< "El numero debe tener 3 digitos"<<endl;
goto Ingres;
}

cin.get();
cin.get();
return 0;

4. En una organización se tiene a los empleados agrupados por categoría, los de


categoría 1 ganan $20.000, los de categoría 2, $15.000, los de categoría 3, $10.000 y los de
categoría 4, $7.500. Se quiere un algoritmo que permita determinar cuanto debe pagarse a un
empleado si se conoce el número de horas que trabajó durante el mes y la categoría a la que
pertenece. Se sabe que a todos se les descuenta un 7.2%
por concepto de salud, y si el salario total devengado (mensual) es menos de 1´000.0
00, se le da un subsidio del 15% sobre su salario mensual (sin descuentos).

#include <iostream>
using namespace std;

int main()
{

int categoria;
double sph;
int horas;

Opcion:

cout << "1- Categoria 1 "<<endl;


cout << "2- Categoria 2 "<<endl;
cout << "3- Categoria 3 "<<endl;
cout << "4- Categoria 4 "<<endl;

cout <<endl<< "DIGITE UNA OPCION: ";

cin >> categoria;

switch (categoria)
{
case 1: sph = 20000;break;
case 2: sph = 15000;break;
case 3: sph = 10000;break;
case 4: sph = 7500;break;
default:
cout <<endl<< "No es una categoria valida "<<endl;
goto Opcion;
}

cout << "Ingrese el numero de horas trabajadas por el empleado: ";


cin >> horas;

double salario = double(sph*horas) - double(0.072*(sph*horas));

if (salario<1000000)
salario = salario + 0.15*(sph*horas);

cout <<endl<< "El pago al empleado debe ser: "<<salario;


cin.get();
cin.get();
}

5. Elabore un programa que tenga cuatro niveles de seguridad (documéntese sobre


niveles de seguridad) para un programa, si el usuario logra ingresar imprimir el
mensaje "Bienvenido", en caso contrario imprimir "Error clave" y el nivel del error.

#include <iostream>
#include <math.h>
#include <stdio.h>
#include <conio.h>
using namespace std;

int main()
{
char ca [100];
int ct;
int ct1;
int sw = 0;
int cont = 0;

cout<<endl<<"Guardar una contraseña: ";


cin>>ca;

ct = atoi(ca);
int lcont = strlen(ca);
cout<<"Tiene 4 intentos despues se bloquera su cuenta";
while (sw == 0)
{

cout<<endl<<"Ingrese contraseña: ";


cin>>ct1;

if (ct==ct1)
{
sw=1;
cout<<endl<<"------ BIENVENIDO ------";
}
else
{
cont = cont + 1;
cout<<endl<<"Intento No : "<<cont<<endl;
cout<<endl<<"Error en la contraseña : ";

if (cont == 3)
{
cout<<endl<<"Ultima oportunidad de ingresar contraseña correcta: "<<endl;
}

if (cont == 4)
{
cout<<endl<<"ERROR nivel de error: "<<cont;
cout<<endl<<"Su cuenta ha sido bloqueada por seguridad ";
sw=1;
}
}

cin.get();
cin.get();
}

Potrebbero piacerti anche