practica 2

57
Practica Nº 2 UNMSM Erick Edson Pasache Lopera UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Curso: Algorítmica I Practica 2 Fecha:21 SETIEMBRE 2011 En la solución de los siguientes problemas considere: Análisis, construcción del algoritmo (diagrama de flujo y pseudocódigo), verificación del algoritmo o prueba de escritorio y codifique en C++. 1.- Calcular el pago semanal de un trabajador. Los datos a ingresar son: Total de horas trabajadas y el pago por hora. Si el total de horas trabajadas es mayor a 40 la diferencia se considera como horas extras y se paga un 50% más que una hora normal. Si el sueldo bruto es mayor a s/. 500.00, se descuenta un 10% en caso contrario el descuento es 0. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { cout<<endl; cout<<" PAGO DE PLANILLAS"; cout<<endl<<endl; int h,p,S,E,B,D; cout<<"Ingrese el pago por horas trabajadas: "; cin>>h; cout<<endl; cout<<"Ingrese el total de horas trabajadas en la semana: "; cin>>p; cout<<endl<<endl; S=p*h; if (40<h) Ing Civil 1 [email protected].

Upload: richard-luis-saavedra-mendoza

Post on 10-Dec-2014

93 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Curso: Algorítmica I Practica N° 2 Fecha:21 SETIEMBRE 2011En la solución de los siguientes problemas considere: Análisis, construcción del algoritmo (diagrama de flujo y pseudocódigo), verificación del algoritmo o prueba de escritorio y codifique en C++.

1.- Calcular el pago semanal de un trabajador. Los datos a ingresar son: Total de horas trabajadas y el pago por hora.

Si el total de horas trabajadas es mayor a 40 la diferencia se considera como horas extras y se paga un 50% más que una hora normal.Si el sueldo bruto es mayor a s/. 500.00, se descuenta un 10% en caso contrario el descuento es 0.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<endl; cout<<" PAGO DE PLANILLAS"; cout<<endl<<endl; int h,p,S,E,B,D; cout<<"Ingrese el pago por horas trabajadas: "; cin>>h; cout<<endl; cout<<"Ingrese el total de horas trabajadas en la semana: "; cin>>p; cout<<endl<<endl; S=p*h; if (40<h) {E=(h-40)*p*1.5; cout<<"Total de horas extra: "<<(h-40)<<endl<<endl; cout<<"Pago por horas extras: "<<E<<endl<<endl; B=S+E; cout<<"sueldo bruto: "<<B<<endl<<endl; if (B<=500) {D=0; cout<<"Descuentos por planilla: "<<D<<endl<<endl; cout<<"Total a cobrar: "<<B<<endl<<endl;} else {D=B*0.1;

Ing Civil 1 [email protected].

Page 2: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cout<<"Descuentos por planilla: "<<D<<endl<<endl; cout<<"Total a cobrar: "<<(B-D)<<endl<<endl; } } else {E=0; cout<<"Total de horas extra: "<<0<<endl<<endl; cout<<"Pago por horas extras: "<<E<<endl<<endl; B=S+E; cout<<"sueldo bruto: "<<B<<endl<<endl; if (B<=500) {D=0; cout<<"Descuentos por planilla: "<<D<<endl<<endl; cout<<"Total a cobrar: "<<B<<endl<<endl;} else {D=B*0.1; cout<<"Descuentos por planilla: "<<D<<endl<<endl; cout<<"Total a cobrar: "<<(B-D)<<endl<<endl; } } system("PAUSE"); return EXIT_SUCCESS;}

2.- A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000, por encima de 1000 hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. Calcular el descuento y sueldo neto que recibe el trabajador dado un sueldo,

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ int S; float A,B,C; cout<<" DESCUENTOS"; cout<<endl<<endl<<endl; cout<<"ingrese el suledo del trabajador: "; cin>>S; cout<<endl; if (S<=1000) {A=S*(0.1); cout<<"El descuento sera: "<<A<<endl;} else

Ing Civil 2 [email protected].

Page 3: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

{ if (1000<(S)<2000) {B=S*(0.1)+(S*(0.1))*0.05; cout<<"El descuento sera: "<<B<<endl;} else { if (2000<S) {C=S*(0.1)+(S*(0.1))*0.05+((S*0.1)*0.05)*0.03; cout<<"El descuento sera: "<<C<<endl;} } } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS;}

3.- Ordene de mayor a menor 3 números ingresados por teclado

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<endl; cout<<" ORDENANDO NUMEROS"; cout<<endl<<endl; int a,b,c; cout<<"Ingrese el Primer numero: "; cin>>a; cout<<endl; cout<<"Ingrese el Segundo numero: "; cin>>b; cout<<endl; cout<<"Ingrese el Tercer numero: "; cin>>c; cout<<endl; if ((a>b) && (b>c)) {cout<<"El orden sera: "<<a<<" ; "<<b<<" ; "<<c<<endl;} if ((a>c) && (c>b)) {cout<<"El orden sera: "<<a<<" ; "<<c<<" ; "<<b<<endl;} if ((c>b) && (b>a)) {cout<<"El orden sera: "<<c<<" ; "<<b<<" ; "<<a<<endl;} if ((c>a) && (a>b)) {cout<<"El orden sera: "<<c<<" ; "<<a<<" ; "<<b<<endl;}

Ing Civil 3 [email protected].

Page 4: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

if ((b>a) && (a>c)) {cout<<"El orden sera: "<<b<<" ; "<<a<<" ; "<<c<<endl;} if ((b>c) && (c>a)) {cout<<"El orden sera: "<<b<<" ; "<<c<<" ; "<<a<<endl;} system("PAUSE"); return EXIT_SUCCESS;}

4.- Dado un tiempo en minutos, calcular los días, horas y minutos que le corresponden.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<"convertidor de tiempo"<<endl; int m; float h,d; cout<<" Ingresar el tiempo en minutos: "; cin>>m; h=m/60; d=h/24; cout<<" Ingresar el tiempo en minutos: "<<m<<" minutos "<<endl; cout<<" Ingresar el tiempo en horas: "<<h<<" horas "<<endl; cout<<" Ingresar el tiempo en dias: "<<d<<" dias "<<endl; system("PAUSE"); return EXIT_SUCCESS;}

