Вы находитесь на странице: 1из 8

SEMANA 1 ESCUELA SEGURIDAD

Ejemplo 1 (aplicación de funciones)


#include<iostream>
using namespace std;
//Definiendo las funciones
void Leer(int &e,char &g)
{ do
{ cout<<"Edad:";
cin>>e;
}while(e<=0);
//Lectura de genero
for(;;)
{cout<<"Genero"<<endl;
cin>>g;
if(g=='m' || g=='f')
break;
else
cout<<"Error..."<<endl;
}
}

void Print(int e,char g)


{ if(g=='m')
cout<<"Masculino"<<endl;
else
cout<<"Femenino"<<endl;
if(e>=18)
cout<<"Es mayor de edad"<<endl;
else
cout<<"Es menor de edad"<<endl;
}
//Funcion principal
int main()
{ int edad; char genero;
Leer(edad,genero);
Print(edad,genero);
}

2) problema de sobrecarga
#include<iostream>
using namespace std;
//Definiendo las funciones
void PrimeraClase(int x[],int n,int &may,int &p)
{ int i;
for(i=0,may=-100000;i<n;i++)
if(x[i]>may)
{ may=x[i];
p=i;
}
}
bool PrimeraClase(char t)
{if((t>='A' && t<='Z') ||(t>='a' && t<='z'))
return true;
else
return false;
}
void PrimeraClase(int n,int &m)
{int d; m=0;
for(;n>0;n=n/10)
{ d=n%10;
if(d%2!=0)
m=m+d;
}
}
void LeerDatos(int x[],int &n, int &n1,char &z)
{ int i;
cout<<"Cuantos elementos del vector:";
cin>>n;
for(i=0;i<n;i++)
{ cout<<"A["<<i<<"]=";
cin>>x[i];
}
cout<<"\nIng. numero entero:";cin>>n1;
cout<<"Ingrese caracter:";cin>>z;
}
void Mostrar(int may,int p,bool t,int d)
{ cout<<"Elemento mayor:"<<may<<endl;
cout<<"La posicion es:"<<p<<endl;
cout<<"Suma de digitos impares es:"<<d<<endl;
if(t==true)
cout<<"Es alfabetico"<<endl;
else
cout<<"No es alfabetico"<<endl;
}
//Funcion principal
int main()
{int a[100],ne,mayor,pos,nu,si;
char car;
bool q;
LeerDatos(a,ne,nu,car);
PrimeraClase(a,ne,mayor,pos);
q=PrimeraClase(car);
PrimeraClase(nu,si);
Mostrar(mayor,pos,q,si);
}

Problema propuesto

/*Dada las siguientes funciones que se detalla a continuacion:

a) void Semestre2018-1(int n, int m, char x).- En n y m recibe los lados de u


n rectangulo y en x cualquier caracter, luego la funcion dibuja un rectangulo
con los datos dados.

Ejemplo, si n=4, m=10 y x='%'

%%%%%%%%%%

% %

% %
%%%%%%%%%%
b) void Semestre2018-1(float c[],int n,float prom, int k).-En c recibe las co
mpras hecha por una empresa, n indica la cantidad de compras. En prom retorna
el promedio de compras y en k la cantidad de compras que sean inferiores al p
romedio de compras.

c) int Semestre2018-1(int a, int b).- En a y b se reciben dos numeros enteros


positivos para luego retorna el producto de ambos numeros. No esta permitido
el uso del operador *.

Implementar las funciones dadas, otras funciones requeridas y el programa pri


ncipal

*/

3) ALPLICACION DE DIRECTIVA DE PREPROCESADOR PAGO TRABAJADOR

