Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Codigo C++ Practicando :)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

#include <iostream>

#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define max 20
using namespace std;
//estructura
struct trabajador
{
int clave;
char nombre[max];
float sueldobruto;
float descuento;
float bonificacion;
float sueldoneto;

};
//prototipos
int menu();
int buscarcod(trabajador A[],int n,int codigo);
void capturadedatos(trabajador A[],int &n);
void mostrarReporte(trabajador A[],int n);
void busquedaxnom(trabajador A[],int n);
void orden(trabajador A[],int n);
void ordenasueldo(trabajador A[],int n);
void modificaDato(trabajador A[],int n);

int main ()
{
trabajador tra[max];
int n,op;
do
{
system("cls");
op=menu();
switch(op)
{
case 1:capturadedatos(tra,n);
getche();break;

case 2:mostrarReporte(tra,n);
getche();break;
case 3:busquedaxnom(tra,n);
getche();break;
case 4:orden(tra,n);
getche();break;
case 5:ordenasueldo(tra,n);
getche();break;
case 6: modificaDato(tra,n);
getche();break;

}while(op!=7);

system("cls");
cout<<"GRACIAS POR USAR ESTA APLICACION"<<endl;

getche();
return(0);
}

//funcion para buscar codigo


int buscarcod(trabajador A[],int n,int codigo)
{
int i,pos;
pos=-1;
for(i=0;i<n;i++)
if(A[i].clave==codigo)
pos=i;
return pos;
}

//funcion para ingresar datos


void capturadedatos(trabajador A[],int &n)
{
system("cls");
int p,op;
n=0;

do
{
do
{
cout<<"DIgite el codigo del trabajador["<<n+1<<"]: ";
cin>>A[n].clave;
}while(A[n].clave<0);

p=buscarcod(A,n,A[n].clave);
if(p==-1)
{
cout<<"Ingrese el nombre del trabajador["<<n+1<<"]: ";
fflush(stdin);
gets(A[n].nombre);
do
{
cout<<"Ingrese sueldo bruto: ";
cin>>A[n].sueldobruto;
}while(A[n].sueldobruto<0);

//hallando bonificacion , descuento y sueldo neto


A[n].bonificacion=A[n].sueldobruto*0.01;//boni esta definido con 1%
A[n].descuento=A[n].sueldobruto*0.07;//desc esta definido con 7%
A[n].sueldoneto=A[n].sueldobruto-A[n].descuento+A[n].bonificacion;//hallando
sueldo neto
n++;//numero de trabajadores aumenta a medidad que el usuario ingresa nuevo
trabajador
}
else
{
cout<<"No existe es codigo...!";
}
cout<<"Desea ingresar mas trabajadores? SI[1]--NO[0]: ";
cin>>op;

}while(op!=0);
system("cls");
cout<<"Trabajadores ingresados con exito....!"<<endl;

//procedimiento para mostrar reporte


void mostrarReporte(trabajador A[],int n)
{
system("cls");
float total,total1,total2,total3;

int i;
cout<<setw(37)<<"REPORTE"<<endl;
cout<<setw(37)<<"*******"<<endl;

cout<<setw(5)<<"CODIGO"<<setw(14)<<"NOMBRE"<<setw(14)<<"S.BRUTO"<<setw(14)<<"DESCUENTO"<<se
tw(14)<<"BONIFICACION"<<setw(10)<<"S.NETO"<<endl;

for(i=0;i<n;i++)
{

cout<<setw(5)<<A[i].clave<<setw(14)<<A[i].nombre<<setw(14)<<A[i].sueldobruto<<setw(14)<<A[i]
.descuento<<setw(14)<<A[i].bonificacion<<setw(10)<<A[i].sueldoneto<<endl;
}
cout<<endl;
for(i=0;i<n;i++)
{
total=total+A[i].sueldobruto;
total1=total1+A[i].descuento;
total2=total2+A[i].bonificacion;
total3=total3+A[i].sueldoneto;
}

cout<<setw(5)<<"TOTALES"<<setw(13)<<"****"<<setw(13)<<total<<setw(13)<<total1<<setw(14)<<to
tal2<<setw(10)<<total3<<endl;
}

//procedimiento para buscar trabajador por su nombre


void busquedaxnom(trabajador A[],int n)
{
system("cls");
int i,op,aux;
char nom[max];
do
{
cout<<"Ingrese el nombre a buscar: ";
fflush(stdin);
gets(nom);
for(i=0;i<n;i++)
{

if(strcmp(A[i].nombre,nom)==0)
{
aux=1;
cout<<"Trabajador encontrado...."<<endl;
cout<<endl<<endl;
cout<<"NOMBRE: "<<A[i].nombre<<endl;
cout<<"SUELDO BRUTO: "<<A[i].sueldobruto<<endl;
cout<<"BONIFICACION: "<<A[i].bonificacion<<endl;
cout<<"DESCUENTO: "<<A[i].descuento<<endl;
cout<<"SUELDO NETO: "<<A[i].sueldoneto<<endl;

}
if(aux!=1)
{
cout<<"NO EXISTE AQUEL TRABAJADOR"<<endl;
}

cout<<"Desea buscar otro trabajador? SI[1]--NO[0]";


cin>>op;

}while(op!=0);

//ordena alfabeticamente a los trabajadores ingresados por el usuario


void orden(trabajador A[],int n)
{
system("cls");
int i,j;
char temp[max];

for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(A[i].nombre,A[j].nombre)>0)//aplicando metodo burbuja
{
strcpy(temp,A[i].nombre);
strcpy(A[i].nombre,A[i+1].nombre);
strcpy(A[i+1].nombre,temp);
}
}
}
cout<<setw(15)<<"NOMBRE DE TRABAJADORES ORDENADOS ALFABETICAMENTE"<<endl;
cout<<setw(15)<<"*********************************"<<endl;
for(i=0;i<n;i++)
{
cout<<setw(15)<<i+1<<"."<<A[i].nombre<<endl;
}

//ordena los sueldos netos de los trabajadores ingresados con respecto a sus sueldos netos
void ordenasueldo(trabajador A[],int n)
{
system("cls");
int i,j;
float temp;
cout<<"ORDENADO POR SUELDO NETO DE LOS TRABAJADORES....!"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)//usando metodo burbuja
{
if(A[i].sueldoneto>A[j].sueldoneto)
{
temp=A[i].sueldoneto;
A[i].sueldoneto=A[j].sueldoneto;
A[j].sueldoneto=temp;

}
}

}
for(i=0;i<n;i++)
{
cout<<"\t["<<i+1<<"]."<<A[i].nombre<<"===> "<<A[i].sueldoneto<<endl;
}

//procedimiento para modificar codigo,nombre o sueldo bruto de un trabajador ingresado


por el usuario
void modificaDato(trabajador A[],int n)
{

int i,aux,op,cod,p,rpta;
char nom[max];
system("cls");
do
{
system("cls");

cout<<"Ingrese el codigo a buscar: ";


cin>>cod;
p=buscarcod(A,n,cod);//llamando a la funcion buscar codigo
if(p!=-1)
{
cout<<"Codigo encontrado....."<<endl;
do
{
cout<<"\t\tCampo a modificar"<<endl;
cout<<"\t\t*****************"<<endl;
cout<<"\t1.Codigo: "<<endl;
cout<<"\t2.Nombre: "<<endl;
cout<<"\t3.Sueldo bruto"<<endl;
cout<<"\tESCOJA UNA OPCION [ ]"<<"\b\b";
cin>>op;
switch(op)
{
case 1:
do
{
cout<<"Nuevo codigo: ";
cin>>A[i].clave;

}while(cin>>A[i].clave<0);break;
case 2:
cout<<"Nuevo nombre: ";
fflush(stdin);
gets(A[i].nombre); break;
case 3:
do
{
cout<<"Nuevo sueldo bruto: ";
cin>>A[i].sueldobruto;
}while(A[i].sueldobruto<0);break;
}

}while(op<1||op>4);

}
else
{
cout<<"Codigo no encontrado.....!"<<endl;
}

cout<<"Desea modificar otro ? SI[1]--NO[0]"<<endl;


cin>>rpta;
}while(rpta!=0);

}
//funcion para mostrar el menu en pantalla
int menu()
{
int op;
do
{
system("cls");
cout<<"\t\tMENU"<<endl;
cout<<"\t\t****"<<endl;
cout<<"\t1.Captura datos"<<endl;
cout<<"\t2.Mostrar Reporte"<<endl;
cout<<"\t3.Busqueda por nombre"<<endl;
cout<<"\t4.Ordena alfabetico"<<endl;
cout<<"\t5.Ordena sueldo neto"<<endl;
cout<<"\t6.Modificar campos"<<endl;
cout<<"\t7.SALIR"<<endl;
cout<<"\tESCOJA UNA OPCION [ ]"<<"\b\b";
cin>>op;

}while(op<1||op>7);

return op;
}

También podría gustarte