You are on page 1of 18

1.

Un banco ha solicitado se disee un programa que permita encriptar la informacin de


las contraseas (4 nmeros ) digitada por teclado (como un nico numero) hasta el
servidor principal, utilizando el siguiente criterio, el primer numero se enva de ultimo,
el segundo, de penltimo, el tercer numero pasa a la segunda posicin, el ltimo pasa
a ser primero: ejemplo Ejemplo: Sea 7458, se debe enviar como 8547
#include <stdio.h>
#include <stdlib.h>
int a,b,c,d;
int main
{
printf("\ningrese el primer numero de su contrasea");
scanf("%d",&a);
printf("\ningrese el segundo numero de su contrasea");
scanf("%d",&b);
printf("\ningrese el tercero numero de su contrasea");
scanf("%d",&c);
printf("\ningrese el cuarto numero de su contrasea");
scanf("%d",&d);
printf("\nencriptando contrasea");
printf("\nsu contrasea es:\t",d,c,b,a);
syatem("pause");
return 0;

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

#include<iostream>
using namespace std;

int main()
{
int d, m, a, dm, t, i;

cout << "Ingrese fecha (dd mm aa): "; // aos de dos digitos
cin >> d >> m >> a;

t = 365 * a + ( a - 1 ) / 4; /* dias hasta el anno anterior
desde 1900 (ej. 1903,incluye
el anno 1900, 1901, 1902: 3
annos ).
y un dia por cada anno bisiesto,
hasta el anno anterior (ej.
1915, hasta el 14 tenemos: 1904,
1908, 1912 o sea 14/4 = 3. */

for( i = 1; i<m; t += dm, i++ ) //dias hasta el mes anterior
switch(i)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12: dm = 31;
break;
case 4 :
case 6 :
case 9 :
case 11: dm = 30;
break;
case 2 : if( a > 0 && a % 4 == 0 )
dm = 29;
else
dm = 28;
}

t+=d; //dias hasta la fecha

t%=7; /*dias que sobran despues de reducir las semanas
si 1 de enero fue lunes, el 7 del mismo mes
(t%7 == 0) sera domingo */

switch ( t )
{
case 0: cout << "Domingo\n";
break;
case 1: cout << "Lunes\n";
break;
case 2: cout << "Martes\n";
break;
case 3: cout << "Miercoles\n";
break;
case 4: cout << "Jueves\n";
break;
case 5: cout << "Viernes\n";
break;
case 6: cout << "Sabado\n";
break;
}
cin.ignore();
cin.get();
return 0;

3. Se lee un nmero de mximo tres dgitos (verifique que efectivamente sea de
mximo tres dgitos) y se debe determinar si es un nmero capica, es decir, que
ledo de izquierda a derecha es igual que ledo de derecha a izquierda. Por ejemplo:
727, 343, etc.

#include "iostream.h"
#include "conio.h"
#include "math.h"

// Retorna la cantidad de digitos que tiene un numero
int numeroDigitos(int numero)
{
int i=1;

while(numero/10!=0)
{
numero=numero/10;
i++;
}

return i;
}

/* Si "pos" es una poscion invalida, retorna -1, sino
Retorna el digito de la posicion "pos" de un numero */

int obtenerDigito(int numero, int pos)
{
int numDigitos, i, digito;

// Obtenemos el numero de digitos de un numero
numDigitos=numeroDigitos(numero);

// Verificamos si "pos" es una posicion invalida
if(pos<=0 || pos>numDigitos)
digito=-1;
else
{
i=1;

// i llegara hasta el numero de divisiones efectivas para obtener el digito
while(i<=numDigitos-pos)
{
numero=numero/10;
i++;
}

digito=numero%10;
}

return digito;
}

// Determina si un numero es capicua
bool esCapicua(int numero)
{
bool esCapicua=true;
int numDigitos, medio, i, numero1, numero2;

// Obtenemos el numero de digitos de un numero
numDigitos=numeroDigitos(numero);
medio=numDigitos/2;
i=1;

/* el indice i se detendra hasta llegue a "medio" o hasta que
ya se halla determinado que esCapicua es false */
while(i<=medio&&esCapicua)
{
/* numero1 y numero2 seran detrminados tomando los extremos del subnumero
segun el indice i */
numero1=obtenerDigito(numero,i);
numero2=obtenerDigito(numero,numDigitos-i+1);

// Comparamos si los dos numeros son diferentes
if(numero1!=numero2)
esCapicua=false;

i++;
}

return esCapicua;
}

int main()
{
int numero;

cout<<"Ingrese numero: "<<endl;
cin>>numero;

if(esCapicua(numero))
cout<<"SI es Capicua";
else
cout<<"NO es Capicua";

cout<<endl;
system("PAUSE");

return 0;

4. En una organizacin se tiene a los empleados agrupados por categora, los de
categora 1 ganan $20.000, los de categora 2, $15.000, los de categora 3, $10.000 y
los de categora 4, $7.500. Se quiere un algoritmo que permita determinar cuanto
debe pagarse a un empleado si se conoce el nmero de horas que trabaj durante el
mes y la categora 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.000, se le da un subsidio del 15% sobre su salario mensual (sin descuentos).


#include<stdio.h>
#include<stdlib.h>
#define DE 7.2
int hora,phora,sueldo,des,sub,ca;
int main()
{
printf("\ningrese numero de horas que trabaja");
scanf("%d",&hora);
printf("\ningreae la categoria a la que pertenece");
printf("\nmarque 1 categoria 1");
printf("\nmarque 2 categoria 2");
printf("\nmarque 3 categoria 3");
printf("\nmarque 4 categoria 4");
scanf("%d",&ca);
if(ca==1)
{
des=(sueldo*DE)/100;
sueldo=(hora*20000)-des;
if(sueldo<1000000)
{
sub=(15*sueldo)/100;
sueldo=sueldo+sub;
printf("su sueldo es:%d",sueldo);
}
}
if(ca==2)
{
des=(sueldo*DE)/100;
sueldo=(hora*15000)-des;
if(sueldo<1000000)
{
sub=(15*sueldo)/100;
sueldo=sueldo+sub;
printf("su sueldo es:%d",sueldo);
}

}
if (ca==3)
{
des=(sueldo*DE)/100;
sueldo=(hora*10000)-des;
if(sueldo<1000000)
{
sub=(15*sueldo)/100;
sueldo=sueldo+sub;
printf("su sueldo es:%d",sueldo);
}
}
if (ca==4)
{
des=(sueldo*DE)/100;
sueldo=(hora*7500)-des;
if(sueldo<1000000)
{
sub=(15*sueldo)/100;
sueldo=sueldo+sub;
printf("su sueldo es:",sueldo);
}
}
system("pause");
return 0;
}
5. Elabore un programa que tenga cuatro niveles de seguridad (documntese 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
#include
#include
#include
using namespace std;
int main()
{
char ca [100];
int ct;
int ct1;
int sw = 0;
int cont = 0;
cout<<endl<<"por favor="" guardar="" tu="" contrasea:="" ";
cin>>ca;
ct = atoi(ca);
int lcont = strlen(ca);
Cout<<"Tienes 4 intentos de lo contrario despus se bloqueara tu cuenta";
While (sw == 0)
{Cout<<endl<<"por favor="" ingrese="" tu="" contrasea:="" ";
cin>>ct1;
if (ct==ct1)
{
sw=1;
cout<<endl<<"------eres bienvenido="" ------";
}
else
{
cont = cont + 1;
cout<<endl<<"intento no="" :="" "<<cont<
Cout<<endl<<"error esta="" no="" es="" tu="" contrasea:="" ";=""
}
If (cont == 3)
{
Cout<<endl<<" tienes="" tu="" ltima="" oportunidad="" de="" ingresar=""
contrasea="" correcta:="" "<<endl;
}
If (cont == 4)
{
Cout<<endl<<"error nivel="" de="" error:="" "<<cont;
Cout<<endl<<"por tu="" seguridad="" la="" cuenta="" ha="" sido=""
bloqueada="" ";
Sw=1;
}
}
cin.get ();
cin.get ();
}
</endl<<"por></endl<<"error></endl<<"></endl<<"error></endl<<"intento></en
dl<<"------eres></endl<<"por></endl<<"por>
6. Escriba un programa para calcular si un nmero es primo o no, recuerde que los
nmeros primos son aquellos que solo son divisibles por la unidad y por ellos mismos:
ejemplo 5, 11, 17
#include<stdio.h>
#include<stdlib.h>

int main()
{
long Num,divisor=2;
printf("\t Introducir el Numero = ");
scanf("%ld",&Num);
while(divisor<Num)
{ while( Num % divisor != 0)
divisor=divisor+1;
if(Num== divisor)
printf("t %ld es PRIMO n",Num);
else
printf("t%ld NO es PRIMO ,pues ES multiplo de %ld n",Num,divisor);
break;
}
system("pause");
return 0;
7. Lea los valores de los lados de un tringulo. Detecte y muestre un mensaje
correspondiente a su tipo (EQUILTERO, ISSCELES, O ESCALENO)


#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;
int a;
int b;
int c;
int main() {
cout<<"ingrese el lado a del triangulo"<<endl;
cin>>a;
cout<<"ingrese el lado b del triangulo"<<endl;
cin>>b;
cout<<"ingrese el ladoc del triangulo"<<endl;
cin>>c;
if (a==b && b==c) {
cout<<"tringulo equiltero"<<endl;
}
else
{
if (a==b || b==c || a==c) {
cout<<" tringulo isoceles"<<endl;
}
else {
cout<<"tringulo escaleno"<<endl;
}
}
system("pause");
return 0;
}


8. Desarrolle un programa que permita seleccionar personal para un empleo de un
total de N aspirantes. Los aspirantes deben cumplir las siguientes condiciones para ser
aceptados:

Mayores de edad Ser
ingeniero titulado Tener
experiencia laboral
Al final el programa debe mostrar el total de aspirantes aceptados

#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;

int main()
{
float suma=0;
float ac;
float i=0;
int n;
float I;
int e;
int g;
int j;
int APIRANTES[200];
ac=0;
i=0;
cout<<"ingrse la cantidad de empleados que va a entrvistar"<<endl;
cin>>n;
for (i=1;i<=n;i++) {
cout<<"empeado"<<i<<endl;
cout<<" Es mayor de edad?"<<endl;
cout<<"si=1 no=2"<<endl;
cin>>e;
cout<<"ingeniero titulado?"<<endl;
cout<<"si=1 no=2"<<endl;
cin>>g;
cout<<"etiene experiencia laboral?"<<endl;
cout<<"si=1 no=2"<<endl;
cin>>j;
if (e==1 && g==1 && j==1) {
ac=suma+i;
}
}
cout<<"el numero de empleados aceptados es:"<<ac<<endl;
system("pause");
return 0;
}



9. Elaborar un programa que convierta un nmero entero positivo, menor a 257 a
sistema binario

#include <stdio.h>
#include <conio.h>
#include<stdlib.h>
main()
{
float a[16];
int ne,x,swi;
printf("Este progrograma esta diseado para convertir un numero entero positivo
decimal a binario.");
printf("\n\nPara continuar con el programa presione ENTER");
getch();
intonum:
printf("Introduzca el numero entero positivo que desea convertir a binario:");
scanf("%i",&ne);
if(ne<0)
{
err:
printf("Ha introducido un numero negativo, si desea intentar nuevamente presione 1 o
si desea salir del programa presione 2\n");
scanf("%i",&swi);
if(swi==1)
{
printf("\n");
goto intonum;
}
else
if(swi==2)
{
printf("fin");
}
else
{
printf("Error de entrada");
goto err;
}
}
else
{
for(x=15;x>=0;x=x-1)
{
if(ne<257)
{
a[x]=ne%2;
}
else
{
a[x]=0;
}
ne=ne/2;
}
for(x=0;x<=15;x++)
{
printf("%.0f",a[x]);
}
}
system("pause");
return 0;
}

10. Dada tu fecha de nacimiento (mes, da, ao) indicar cuantos das (exactos) han
transcurrido desde ese ao.


#include<stdio.h>
#include<stdlib.h>
int dia;
int mes;
int ano;
int cad;
int cad1;
int main()
{
printf("\ningrese el numero del dia de nacimiento");
scanf("%d",&dia);
printf("\ningrese el numero del mes de nacimiento");
printf("\nenero=1");
printf("\nfebrero=2");
printf("\nmarzo=3");
printf("\nabril=4");
printf("\nmayo=5");
printf("\njunio=6");
printf("\njulio=7");
printf("\nagosto=8");
printf("\nseptiembre=9");
printf("\noctubre=10");
printf("\nnobiembre=11");
printf("\ndiciembre=12");
scanf("%d",&mes);
printf("\ningrese el numero del ao completo de nacimiento");
scanf("%d",&ano);
if(mes==4||mes==6||mes==9||mes==11)
{
cad1=(30-dia)+(30*3)+(31*7)+(28);
cad=(2009-ano)*cad1;
printf("los dias vividos son:%d",cad);
}
else
{
if (mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)
cad1=(31-dia)+(30*4)+(31*6)+(28);
cad=(2009-ano)*cad1;
printf("los dias vividos son:%d",cad);
}
if(mes==2)
{
cad1=(28-dia)+(30*4)+(31*7);
cad=(2009-ano)*cad1;
printf("los dias vividos son:%d",cad);
}

system("pause");
return 0;
}

11. Elabore un programa que genere un nmero aleatorio y que les d la posibilidad a
dos jugadores de adivinar dicho nmero, el algoritmo debe pedir el nmero de
partidas, intercalar los turnos para adivinar, mostrar el ganador por partida y el
ganador final. El nmero debe estar entre 0-100. (Use la funcin random.)
#include <iostream>
#include <time.h>
using namespace std;

int main(void)
{
int p1 = 1, p2 = 1, partidas, n, m;
bool jug1 = true, jug2 = true, salir1 = false, salir2 = false;
cout << "Numero De Partidas: ";
cin >> partidas;
srand(time(NULL));
m = rand() % 101;
do
{
system("cls");
//cout << m; //Si Quieres Ver El Numero Al Ejecutar Borra Las Primeras
"//"
if (jug1 == true && salir1 == false)
{
cout << "\nJugador 1, Partida " << p1 << endl << endl;
cout << "Adivina EL Numero: ";
cin >> n;
if (n == m)
{
cout << "\nFelicidades Adivinaste!";
cin.get();
cin.get();
salir1 = true;
}
else
{
cout << "\nLo Siento Has Fallado!";
cin.get();
cin.get();
}
p1++;
if (salir2 == false) jug1 = false;
jug2 = true;
}
else if (jug2 == true && salir2 == false)
{
cout << "\nJugador 2, Partida " << p2 << endl << endl;
cout << "Adivina EL Numero: ";
cin >> n;
if (n == m)
{
cout << "\nFelicidades Adivinaste!";
cin.get();
cin.get();
salir2 = true;
}
else
{
cout << "\nLo Siento Has Fallado!";
cin.get();
cin.get();
}
p2++;
if (salir1 == false) jug2 = false;
jug1 = true;
}
if (salir1 == true && salir2 == true)
{
p1 = partidas + 2;
p2 = partidas + 2;
}
}while(p1 <= partidas || p2 <= partidas);
system("cls");
if (salir1 == true) cout << endl << "Jugador 1 Adivino" << endl << endl;
else cout << "Jugador 1 No Adivino" << endl << endl;
if (salir2 == true) cout << "Jugador 2 Adivino" << endl << endl;
else cout << "Jugador 2 No Adivino" << endl << endl;
system("pause");
return EXIT_SUCCESS;



12. Elabore un programa que lea las ventas de (n) nmero de vendedores, para los
productos (A, B, C, D y C), si los precios de los productos son ($1000, $2345, $3876, $1235
y $550) respectivamente, calcule el nmero individual y total de productos vendidos, las
ventas totales por producto, el promedio total de ventas, el producto mas vendido, el
menos vendido, el vendedor que ms ventas realiz


#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;

int main() {


int nipa=0;

float nipb;
float nipc;
float nipd;
float nipe;
float ntp;
float vtpa;
float vtpb;
float vtpc;
float vtpd;
float vtpe;
float ptv;
float pmv;
float pmev;
float vmv;
float a;
float suma;
int n;
float A;
int b;
int c;
int d;
int e;
int f;
int VENTAS[200];
nipb=0;
nipc=0;
nipd=0;
nipe=0;
ntp=0;
vtpa=0;
vtpb=0;
vtpc=0;
vtpd=0;
vtpe=0;
ptv=0;
pmv=0;
pmev=0;
vmv=0;
a=0;
suma=0;
cout<<"ingrese la cantidad de vendedores que va a nalizar"<<endl;
cin>>n;
for (a=1;a<=n;a++) {
cout<<"vendedor"<<a<<endl;
cout<<"cantidad del producto a vendida?"<<endl;
cin>>b;
cout<<"cantidad del producto b vendida?"<<endl;
cin>>c;
cout<<"cantidad del producto c vendida?"<<endl;
cin>>d;
cout<<"cantidad del producto d vendida?"<<endl;
cin>>e;
cout<<"cantidad del producto e vendida?"<<endl;
cin>>f;
nipa=suma+b;
nipb=suma+c;
nipc=suma+d;
nipd=suma+e;
nipe=suma+f;
ntp=suma+b+c+d+e+f;
vtpa=100*b;
vtpb=2345*c;
vtpc=3876*d;
vtpd=1235*e;
vtpe=550*f;
ptv=(vtpa+vtpb+vtpc+vtpd+vtpe)/5;
if (nipa>nipb && nipa>nipc && nipa>nipd && nipa>nipe) {
cout<<"el producto mas vendido es el a"<<endl;
} else {
if (nipb>nipa && nipb>nipc && nipb>nipd && nipb>nipe) {
cout<<"el producto mas vendido es el b"<<endl;
} else {
if (nipc>nipa && nipc>nipb && nipc>nipd && nipc>nipe) {
cout<<"el producto mas vendido es el c"<<endl;
} else {
if (nipd>nipa && nipd>nipb && nipd>nipc && nipd>nipe) {
cout<<"el producto mas vendido es el d"<<endl;
} else {
if (nipe>nipa && nipe>nipb && nipe>nipc && nipe>nipd) {
cout<<"el producto mas vendido es el e"<<endl;
}
}
}
}
}
if (nipa<nipb && nipa<nipc && nipa<nipd && nipa<nipe) {
cout<<"el producto menos vendido es el a"<<endl;
} else {
if (nipb<nipa && nipb<nipc && nipb<nipd && nipb<nipe) {
cout<<"el producto mas vendido es el b"<<endl;
} else {
if (nipc<nipa && nipc<nipb && nipc<nipd && nipc<nipe) {
cout<<"el producto mas vendido es el c"<<endl;
} else {
if (nipd<nipa && nipd<nipb && nipd<nipc && nipd<nipe) {
cout<<"el producto mas vendido es el d"<<endl;
} else {
if (nipe<nipa && nipe<nipb && nipe<nipc && nipe<nipd) {
cout<<"el producto mas vendido es el e"<<endl;
}
}
}
}
}
}
cout<<"el numero de productos a vendidos es:"<<nipa<<endl;
cout<<"el numero de productos b vendidos es:"<<nipb<<endl;
cout<<"el numero de productos c vendidos es:"<<nipc<<endl;
cout<<"el numero de productos d vendidos es:"<<nipd<<endl;
cout<<"el numero de productos e vendidos es:"<<nipe<<endl;
cout<<"el numero total de productos e vendidos es:"<<ntp<<endl;
cout<<"las ventas totales por producto a es:"<<vtpa<<endl;
cout<<"las ventas totales por producto b es:"<<vtpb<<endl;
cout<<"las ventas totales por producto c es:"<<vtpc<<endl;
cout<<"las ventas totales por producto d es:"<<vtpd<<endl;
cout<<"las ventas totales por producto e es:"<<vtpe<<endl;
cout<<"el promedio total de ventas es:"<<ptv<<endl;
system("pause");
return 0;
}


13. Desarrolle un programa que mediante la construccin de un men, permita la
utilizacin de por lo menos cinco (5), funciones de la librera math.h


#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;
#define SIN_TIPO float
float salir;
float n;
float x;
int opcion;
float r;
float f;
string primo;
float nu;
int main() {
salir=0;
cout<<"Ingresar Numero:"<<endl;
cin>>n;
do {
cout<<" "<<endl;
cout<<"Presione Enter para continuar"<<endl;
cin>>x;
cout<<"1 - Seno, Coseno, ArcoTangente"<<endl;
cout<<"2 - Lograritmo Natural, Funcion Exponencial"<<endl;
cout<<"3 - Truncar, Redondear"<<endl;
cout<<"4 - Raiz Cuadrada"<<endl;
cout<<"5 - Valor Absoluto"<<endl;
cout<<"6 - Separar parte entera y decimal"<<endl;
cout<<"7 - Hallar Factorial"<<endl;
cout<<"8 - Averiguar si es primo"<<endl;
cout<<"9 - Ingresar Otro Numero"<<endl;
cout<<" "<<endl;
cout<<"0 - para Salir"<<endl;
cout<<" "<<endl;
cin>>opcion;
switch (opcion) {
case 1:
cout<<"Seno:"<<sin(n)<<endl;
cout<<"Coseno:"<<cos(n)<<endl;
cout<<"ArcTangente:"<<atan(n)<<endl;
break;
case 2:
if (n<=0) {
cout<<"El numero debe ser mayor a cero!"<<endl;
}
else {
cout<<"Log Nat.:"<<log(n)<<endl;
cout<<"Func Expon.:"<<exp(n)<<endl;
}
break;
case 3:
cout<<"Turncar:"<<floor(n)<<endl;
cout<<"Redondear:"<<ceil(n+.5)<<endl;
break;
case 4:
cout<<"Raiz Cuad.:"<<sqrtf(n)<<endl;
break;
case 5:
cout<<"Valor Abs.:"<<abs(n)<<endl;
break;
case 6:
cout<<"Parte Entera:"<<floor(n)<<endl;
cout<<"Parte Decimal:"<<n-floor(n)<<endl;
break;
case 7:
if (n!=floor(n)) {
cout<<"El numero debe ser entero!"<<endl;
}
else {
if (abs(n)>50) {
cout<<"Resultado muy grande!"<<endl;
}
else {
r=1;
f=1;
while (f<=abs(n)) {
if (n<0)
{
r=(-f)*r;
}
else {
r=f*r;
}
f=f+1;
}
cout<<"Factorial:"<<r<<endl;
}
}
break;
case 8:
if (n!=floor(n)) {
cout<<"El numero debe ser entero!"<<endl;
}
else {
primo="Si";
if (n/2==floor(n/2)) {
primo="No";
}
if (n<0) {
nu=n*-1;
}
else {
nu=n;
}
nu=sqrtf(nu);
f=3;
while (f<=nu && primo=="Si") {
if (n/f==floor(n/f)) {
primo="No";
}
f=f+2;
}
cout<<"Numero Primo:"<<primo<<endl;
if (f==3) {
f=4;
}
if (primo=="No") {
cout<<n<<"="<<f-2<<"x"<<n/(f-2)<<endl;
}
}
break;
case 9:
cout<<"Ingrese Numero:"<<endl;
cin>>n;
break;
case 0:
salir=1;
break;
default:
cout<<"Opcion No Valida!"<<endl;
break;
}
}
while (salir==1);
system("pause");
return 0;
}

You might also like