#include<iostream>
using namespace std;
#define HORAS_T 40
#define PROGRAMA int main()
#define INICIO {
#define FIN }
#define ESCRIBIR(s) cout<<s
#define LEER(nh,th) cin>>nh>>th
#define SI(nh,th) if(nh>HORAS_T)\
pago=HORAS_T*th+(nh-HORAS_T)*th*1.3;\
else\
pago=nh*th;
#define DECLARAR float nh,th,pago
//Programa principal
PROGRAMA
INICIO
DECLARAR;
ESCRIBIR("Ingrese horas trabajadas y tarifa:");
LEER(nh,th);
SI(nh,th)
ESCRIBIR("El pago es = ");
ESCRIBIR(pago);
FIN
Aplicación de directiva preprocesador con libreria-pago trabajador
#include<iostream>
using namespace std;
#include "MiLiber.h"
//Programa principal
PROGRAMA
INICIO
DECLARAR;
ESCRIBIR("Ingrese horas trabajadas y tarifa:");
LEER(nh,th);
SI(nh,th)
ESCRIBIR("El pago es = ");
ESCRIBIR(pago);
FIN

Libreria para aplicacion directiva preprocesador con libreria-pago de trabajador


#ifndef MILIBER_H_INCLUDED
#define MILIBER_H_INCLUDED
#define HORAS_T 40
#define PROGRAMA int main()
#define INICIO {
#define FIN }
#define ESCRIBIR(s) cout<<s
#define LEER(nh,th) cin>>nh>>th
#define SI(nh,th) if(nh>HORAS_T)\
pago=HORAS_T*th+(nh-HORAS_T)*th*1.3;\
else\
pago=nh*th;
#define DECLARAR float nh,th,pago
#endif // MILIBER_H_INCLUDED

SEMANA 2

APLICACIÓN DADO UNA CADENA GENERA OTRA CADENA


#include<iostream>
using namespace std;
#define N 80
//Definiendo las funciones
void Leer(char cad[N])
{ cout<<"Ingrese cadena:";
cin.getline(cad,N);
}
void Nuevo(char cad[],char cad1[N])
{ int i=0;
while(cad[i]!='\0')
{ if(cad[i]>='A' && cad[i]<='Z')
cad1[i]=cad[i]+32; // Convirtiendo a mayuscula
else
cad1[i]=cad[i];
i++;
}
cad1[i]='\0';
}

void Mostrar(char cad[],char cad1[N])


{cout<<"\nCadena original:"<<cad<<endl;
cout<<"Nueva cadena:"<<cad1<<endl;
}
//Funcion principal
int main()
{char cad[N],cad1[N];
Leer(cad);// Llamada a la funcion
Nuevo(cad,cad1);
Mostrar(cad,cad1);
}

SEMANA 3

PUNTEROS CONTAR Y SUMAR DIGITOS


#include<iostream>
using namespace std;
//Definicon de las funciones
void LeerNumero(int *n)
{do{ cout<<"Cual es el numero:";
cin>>*n;
}while(*n<=10);
}
void CuentaSuma(int *n,int *s,int *di)
{ *s=0;*di=0;
for(;*n>0;*n=*n/10)
if(((*n%10)%2)!=0)
{*di=*di+1;
*s=*s+(*n%10);
}
}
void Print(int *s, int *di)
{ cout<<"\nSuma digitos impares:"<<*s<<endl;
cout<<"Cantidad de digitos impares:"<<*di<<endl;
}
//Funcion principal
int main()
{ int a,suma,cimpar;
LeerNumero(&a);
CuentaSuma(&a,&suma,&cimpar);
Print(&suma,&cimpar);
}

APLICACIÓN PROPUESTA DE VERCTOR DE CADENA

Volver a: Semana 03:Vecto...


Se tiene n clientes, por cada cliente se ingresa la razon social y el monto de ventas. Este ultimo de
generas el sistema de forma automatica y debe estar comprendido entre 100 y 1000 inclusive. En
base a ella se pide lo siguiente:
a) Leer los datos
b) Calcular la venta mayor y a que cliente pertenece.
c) Mostrar un reporte donde aparezca la razon social del cliente y el monto de ventas, al final del
reporte debe aparece los datos calculados en el punto b).
d) Buscar un cliente por el nombre, si lo encuentra mostrar su posicion que ocupa en el vector, en
caso contrario escribir el mensaje "cliente no existe".
Implementar para cada punto una funcion y la funcion principal.