5.- Dados tres datos enteros positivos, que representen las longitudes de un posible triangulo, determine si los datos corresponden a un triangulo. En caso afirmativo, escriba si el triangulo es equilátero, isósceles o escaleno. Calcule además su área.

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

Ing Civil 4 [email protected].

Page 5: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

int main(int argc, char *argv[]){ cout<<"triangulos"; int a,b,c; float P,A; cout<<endl<<endl; cout<<"Ingrese el primer lado: "; cin>>a; cout<<"Ingrese el segundo lado: "; cin>>b; cout<<"Ingrese el tercer lado lado: "; cin>>c; P=(a+b+c)/2; A=pow(P*(P-a)*(P-b)*(P-c),0.5); if (abs(a-b)<c && c<(a+b)) {if(a==b&&a==c&&b==c) {cout<<"El triangulo es equilatero"<<endl; cout<<"El area es: "<<A<<endl;} else { if (a==b||a==c||b==c) {cout<<"El triangulo es Isosceles"<<endl; cout<<"El area es: "<<A<<endl;} else {cout<<"El triangulo es Escaleno"<<endl; cout<<"El area es: "<<A<<endl;} } } else cout<<"El triangulo no existe"<<endl; system("PAUSE"); return EXIT_SUCCESS;}

6.- Dada la hora del día en horas, minutos y segundos encuentre la hora del siguiente segundo.

#include <cstdlib>#include <iostream>

Ing Civil 5 [email protected].

Page 6: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

using namespace std;

int main(int argc, char *argv[]){ float h,m,s,a,b,c; cout<<" ¿Cual hora del siguiente segundo?"<<endl; cout<<"Ingrese el numero de horas: "; cin>>h; cout<<"Ingrese el numero de minutos: "; cin>>m; cout<<"Ingrese el numero de segundo: "; cin>>s; if(m<59){ a=s+1; cout<<"La hora es: "<<h<<":"<<m<<":"<<a; cout<<endl; } if(m==59){ if(m==59){ b=h+1; cout<<"La hora es: "<<b<<":00:00"; cout<<endl; } else{ c=m+1; cout<<"La hora es: "<<h<<":"<<c<<":00"; cout<<endl; } } system("PAUSE"); return EXIT_SUCCESS;}

7.- Una compañía de alquiler de autos emite la factura de sus clientes teniendo en cuenta la distancia recorrida, si la distancia no rebasa los 300 km., se cobra una tarifa fija de S/.250, si la distancia recorrida es mayor a 300 km. y hasta 1000 km. Se cobra la tarifa fija más el exceso de kilómetros a razón de S/.30 por km. y si la distancia recorrida es mayor a 1000 km., la compañía cobra la tarifa fija más los kms. recorridos entre 300 y 1000 a razón de S/. 30, y S/.20 para las distancias mayores de 1000 km. Calcular el monto que pagará un cliente.

#include <cstdlib>

Ing Civil 6 [email protected].

Page 7: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ int D; float A,B,C; cout<<" Alquiler de autos"; cout<<endl<<endl<<endl; cout<<"Ingrese la distanica recorrida (Km.): "; cin>>D; A=250; B=(D-300)*20 + A; C=B+(D-1000)*(10);

cout<<endl;

if (D<=300) { cout<<"El Pago total por el alquiler sera: "<<A<<" s/. "<<endl;} else { if (300<D && D<=1000) { cout<<"El Pago total por el alquiler sera: "<<B<<" s/. "<<endl;;} else { cout<<"El Pago total por el alquiler sera: "<<C<<" s/. "<<endl;} } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS;}

8.- Una empresa registra el sexo, edad y estado civil de sus empleados a través de un número entero positivo de cuatro cifras de acuerdo a lo siguiente: la primera cifra de la izquierda representa el estado civil (1 para soltero, 2 para casado, 3 para viudo y 4 para divorciado), las siguientes dos cifras representan la edad y la tercera cifra representa el sexo (1 para femenino y 2 para masculino). Diseñe un programa que determine el estado civil, edad y sexo de un empleado conociendo el número que empaqueta dicha información.

#include <cstdlib>#include <iostream>

using namespace std;

Ing Civil 7 [email protected].

Page 8: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

