Trab
#include
#include
struct ControleFuncionario
{
int CodFun; char NomeFun[40]; char CargoFun[25]; int DataAdm, dia, mes, ano; float SalBruto;
};
void Cadastro(void)
{
FILE *cadfun; struct ControleFuncionario RegFun; int opcao, codigo, continua, data, dia, mes, ano; float salario; char confirma; char confirmar; char cont; char cargo[25]; cadfun = fopen ("CadFun.dat", "ab"); system ("cls"); printf ("...................CADASTRO FUNCIONARIO...................\n\n");
do{ continua = 1; cadfun = fopen ("CadFun.dat", "rb"); printf ("CODIGO (P/ADMINISTRATIVO 1000 A 1999 E PRODUCAO 2000 A 2999): "); scanf ("%i", &codigo); while (fread(&RegFun,sizeof(struct ControleFuncionario),1,cadfun)>0) if(codigo == RegFun.CodFun) { printf ("......CODIGO JA EXISTENTE!......\n"); continua = 2; } if (codigo 2999) { printf ("......CODIGO INVALIDO!......\n"); continua = 2; } }while (continua == 2); RegFun.CodFun = codigo; fflush(stdin); printf ("\nNOME:"); gets (RegFun.NomeFun); do{ continua = 1; printf ("\nDATA DE ADMISSAO (EX. 06062012)"); printf ("\nDATA: "); scanf ("%i", &RegFun.DataAdm); dia = RegFun.DataAdm / 1000000; mes = (RegFun.DataAdm % 1000000) / 10000; ano = RegFun.DataAdm % 10000; if (dia > 31 || mes >12 || ano > 2012 || RegFun.DataAdm < 10000000 ) { printf ("\n........DATA INVALIDA!........\n"); continua = 2; } }while(continua ==2); fflush(stdin); printf ("\nCARGO ADMINISTRATIVO OU PRODUCAO: "); gets (RegFun.CargoFun);
do{ continua = 1; printf ("\nSALARIO