Pessoal, consegui. Decidi organizar com a struct numa biblioteca, as chamadas das funcoes em outra. e o restanta no main() principal. Vejam só: //estru.h struct Funcionario
{
char sexo;
int estCivil;
int idade;
float salario;
};
---------------------------------------
//Funções de chamada == chamada.h
#include "estrut.h"
void lerFuncionario (struct Funcionario *f)
{
printf("*=*= CADASTRO DE FUNCIONARIOS =*=*\n\n");
printf("INFORME O SEXO: \n\n");
printf("\n F - FEMININO: \n");
printf("\n M - MASCULINO: \n\n");
scanf("%s", &(*f).sexo);
printf("\nINFORME O ESTADO CIVIL: \n\n");
printf("\n1 - SOLTEIRO \n");
printf("2 - CASADO \n");
printf("3 - DIVORCIADO \n");
printf("4 - VIUVO \n");
printf("5 - OUTROS \n\n");
scanf("%d", &(*f).estCivil);
printf("INFORME A IDADE: \n\n");
scanf("%d", &(*f).idade);
printf("INFORME O SALARIO: \n\n");
scanf("%f", &(*f).salario);
}
float bonus (struct Funcionario f)
{
if (f.sexo == 'm'|| f.sexo == 'M')
{
if (f.estCivil == 1 && f.idade < 30)
{
return f.salario * 0.25;
}
if (f.estCivil == 2)
{
return f.salario * 0.30;
}
}
if (f.sexo == 'f' || f.sexo == 'F')
{
if (f.estCivil == 2 && f.idade < 40)
{
return f.salario * 0.30;
}
if (f.estCivil == 2 && f.idade >= 40)
{
return f.salario * 0.35;
}
if (f.estCivil == 1)
{
return f.salario * 0.25;
}
}
else {
printf("\n\nVOCE não POSSUI BONUS.");
}
}
**********************
por fim, o main():
-----------------------------
#include <stdio.h>
#include <stdlib.h>
#include "chamada.h"
main()
{
struct Funcionario funcionario;
lerFuncionario (&funcionario);
printf("\n\n\nO BONUS: R$ %.2f \n", bonus(funcionario));
system("pause");
}