SEMANA 1 ESCUELA INDUSTRIAL

IMPLEMENTAR FUNCIONES SOBRECARGA DE FUNCIONES


/*Dada las siguientes funciones que se indica:

a) void SesionNro1(int a, int cd).-En a recibe un


numero entero para luego retornar en cd la cantidad
de digitos que tiene a
b) void SesionNro1(int c[],int x[],int n,int may,int c1).- En
c y x se recibe el codigo y la nota de los alumnos.
Asumir que se tiene n alumnos. La funcion retorna la
nota mayor y el codigo del alumno con esta nota mayor.
c) bool SesionNro1(char c).- En c recibe un caracter
cualquiera, para luego retornar true si c es un caracter
digito, caso contrario retorna false.

Implementar las funciones dadas, otras funciones que


requiera y la funcion principal.
*/
#include<iostream>
using namespace std;
//Definiendo las funciones sobrecargadas
void SesionNro1(int a, int &cd)
{ for(cd=0;a>0;a=a/10)
cd=cd+1;
}
void SesionNro1(int c[],int x[],int n,int &may,int &c1)
{int i;
may=x[0]; c1=c[0];
for(i=1;i<n;i++)
if(x[i]>may)
{ may=x[i];
c1=c[i];
}
}
bool SesionNro1(char c)
{ if(c>='0' && c<='9')
return true;
else
return false;
}
//Implementando otras funciones requeridas
void Lectura(int &m,int c[],int x[],int &n, char &ca)
{ int i;
cout<<"Cuantos alumnos va procesar:";cin>>n;
for(i=0;i<n;i++)
{ cout<<"Codigo["<<i<<"]=";cin>>c[i];
cout<<"Nota["<<i<<"]=";cin>>x[i];
}
cout<<endl<<"Ingrese caracter:";cin>>ca;
//Lectura del numero entero
for(;;)
{cout<<"Cual es el numero:";cin>>m;
if(m>0)
break;
else
cout<<"Error..., numero debe ser positivo\n";
}
}

void Listar(int cd,int c1,int may,bool t)


{ cout<<endl<<"Cantidad de digitos:"<<cd<<endl;
cout<<"Mayor nota es:"<<may<<endl;
cout<<"Corresponde al alumno con codigo:"<<c1<<endl;
if(t==true)
cout<<"Caracter ingresado es un digito"<<endl;
else
cout<<"Caracter ingresado no es un digito"<<endl;
}
//Funcion programa
int main()
{ int c[100],nt[100],na,num,k,nMay,cMay;
char car; bool p;
Lectura(num,c,nt,na,car);//Llamada a la funcion
SesionNro1(num,k);
SesionNro1(c,nt,na,nMay,cMay);
p=SesionNro1(car);
Listar(k,cMay,nMay,p);
}

EJEMPLO PROPUESTO DE SOBRECARGA


/*Dada las siguientes funciones que se detalla a continuacion:

a) void Semestre2018-1(int n, int m, char x).- En n y m recibe los


lados de un rectangulo y en x
cualquier caracter, luego la funcion dibuja un rectangulo con los
datos dados.
Ejemplo, si n=4, m=10 y x='%'
%%%%%%%%%%
% %
% %

b) void Semestre2018-1(float c[],int n,float prom, int k).-En c recibe


las compras hecha por una
empresa, n indica la cantidad de compras. En prom retorna el promedio
de compras y en k la
cantidad de compras que sean inferiores al promedio de compras.

c) int Semestre2018-1(int a, int b).- En a y b ser reciben dos numeros


enteros positivos para luego
retorna el productode ambos numeros. No esta permitido el uso del
operador *.

Implementar las funciones dadas, otras funciones requeridas y el


programa principal
*/

Вам также может понравиться