int main(int argc, char *argv[]){ int x,y,z; cout<<endl; cout<<"Registro del sexo, edad y estado civil de los empleados "<<endl<<endl; cout<<"Ingrese el numero: "; cin>>x>>y>>z; cout<<endl<<endl; if(x==1 && z==1){ cout<<"El estado civil es soltero"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es femenino"<<endl; } if(x==2 && z==1){ cout<<"El estado civil es casado"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es femenino"<<endl; } if(x==3 && z==1){ cout<<"El estado civil es viudo"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es femenino"<<endl; } if(x==4 && z==1){ cout<<"El estado civil es divorciado"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es femenino"<<endl; } if(x==1 && z==2){ cout<<"El estado civil es soltero"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es masculino"<<endl; } if(x==2 && z==2){ cout<<"El estado civil es casado"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es masculino"<<endl; } if(x==3 && z==2){ cout<<"El estado civil es viudo"<<endl; cout<<"La edad es: "<<y;

Ing Civil 8 [email protected].

Page 9: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cout<<endl; cout<<"El sexo es masculino"<<endl; } if(x==4 && z==2){ cout<<"El estado civil es divorciado"<<endl; cout<<"La edad es: "<<y; cout<<endl; cout<<"El sexo es masculino"<<endl; } if(x>4 || z>2){ cout<<"El numero ingresado no es valido"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

9.- Calcular la comisión sobre las ventas totales de un empleado, sabiendo que el empleado no recibe comisión si su venta es hasta S/.150, si la venta es superior a S/.150 y menor o igual a S/.400 el empleado recibe una comisión del 10% de las ventas y si las ventas son mayores a 400, entonces la comisión es de S/.50 más el 9% de las ventas.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<" COMISION DE TRABAJADORES"; cout<<endl<<endl; int V; float C; cout<<"ingrese el monto de ventas: "; cin>>V; cout<<endl; if (V<=150) {C=0; cout<<"Comision: "<<C<<endl<<endl; cout<<" Ventas insuficientes ";} else {if ((150<V) && (V<=400)) {C=V*0.1; cout<<"La comision sera: "<<C<<endl;} else {C=(V*0.09)+50; cout<<"La comision sera: "<<C<<endl;}

Ing Civil 9 [email protected].

Page 10: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} system("PAUSE"); return EXIT_SUCCESS;}

10.- Dada la ecuación de la recta y = mx + c, y la ecuación de la circunferencia (x-a) + (y-b) = r , determinar los puntos de intersección de la recta con la circunferencia, y analizar si la recta es secante o tangente a la circunferencia.

#include <cstdlib>#include <iostream>#include<math.h>

using namespace std;

int main(int argc, char *argv[]){ float m,a1,a2,a,b,c,r,D; cout<<endl; cout<<" Relacion entre la recta y la Circunferencia"<<endl<<endl; cout<<"Ingrese el la pendiente de la recta: "; cin>>m; cout<<endl; cout<<"Ingrese un punto por donde pasa dicha recta: "; cin>>a1; cin>>a2; cout<<endl; cout<<"Ingrese las coordendas del centro de la circunferencia: "; cin>>a; cin>>b; cout<<endl; cout<<"Ingrese el radio del circulo: "<<endl; cin>>r; cout<<endl; c=(a2)-(m*a1); D=pow((2*m*c)-(2*m*b)-(2*a),2)-4*((a*a)+(c*c)+(b*b)-(2*c*b)-(r*r))*((m*m)+1); if ( D<0 ) {cout<<"no exite intercepcion entre la circunferancia y la recta";} if ( D==0 ) {cout<<"la recta es tangente a la circunferencia";} if ( D>0 ) {cout<<"La recta es secante a la circunferencia";} system("PAUSE"); return EXIT_SUCCESS;}

Ing Civil 10 [email protected].

Page 11: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

11.- Se necesita un sistema para un supermercado, en el cual si el monto de la compra del cliente es mayor de $5000 se le hará un descuento del 30%, si es menor o igual a $5000 pero mayor que $3000 será del 20%, si no rebasa los $3000 pero si los $1000 la rebaja efectiva es del 10% y en caso de que no rebase los $1000 no tendrá beneficio.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<" DESCUENTOS POR COMPRAS"; cout<<endl<<endl<<endl; int M; float D; cout<<"Ingrese el monto de la compra ($): "; cin>>M; cout<<endl; if (M<=1000) {D=0; cout<<"No sujeto a descuentos "<<D<<endl<<endl;} else {if ((1000<M) && (M<=3000)) {D=M*0.1; cout<<"Su Descuento es: "<<D<<" $ "<<endl; cout<<endl;} else {if ((3000<M) && (M<=5000)) {D=M*0.2; cout<<"Su Descuento es: "<<D<<" $ "<<endl; cout<<endl;} else {D=M*0.3; cout<<"Su descuento es: "<<D<<" $ "<<endl; cout<<endl;} } } system("PAUSE"); return EXIT_SUCCESS;}

Ing Civil 11 [email protected].

Page 12: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

12.- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la sig. tabla:

Tiempo UtilidadMenos de 1 año 5 % del salario1 año o mas y menos de 2 años 7% del salario2 años o mas y menos de 5 años 10% del salario5 años o mas y menos de 10 años 15% del salario10 años o mas 20% del salario

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<" PAGO DE UTILIDADES"; cout<<endl<<endl<<endl; int S,T,M; float D; cout<<"Ingrese el salario del trabajador (S/.): "; cin>>S; cout<<endl; cout<<"Ingrese el tiempo de servicio (AA:MM): "<<" "; cin>>T; cin>>M; cout<<endl; if (T==0) {if (M<12) {D=S*(0.05); cout<<"Pago por utilidad "<<D<<endl<<endl;} else {cout<<"tiempo invalido (12 meses = 1 año)"<<endl<<endl;} } else {if ((1<=T) && (T<2)) {D=S*0.07; cout<<"Pago por utilidad "<<D<<" S/. "<<endl; cout<<endl;} else {if ((2<=T) && (T<5)) {D=S*0.1; cout<<"Pago por utilidad "<<D<<" S/. "<<endl; cout<<endl;}

Ing Civil 12 [email protected].

Page 13: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

else {if ((5<=T) && (T<10)) {D=S*0.15; cout<<"Pago por utilidad "<<D<<" S/. "<<endl; cout<<endl;} else {D=S*0.2; cout<<"Pago por utilidad: "<<D<<" S/. "<<endl; cout<<endl;} } } } system("PAUSE"); return EXIT_SUCCESS;}

