Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones
“En C”
Semestre de Otoño 2006
Claudio Gutiérrez-Soto
Destrezas Esperadas
for(i=0,k=0; i<CantM;i++)
{ for(j=0,encontrado=0;j<CantB && !encontrado;j++)
if(A[i]==B[j])
encontrado=1;
else continue;
if(encontrado==0)
{ Resta[k]=A[i];
k++;
}
else continue;
}
return(Resta);
}
Ejercicio 2
Suponga que tiene una base de datos representada a
través de arreglos en C. En dicha base de datos se tiene
información de los empleados de una empresa. Nota los
arreglos ya contienen información. La cantidad de
empleados es menor o igual a MAXART, si es menor,
entonces los disponibles tienen el carácter nulo en
nombre y apellido :
#define MAXART 500
#define largo 30
Ejercicio 2
#define MAXART 500
#define largo 30
main()
{
char nombre[MAXART][largo];
char apellido[MAXART][largo];
int edad[MAXART];
int sueldobase[MAXART];
:
/* note que las declaraciones anteriores son locales*/
Cree una función que imprima la información de todos los
empleados que ganan más de $250.000.-
Ejercicio 2
Cree una función genérica que permita incrementar el
sueldo de un empleado. Para ello tome en cuenta que
entre los parámetros a ingresar a la función están, el
nombre, el apellido y el porcentaje a incrementar. El
nombre y el apellido son string sin tamaño definido.
Suponga que el procedimiento para eliminar un
empleado es: Se encuentra el empleado, se corren
todos los demás a la celda anterior, finalmente se
coloca un vacío o nulo al final.
Solución 2
for(i=0;i<MAXART;i++)
if(!srtcmp(nombre,nombre[i]) && !srtcmp(apellido,apellido[i]))
{ valor=sueldobase[i]*porcentaje;
sueldobase[i]=sueldobase[i]+valor;
}
else continue;
}
Solución 2
void Eliminar(char NB[],char AB[],char nombre[][largo],char apellido[]
[largo],int edad[], int sueldobase[])
{ int i,j,stop=1;
for(i=0;i<=MAXART && srtlen(nombre[i])!=0;i++)
if(!strcmp(nombre,nombre[i]) && !strcmp(apellido,apellido[i]) && stop)
{ j=i; stop=0; }
else if(!stop)
for(;j<=MAXART && strlen(nombre[j])!=0;j++,i++)
{ strcpy(nombre[j],nombre[i]);
strcpy(apellido[j],apellido[i]);
edad[j]=edad[i];
sueldobase[j]=sueldobase[i]; }
else continue;
}