jueves, 18 de noviembre de 2010

Programacion en C

#include
#include
#include
int main(){
int i,n,k,enc,nfilas=10;
char pausa,sx,gi[nfilas],nom[nfilas][15],ci[nfilas][15];
char aux1[15],aux2;
float a,ht,vsb[nfilas],vsn[nfilas];
float aux3,de1,bo1,de2,bo2,bo3,de,bo,asb,asn;
asb=asn=0.0;
system("clear");
do{
printf("\n ing. cantidad de empleados:");
scanf("%d",&n);
}while(!(n>0 && n<=nfilas)); n=n-1; /*inicio del for de lectura y calculo*/ for(i=0;i<=n;i++){ system("clear"); printf("\n empleados---->%d de %d",i,n);
do{
do{
printf("\n ing. cedula:");
scanf("%s",ci[i]);
}while(strcmp(ci[i],"\0")==0);
enc=0;
for(k=0;k<=i-1 && enc==0;k++){ if(strcmp(ci[k],ci[i])==0){ enc=1; } } }while(enc==1); do{ printf("\n ingrese nombre:"); scanf("%s",nom[i]); }while(strcmp(nom[i],"\0")==0); do{ printf("\n ing. grado de instruccion (a/b/c)--->");
getchar();
gi[i]=getchar();
}while(!(gi[i]=='a' || gi[i]=='b' || gi[i]=='c'));
do{
printf("\n ing. horas trabajadas[1.25]----->");
scanf("%f",&ht);
}while(!(ht>=0.0 && ht<=25.0)); do{ printf("\n ing. años de servicio--------->");
scanf("%f",&a);
}while(a<0); do{ printf("\n ing. genero (f/m)-------------->");
getchar();
sx=getchar();
}while(!(sx=='f' || sx=='m'));
switch(gi[i]){
case 'a':vsb[i]=400.0*ht;
de1=vsb[i]*0.03;
bo1=vsb[i]*0.04;
break;
case 'b':vsb[i]=600.0*ht;
de1=vsb[i]*0.06;
bo1=vsb[i]*0.07;
break;
case 'c':vsb[i]=800.0*ht;
de1=vsb[i]*0.09;
bo1=vsb[i]*0.12;
break;
}
switch(sx){
case 'f':bo2=vsb[i]*0.08;
de2=vsb[i]*0.06;
break;
case 'm':bo2=vsb[i]*0.04;
de2=vsb[i]*0.02;
break;
}
if(a==0.0){
bo3=vsb[i]*0.03;
}else{
if(a==1.0){
bo3=vsb[i]*0.07;
}else{
if(a==2.0){
bo3=vsb[i]*0.1;
}else{
bo2=vsb[i]*0.15;
}
}
}
bo=bo1+bo2+bo3;
de=de1+de2;
vsn[i]=vsb[i]+bo+de;
asb=asb+vsb[i];
asn=asn+vsn[i];
}/*fin del for de lectura y calculo*/

/*metodo de la burbuja*/
for(i=0;i<=n-1;i++){ for(k=i+1;k<=n;k++){ if(strcmp(ci[k],ci[i])<0){ strcpy(aux1,ci[k]); strcpy(ci[k],ci[i]); strcpy(ci[i],aux1); strcpy(aux1,nom[k]); strcpy(nom[k],nom[i]); strcpy(nom[i],aux1); aux2=gi[k]; gi[k]=gi[i]; gi[i]=aux2; aux3=vsb[k]; vsb[k]=vsb[i]; vsb[i]=aux3; aux3=vsn[k]; vsn[k]=vsn[i]; vsn[i]=aux3; } } }/*Fin del mètodo de la burbuja*/ system("clear"); printf("\n*******Reporte Final******"); printf("\nNo \tCi \tNombre \tGrado I \tSBase \tSNeto"); for(i=0;i<=n;i++){ printf("\n%d \t%s \t%s \t%c \t%7.2f \t%7.2f",i,ci[i],nom[i],gi[i],vsb[i],vsn[i]); } printf("\nTotales-------------------------------->\t%7.2f \t%7.2f",asb,asn);
printf("\n.........Enter para terminar.....");
getchar();
pausa=getchar();
return 0;
}