13.- Dado un número entero; determinar si el mismo es par, impar o nulo.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<" PAR O IMPAR ¿?"; cout<<endl<<endl; int N; cout<<"Ingrese un numero: "; cin>>N; if ( N==0 ) cout<<"el numero ingresado es nulo"<<endl; else {if ( N % 2 ==0 ) cout<<"Es un numero par"<<endl; else cout<<"Es un numero impar"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

Ing Civil 13 [email protected].

Page 14: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

14.- Escribir un programa que determine si un año es bisiesto. Un año es bisiesto si es múltiplo de 4 (por ejemplo 1984). Los años múltiplos de 100 no son bisiestos, salvo si ellos son también múltiplos de 400 (2000 es bisiesto, pero; 1800 no lo es)

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout<<" AÑO BISIESTO ¿?"; cout<<endl<<endl; int N; cout<<"Ingrese el año: "; cin>>N; if ( N % 100 ==0 ) {if ( N % 400 ==0 ) cout<<"Es año bisiesto"<<endl; else cout<<"No es año bisiesto"<<endl;} else {if ( N % 4 ==0 ) cout<<"Es año bisiesto"<<endl; else cout<<"No es año bisiesto"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

15.- Elaborar un algoritmo en el que a partir de una fecha introducida por teclado con el formato Día, Mes Año, se obtenga la fecha del día siguiente..

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ int D,M,A,a,b,c,d,e,f,g,h,i; cout<<"Aplicacion para saber la fecha de mañana"<<endl; cout<<"Ingrese la fecha actual (dd/mm/aaaa): "; cin>>D>>M>>A; if (D>=32 || M>=13)

Ing Civil 14 [email protected].

Page 15: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

{cout<<"Fecha Invalida......."; cout<<endl;} else{ if(M==4 || M==6 || M==9 || M==11){ if(D==30){ a=M+1; cout<<"La fecha es: "<<"1"<<" "<<a<<" "<<A; cout<<endl; } else{ b=D+1; cout<<"La fecha es: "<<b<<" "<<M<<" "<<A; cout<<endl; } } if(M==1 || M==3 || M==5 || M==7 || M==8 || M==10){ if(D==31){ c=M+1; cout<<"La fecha es: "<<"1"<<" "<<c<<" "<<A; cout<<endl; } else{ d=D+1; cout<<"La fecha es: "<<d<<" "<<M<<" "<<A; cout<<endl; } } if(M==12){ if(D==31){ e=A+1; cout<<"La fecha es: "<<"1"<<" "<<"1"<<" "<<e; cout<<endl; } else{ f=D+1; cout<<"La fecha es: "<<f<<" "<<M<<" "<<A; cout<<endl; } } if(M==2){ if(D==29){ g=M+1; cout<<"La fecha es: "<<"1"<<" "<<g<<" "<<A; cout<<endl; } if(D==28){ if(A%4==0){

Ing Civil 15 [email protected].

Page 16: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

if(A%100==0){ if(A%400==0){ cout<<"La fecha es: "<<"29"<<" "<<M<<" "<<A; cout<<endl; } else{ h=M+1; cout<<"La fecha es: "<<"1"<<" "<<h<<" "<<A; cout<<endl; } } else{ cout<<"La fecha es: "<<"29"<<" "<<M<<" "<<A; cout<<endl; } } else{ h=M+1; cout<<"La fecha es: "<<"1"<<" "<<h<<" "<<A; cout<<endl; } } if(D<28){ i=D+1; cout<<"La fecha es: "<<i<<" "<<M<<" "<<A; cout<<endl; } } } system("PAUSE"); return EXIT_SUCCESS;}

16.- La cantidad de días transcurridos entre dos fechas puede calcularse transformándolas en días Julianos. Esta es una convención astronómica que representa cada fecha como el número de días transcurridos desde el 1 de enero de 4713 AC. Para transformar una fecha expresada como DIA, MES y AÑO en días Julianos se usa la siguiente fórmula:DJ = ENT (365.25 * AP) + ENT (30.6001 * MP) + DIA + 1720982donde DJ es el día Juliano, y AP y MP son dos constantes que se obtienen como sigue:Si MES = 1 ó 2: AP = AÑO – 1 MP = MES + 13Si MES > 2: AP = AÑO MP = MES + 1La cantidad de días entre dos fechas es igual a la diferencia entre los respectivos días Julianos:días = (día Juliano 2) - (día Juliano 1)

Ing Civil 16 [email protected].

Page 17: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

Preparar un programa para ingresar las dos fechas como DIA1, MES1, AÑO1, y DIA2, MES2, AÑO2 respectivamente, y muestre la cantidad de días transcurridos entre ambas.

#include <cstdlib>#include <iostream>#include <math.h>

using namespace std;

int main(int argc, char *argv[]){ int x,y,z,a,b,c,d,f,g,e,A,B,C,D,E,F,h; cout<<"Calculando de la cantidad de dias transcurridos entre dos fechas"<<endl<<endl; cout<<"Ingrese la Primera fecha: "; cin>>x>>y>>z; cout<<endl; cout<<"Ingrese la Segunda fecha: "; cin>>a>>b>>c; cout<<endl; if(y==1 || y==2){ A=z-1; B=y+13; d=365.25*A; e=30.6001*B; C=d+e+x+1720982; } if(y>2){ A==z; B=y+1; d=365.25*A; e=30.6001*B; C=d+e+x+1720982; } if(b==1 || b==2){ D=c-1; D=b+13; f=365.25*D; g=30.6001*D; F=f+g+x+1720982; } if(b>2){ D==c; E=b+1; f=365.25*D; g=30.6001*E; F=f+g+x+1720982;

Ing Civil 17 [email protected].

Page 18: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} h=abs(C-F); cout<<"La cantidad de dias transcurridos entre las dos fechas es: "<<h; cout<<endl; system("PAUSE"); return EXIT_SUCCESS;}

17.- Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float h,p,a,b,c; cout<<" Horas Extras"<<endl; cout<<"Ingrese la cantidad de horas trabajadas: "; cin>>h; cout<<"Ingrese el pago en un hora trabajada: "; cin>>p; if(h>40){ if((h-40)<=8){ a=(40*p)+((h-40)*2*p); cout<<"La cantidad dinero que recibira el trabajador es: "<<a; cout<<endl; } else{ b=(40*p)+(8*2*p)+((h-48)*3*p); cout<<"La cantidad de dinero que recibira el trabajador es: "<<b; cout<<endl; } } else{ c=h*p; cout<<"La cantidad de dinero que recibira el trabajador es: "<<c; cout<<endl;

Ing Civil 18 [email protected].

Page 19: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} system("PAUSE"); return EXIT_SUCCESS;}

18.- En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el valor de la compra total según el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra. se sabe que solo hay bolitas de los colores mencionados.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,a,b,c; int y; cout<<" JUEGO DE LA BOLITA (DESCUENTOS)"<<endl; cout<<"Ingrese el valor de la compra: "; cin>>x; cout<<"1-blanco"<<endl; cout<<"2-verde"<<endl; cout<<"3-amarilla"<<endl; cout<<"4-azul"<<endl; cout<<"5-roja"<<endl; cout<<"Ingrese la opcion de su color de bolita: "; cin>>y; switch(y){ case 1: cout<<"El costo a pagar es: "<<x; cout<<endl; break; case 2: a=(90*x)/100; cout<<"El costo a pagar es: "<<a; cout<<endl; break; case 3: b=(75*x)/100; cout<<"El costo a pagar es: "<<b; cout<<endl; break; case 4: c=(50*x)/100; cout<<"El costo a pagar es: "<<c;

Ing Civil 19 [email protected].

Page 20: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cout<<endl; break; case 5: cout<<"La compra es GRATIS"; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

19.- Ingrese seis notas y calcule el promedio, considerando las 5 mejores notas.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,y,z,a,b,c,d,e,f,g,h,i; cout<<" Calculando el promedio de las 5 mejores notas "<<endl<<endl; cout<<"Ingrese las notas: "; cin>>x>>y>>z>>a>>b>>c; cout<<endl; if(x<=y && x<=z && x<=a && x<=b && x<=c){ d=(y+z+a+b+c)/5; cout<<"Promedio de las 5 mejores notas: "<<d; cout<<endl; } if(y<x && y<=z && y<=a && y<=b && y<=c){ e=(x+z+a+b+c)/5; cout<<"Promedio de las 5 mejores notas: "<<e; cout<<endl; } if(z<x && z<y && z<=a && z<=b && z<=c){ f=(x+y+a+b+c)/5; cout<<"Promedio de las 5 mejores notas: "<<f; cout<<endl; } if(a<x && a<y && a<z && a<=b && a<=c){

Ing Civil 20 [email protected].

Page 21: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

g=(x+y+z+b+c)/5; cout<<"Promedio de las 5 mejores notas: "<<g; cout<<endl; } if(b<x && b<y && b<z && b<a && b<=c){ h=(x+y+z+a+c)/5; cout<<"Promedio de las 5 mejores notas: "<<h; cout<<endl; } if(c<x && c<y && c<x && c<a && c<b){ i=(x+y+z+a+b)/5; cout<<"Promedio de las 5 mejores notas: "<<i; cout<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

20.- Calcular el pago por ciclo de un alumno de una Universidad , si se ingresan, créditos inscritos, categoría, matricula (1: normal , 2; extemporánea). El pago por crédito depende de la categoría de acuerdo a la siguiente tabla:

CATEGORÍA PAGO CREDITOA 125.00B 150.00C 180.00

Por matricula extemporánea se paga un recargo de 40.00 soles.#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,y,z,b,c,d,e,f,g; int a; cout<<"Calculando el pago por ciclo de un alumno de una universidad"<<endl<<endl; cout<<"Ingrese el numero de creditos: "; cin>>x; cout<<endl; cout<<"Ingrese el tipo de matricula: "; cin>>y; cout<<endl; cout<<"Ingrese el pago de una matricula normal: "; cin>>z;

Ing Civil 21 [email protected].

Page 22: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cout<<endl; cout<<"1-categoria A"<<endl; cout<<"2-categoria B"<<endl; cout<<"3-matricula C"<<endl; cout<<"Ingrese el numero de opcion elegida: "; cin>>a; cout<<endl; switch(a){ case 1: if(y==1){ b=(x*125)+z; cout<<"El pago por ciclo es: "<<b; cout<<endl; } if(y==2){ c=(x*125)+z+40; cout<<"El pago por ciclo es: "<<c; cout<<endl; } break; case 2: if(y==1){ d=(x*150)+z; cout<<"El pago por ciclo es: "<<d; cout<<endl; } if(y==2){ e=(x*150)+z+40; cout<<"El pago por ciclo es: "<<e; cout<<endl; } break; case 3: if(y==1){ f=(x*180)+z; cout<<"El pago por ciclo es: "<<f; cout<<endl; } if(y==2){ g=(x*180)+z+40; cout<<"El pago por ciclo es: "<<g; cout<<endl; } break; default: cout<<"Opcion Invalida....."<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

Ing Civil 22 [email protected].

Page 23: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

21.- Cree un menú para determinar el área de las siguientes figuras geométricas:Rectángulo, triangulo, trapecio, circulo, rombo, etc.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float a,b,c,d,e,f,g,A; float pi=3.141516; int l; cout<<" Hallando las areas de los poligonos "<<endl; cout<<"1-rectangulo"<<endl; cout<<"2-triangulo"<<endl; cout<<"3-trapecio"<<endl; cout<<"4-circulo"<<endl; cout<<"5-rombo"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>l; cout<<endl; switch(l){ case 1: cout<<"Area de un rectangulo"<<endl; cout<<"Ingrese el valor de la base mayor: "; cin>>a; cout<<"Ingrese el valor de la base menor: "; cin>>b; A=a*b; cout<<"El area del rectangulo es: "<<A; cout<<endl; break; case 2: cout<<"Area de un triangulo"<<endl; cout<<"Ingrese el valor de la base: "; cin>>c; cout<<"Ingrese el valor de la altura: "; cin>>d; A=(c*d)/2; cout<<"El area del triangulo es: "<<A; cout<<endl; break; case 3: cout<<"Area de un trapecio"<<endl; cout<<"Ingrese el valor de la base mayor: ";

Ing Civil 23 [email protected].

Page 24: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cin>>a; cout<<"Ingrese el valor de la base menor: "; cin>>b; cout<<"Ingrese el valor de la altura: "; cin>>d; A=((a+b)/2)*d; cout<<"El area del trapecio es: "<<A; cout<<endl; break; case 4: cout<<"Area de un circulo"<<endl; cout<<"Ingrese el valor del radio: "; cin>>e; A=pi*e*e; cout<<"El area del circulo es: "<<A; cout<<endl; break; case 5: cout<<"Area de un rombo"<<endl; cout<<"Ingrese el valor de la diagonal mayor: "; cin>>f; cout<<"Ingrese el valor de la diagonal menor: "; cin>>g; A=(f*g)/2; cout<<"El area del rombo es: "<<A; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

22.- Cree un menú para calcular el volumen de las siguientes figuras geométricas:Cubo, Cilindro, Esfera, Cono, ctc.

#include <cstdlib>#include <iostream>#include<math.h>

using namespace std;

int main(int argc, char *argv[]){ float a,b,c,V; #define pi 3.1415926535

Ing Civil 24 [email protected].

Page 25: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

int x; cout<<"Programa para calcular el volumen de figuras geometricas"<<endl; cout<<"1-cubo"<<endl; cout<<"2-cilindro"<<endl; cout<<"3-esfera"<<endl; cout<<"4-cono"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>x; switch(x){ case 1: cout<<"Volumen de un cubo"<<endl; cout<<"Ingrese la arista: "; cin>>a; V=a*a*a; cout<<"El volumen del cubo es: "<<V; cout<<endl; break; case 2: cout<<"Volumen de un cilindro"<<endl; cout<<"Ingrese el radio de la base: "; cin>>b; cout<<"Ingrese la altura: "; cin>>c; V=pi*b*b*c; cout<<"El volumen del cilindro es: "<<V; cout<<endl; break; case 3: cout<<"Volumen de una esfera"<<endl; cout<<"Ingrese el radio: "; cin>>b; V=(4*pi*b*b*b)/3; cout<<"El volumen de la esfera es: "<<V; cout<<endl; break; case 4: cout<<"Volumen de un cono"<<endl; cout<<"Ingrese el radio de la base: "; cin>>b; cout<<"Ingrese la altura: "; cin>>c; V=(pi*b*b*c)/3; cout<<"El volumen del cono es: "<<V; cout<<endl; break; default: cout<<"Opcion Invalida...."<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

Ing Civil 25 [email protected].

Page 26: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

23.- En un hospital se ha hecho un estudio sobre los pacientes registrados durante los últimos 10 años, con el objeto de hacer una aproximación de los costos de internamiento por paciente. Se obtuvo un costo promedio diario según el tipo de enfermedad que aqueja al paciente, además se pudo determinar que en promedio todos los pacientes con edad entre 14 y 22 años implican un costo adicional del 10%. La siguiente tabla expresa los costos diarios según el tipo de enfermedad.

TIPO DE ENFERMEDAD COSTO /PACIENTE 0 251 162 203 32

Calcular e imprimir el costo que representa un paciente

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,a,b,c,d,e,f,g,h; int E; cout<<"Calculando el costo de internamiento por paciente en 10 años"<<endl; cout<<"Ingrese la edad del paciente: "; cin>>x; cout<<"0-Tipo de enfermedad 0"<<endl; cout<<"1-Tipo de enfermedad 1"<<endl; cout<<"2-Tipo de enfermedad 2"<<endl; cout<<"3-Tipo de enfermedad 3"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>E; switch(E){ case 0: if(x>14 && x<22){ a=((110*25)/100)*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<a; cout<<endl; } else{ b=25*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<b; cout<<endl; } break;

Ing Civil 26 [email protected].

Page 27: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

case 1: if(x>14 && x<22){ c=((110*16)/100)*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<c; cout<<endl; } else{ d=16*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<d; cout<<endl; } break; case 2: if(x>14 && x<22){ e=((110*20)/100)*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<e; cout<<endl; } else{ f=20*10*360; cout<<"El costo de internamiento por paciente en 10 años"<<f; cout<<endl; } break; case 3: if(x>14 && x<22){ g=((110*32)/100)*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<g; cout<<endl; } else{ h=32*10*360; cout<<"El costo de internamiento por paciente en 10 años es: "<<h; cout<<endl; } break; default: cout<<"Opcion Invalida...."<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

24.- Una tienda comercial ofrece ventas al crédito financiadas en tres formas como indica a continuación:

N° LETRAS TIPO FINANC. INTERES (%) CUOTA INICIAL (%)246

123

51015

605035

Ing Civil 27 [email protected].

Page 28: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

El cliente deberá firmar antes de la financiación el monto de la compra, el cual será afecto a un 10% de impuesto, por lo que el monto de la factura es igual al monto de la compra más el importe del impuesto. Calcular el monto de cada letra por pagar (nuevo monto de la factura menos el monto de la cuota inicial entre el número de letras).

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,a,b,c; int F; cout<<"Calculando el monto de cada letra por pagar"<<endl; cout<<"Ingresar el valor de la compra: "; cin>>x; cout<<"1-tipo de financiamiento 1"<<endl; cout<<"2-tipo de financiamiento 2"<<endl; cout<<"3-tipo de financiamiento 3"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>F; switch(F){ case 1: a=(((110*((105*x)/100))/100)-((60*((105*x)/100))/100))/2; cout<<"El monto de cada letra a pagar es: "<<a; cout<<endl; break; case 2: b=(((110*((110*x)/100))/100)-((50*((110*x)/100))/100))/4; cout<<"El monto de cada letra a pagar es: "<<b; cout<<endl; break; case 3: c=(((110*((115*x)/100))/100)-((35*((115*x)/100))/100))/6; cout<<"El monto de cada letra a pagar es: "<<c; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

25.-Determinar si un número es múltiplo de 2, de 3, de 5 o de ninguno de ellos. Considere que existen números que pueden ser múltiplos de más de un número. Por ejemplo: si se Ingresa 15 debe mostrarse “El número es múltiplo de 3”, “El número es múltiplo de 5”

Ing Civil 28 [email protected].

Page 29: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ int a; cout<<"Determinando si un número es múltiplo de 2, 3, 5 o de ninguno de ellos"<<endl; cout<<"Ingrese el numero: "; cin>>a; if(a%2==0 && a%3!=0 && a%5!=0){ cout<<"El numero es multiplo de 2"<<endl; } if(a%3==0 && a%2!=0 && a%5!=0){ cout<<"El numero es multiplo de 3"<<endl; } if(a%5==0 && a%2!=0 && a%3!=0){ cout<<"El numero es multiplo de 5"<<endl; } if(a%2==0 && a%3==0 && a%5!=0){ cout<<"El numero es multiplo de 2 y 3"<<endl; } if(a%2==0 && a%5==0 && a%3!=0){ cout<<"El numero es multiplo de 2 y 5"<<endl; } if(a%3==0 && a%5==0 && a%2!=0){ cout<<"El numero es multiplo de 3 y 5"<<endl; } if(a%2==0 && a%3==0 && a%5==0){ cout<<"El numero es multiplo de 2, de 3 y de 5"<<endl; } if(a%2!=0 && a%3!=0 && a%5!=0){ cout<<"El numero no es multiplo ni de 2, de 3 ni de 5"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

26.- Determinar el importe a pagar por un alumno de un instituto cuya cuota tiene un porcentaje de descuento que se establece en la siguiente tabla y esta en función al colegio de procedencia del alumno; asimismo los importes están exonerados de impuestos.

INSTITUTOS

Ing Civil 29 [email protected].

Page 30: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

Colegio A B C NacionalParticular

50 40 30 25 29 15

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,a,b; int C,c; cout<<"Calculando el importe a pagar por un alumno de un instituto"<<endl<<endl; cout<<"Ingrese la cuota de pago: "; cin>>x; cout<<"1-colegio A"<<endl; cout<<"2-colegio B"<<endl; cout<<"3-colegio C"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>C; switch(C){ case 1: cout<<"1-nacional"<<endl; cout<<"2-particular"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>c; switch(c){ case 1: a=(50*x)/100; cout<<"El importe a pagar es: "<<a; cout<<endl; break; case 2: b=(75*x)/100; cout<<"El importe a pagar es: "<<b; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break; case 2: cout<<"1-nacional"<<endl; cout<<"2-particular"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>c; switch(c){ case 1: a=(60*x)/100; cout<<"El importe a pagar es: "<<a;

Ing Civil 30 [email protected].

Page 31: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cout<<endl; break; case 2: b=(71*x)/100; cout<<"El importe a pagar es: "<<b; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break; case 3: cout<<"1-nacional"<<endl; cout<<"2-particular"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>c; switch(c){ case 1: a=(70*x)/100; cout<<"El importe a pagar es: "<<a; cout<<endl; break; case 2: b=(85*x)/100; cout<<"El importe a pagar es: "<<b; cout<<endl; break; default: cout<<"Opcion Invalida....."<<endl; } break; default: cout<<"La opcion no existe"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

27.- Una tienda distribuidora de ropa ha establecido porcentajes de descuento sobre el monto comprado de la siguiente forma:

Hombres Mujeres Talla

Origen S M L S M LNacional

Importado

10 12 15

05 07 10

15 17 20

07 09 12

Determinar y mostrar para un comprador, el monto comprado, el importe del descuento y el monto a pagar.

Ing Civil 31 [email protected].

Page 32: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ float x,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s; int S,T,N; cout<<"Hallando el importe del descuento y el monto a pagar"<<endl; cout<<"Ingrese el monto comprado: "; cin>>x; cout<<"1-hombre"<<endl; cout<<"2-mujer"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>S; switch(S){ case 1: cout<<"1-talla S"<<endl; cout<<"2-talla M"<<endl; cout<<"3-talla L"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>T; switch(T){ case 1: cout<<"1-nacional"<<endl; cout<<"2-importado"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>N; switch(N){ case 1: b=(10*x)/100; cout<<"El descuento es: "<<b; cout<<endl; h=x-b; cout<<"El importe a pagar es: "<<h; cout<<endl; break; case 2: c=(5*x)/100; cout<<"El el descuento es: "<<c; cout<<endl; i=x-c; cout<<"El importe a pagar es: "<<i; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break;

Ing Civil 32 [email protected].

Page 33: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

case 2: cout<<"1-nacional"<<endl; cout<<"2-importado"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>N; switch(N){ case 1: d=(12*x)/100; cout<<"El descuento es: "<<d; cout<<endl; j=x-d; cout<<"El importe a pagar es: "<<j; cout<<endl; break; case 2: e=(7*x)/100; cout<<"El descuento es: "<<e; cout<<endl; k=x-e; cout<<"El importe a pagar es: "<<k; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break; case 3: cout<<"1-nacional"<<endl; cout<<"2-importado"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>N; switch(N){ case 1: f=(15*x)/100; cout<<"El descuento es: "<<f; cout<<endl; l=x-f; cout<<"El importe a pagar es: "<<l; cout<<endl; break; case 2: g=(10*x)/100; cout<<"El descuento es: "<<g; cout<<endl; m=x-g; cout<<"El importe a pagar es: "<<m; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break; } break; case 2: cout<<"1-talla S"<<endl;

Ing Civil 33 [email protected].

Page 34: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

cout<<"2-talla M"<<endl; cout<<"3-talla L"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>T; switch(T){ case 1: cout<<"1-nacional"<<endl; cout<<"2-importado"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>N; switch(N){ case 1: b=(15*x)/100; cout<<"El descuento es: "<<b; cout<<endl; n=x-b; cout<<"El importe a pagar es: "<<n; cout<<endl; break; case 2: c=(7*x)/100; cout<<"El descuento es: "<<c; cout<<endl; o=x-c; cout<<"El importe a pagar es: "<<o; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break; case 2: cout<<"1-nacional"<<endl; cout<<"2-importado"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>N; switch(N){ case 1: d=(17*x)/100; cout<<"El descuento es: "<<d; cout<<endl; p=x-d; cout<<"El importe a pagar es: "<<p; cout<<endl; break; case 2: e=(9*x)/100; cout<<"El descuento es: "<<e; cout<<endl; q=x-e; cout<<"El importe a pagar es: "<<q; cout<<endl; break; default: cout<<"La opcion no existe"<<endl;

Ing Civil 34 [email protected].

Page 35: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} break; case 3: cout<<"1-nacional"<<endl; cout<<"2-importado"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>N; switch(N){ case 1: f=(20*x)/100; cout<<"El decuento es: "<<f; cout<<endl; r=x-f; cout<<"El importe a pagar es: "<<r; cout<<endl; break; case 2: g=(12*x)/100; cout<<"El descuento es: "<<g; cout<<endl; s=x-g; cout<<"El importe a pagar es: "<<s; cout<<endl; break; default: cout<<"La opcion no existe"<<endl; } break; } break; default: cout<<"Ocion Invalida....."<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

28.- Escribir un programa que permita actualizar el saldo de una cuenta del cliente de un banco. Los datos de entrada son: numero de cuenta y saldo anterior. El programa además debe ingresar el tipo de movimiento que puede ser 1 o 2. Si el tipo de movimiento es 1 representa un depósito. Si es 2 representa un retiro. En ambos casos se debe pedir el monto de la transacción.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[])

Ing Civil 35 [email protected].

Page 36: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

{ float y,a,b,c,d; int n,m; cout<<" Actualizando el saldo de una cuenta del cliente de un banco "<<endl; cout<<"1"<<endl; cout<<"2"<<endl; cout<<"3"<<endl; cout<<"4"<<endl; cout<<"5"<<endl; cout<<"Ingrese el numero de cuenta del cliente: "; cin>>n; switch(n){ case 1: cout<<"Persona 1"<<endl; break; case 2: cout<<"Persona 2"<<endl; break; case 3: cout<<"Persona 3"<<endl; break; case 4: cout<<"Persona 4"<<endl; break; case 5: cout<<"Persona 5"<<endl; break; default: cout<<"Opcion Invalida..."<<endl; } cout<<"Ingrese el saldo anterior: "; cin>>y; cout<<"1-deposito"<<endl; cout<<"2-retiro"<<endl; cout<<"Ingrese la opcion elegida: "; cin>>m; switch(m){ case 1: cout<<"Ingrese el monto a depositar: "; cin>>a; b=y+a; cout<<"El nuevo saldo de su cuenta es: "<<b; cout<<endl; break; case 2: cout<<"Ingrese el monto a retirar: "; cin>>c; d=y-c; cout<<"El nuevo saldo de su cuenta es: "<<d; cout<<endl; break; default: cout<<"Opcion Invalida..."<<endl; } system("PAUSE"); return EXIT_SUCCESS;

Ing Civil 36 [email protected].

Page 37: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

}

29.- Validar El ingreso de una fecha en el formato día, mes, año numéricos determinando si es correcta o no, mostrando el mensaje correspondiente. Considerar años bisiestos.

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ int d,m,a; cout<<" Validacio de fechas "<<endl; cout<<"Ingrese la fecha (dd/mm/aaaa): "; cin>>d>>m>>a; if(m<=12){ if(m==4 || m==6 || m==9 || m==11){ if(d<=30){ cout<<"La fecha es valida"<<endl; } else{ cout<<"La fecha no es valida"<<endl; } } if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 ||m==12){ if(d<=31){ cout<<"La fecha es valida"<<endl; } else{ cout<<"La fecha no es valida"<<endl; } } if(m==2){ if(a%4==0){ if(a%100==0){ if(a%400==0){ if(d=29){ cout<<"La fecha es valida"<<endl; } else{ cout<<"La fecha no es valida"<<endl;

Ing Civil 37 [email protected].

Page 38: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} } else{ if(d<=28){ cout<<"La fecha es valida"<<endl; } else{ cout<<"La fecha no es valida"<<endl; } } } else{ if(d<=29){ cout<<"La fecha es valida"<<endl; } else{ cout<<"La fecha no es valida"<<endl; } } } else{ if(d<=28){ cout<<"La fecha es valida"<<endl; } else{ cout<<"La fecha no es valida"<<endl; } } } } else{ cout<<"La fecha no es valida"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

30.-Ingresar el día, mes y año en el formato numérico (2-11-2001), para luego mostrarlo el formato carácter (2 de Noviembre del 2001).

#include <cstdlib>#include <iostream>

using namespace std;

Ing Civil 38 [email protected].

Page 39: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

int main(int argc, char *argv[]){ int d,m,a; cout<<" Cambiando el formato numerico de una fecha"<<endl; cout<<"Ingrese la fecha (dd/mm/aaaa): "; cin>>d>>m>>a; if(m<=12){ if(m==4 || m==6 || m==9 || m==11){ if(d<=30){ if(m==4){ cout<<""<<d<<" "<<"de abril del"<<" "<<a; cout<<endl; } if(m==6){ cout<<""<<d<<" "<<"de junio del"<<" "<<a; cout<<endl; } if(m==9){ cout<<""<<d<<" "<<"de setiembre del"<<" "<<a; cout<<endl; } if(m==11){ cout<<""<<d<<" "<<"de noviembre del"<<" "<<a; cout<<endl; } } else{ cout<<"La fecha no es valida"<<endl; } } if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 ||m==12){ if(d<=31){ if(m==1){ cout<<""<<d<<" "<<"de enero del"<<" "<<a; cout<<endl; } if(m==3){ cout<<""<<d<<" "<<"de marzo del"<<" "<<a; cout<<endl; } if(m==5){ cout<<""<<d<<" "<<"de mayo del"<<" "<<a; cout<<endl;

Ing Civil 39 [email protected].

Page 40: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} if(m==7){ cout<<""<<d<<" "<<"de julio del"<<" "<<a; cout<<endl; } if(m==8){ cout<<""<<d<<" "<<"de agosto del"<<" "<<a; cout<<endl; } if(m==10){ cout<<""<<d<<" "<<"de octubre del"<<" "<<a; cout<<endl; } if(m==12){ cout<<""<<d<<" "<<"de diciembre del"<<" "<<a; cout<<endl; } } else{ cout<<"La fecha no es valida"<<endl; } } if(m==2){ if(a%4==0){ if(a%100==0){ if(a%400==0){ if(d<=29){ if(m==2){ cout<<""<<d<<" "<<"de febrero del"<<" "<<a; cout<<endl; } } else{ cout<<"La fecha no es valida"<<endl; } } else{ if(d<=28){ if(m==2){ cout<<""<<d<<" "<<"de febrero del"<<" "<<a; cout<<endl; }

Ing Civil 40 [email protected].

Page 41: Practica 2

Practica Nº 2 UNMSM Erick Edson Pasache Lopera

} else{ cout<<"La fecha no es valida"<<endl; } } } else{ if(d<=29){ if(m==2){ cout<<""<<d<<" "<<"de febrero del"<<" "<<a; cout<<endl; } } else{ cout<<"La fecha no es valida"<<endl; } } } else{ if(d<=28){ if(m==2){ cout<<""<<d<<" "<<"de febrero del"<<" "<<a; cout<<endl; } } else{ cout<<"La fecha no es valida"<<endl; } } } } else{ cout<<"La fecha no es valida"<<endl; } system("PAUSE"); return EXIT_SUCCESS;}

Ing Civil 41 [email protected].