Eu preciso fazer um trabalho pra gestão de funcionários de uma empresa, a maioria do código foi feit

1. Eu preciso fazer um trabalho pra gestão de funcionários de uma empresa, a maioria do código foi feit

Caio Sá
Ghost7

(usa Outra)

Enviado em 28/04/2017 - 17:37h


#include<stdio.h>
#include<stdlib.h> //para a funcao exit()
#include<conio.h>
#include<string.h>
#define SIZE 200


/* Estrutra para armazenar a ficha do funcionario*/
struct cadastro
{
int cod; /* Código do funcionario*/
char nome[SIZE]; /* Nome do funcionario*/
char end[SIZE]; //endereco do funcionario
int fone; //telefone de contato do funcionario
char email[SIZE]; //email do funcionario
float salario; /* Salario do funcionario*/
char cargo[SIZE]; /* Cargo do funcionario*/

};


//-- Variáveis do tipo: global -----------
FILE *cadastros;
struct cadastro cadast;

int vet[10], soma=0, x;

//-- Declarando funções ------------
void abre_arquivo(){ // função que abre o arquivo de cadastros

cadastros=fopen("cadastros.txt","rb+"); // tenta abrir o arquivo (rb+)
if(cadastros == NULL) // se ele ainda não existe
cadastros=fopen("cadastros.txt","wb+");// então criamos ele (wb+)
if(cadastros == NULL) // se a criação também não funcionar
printf("\nErro ao abrir/criar arquivo de cadastros"); // então uma mensagem de erro é mostrada
}


/* Estrutra para as funcões*/
struct cadastro funcionario[SIZE];
int topo;
void inserir();
void excluir();
void listar();
void pesquisar();
void pesquisarnome();
void calcular();
void alterar();



/* Programa Principal*/
int main()
{
int opcao;
char seguir = 's';

topo = 0;

while(seguir == 's')
{
system("cls");
system("color F0");
printf(" %c----------------------------------------------------------------------------%c\n",201,187);
printf(" | ");
printf("\t\t\t- CADASTRO DE FUNCIONARIOS -");
printf("\t\t\t |\n");
printf(" %c----------------------------------------------------------------------------%c\n\n",200,188);
printf("\t\t\t %c----------%c\t\t\t\t ",201,187);
printf("\t\t\t | MENU: ");
printf("|\t\t\t\t \n");
printf("\t\t %c-----------%c----------%c------------%c \n",201,200,188,187);
printf("\t\t | <1> Novo cadastro |\n");
printf("\t\t |-----------------------------------|\n");
printf("\t\t | <2> Excluir cadastro |\n");
printf("\t\t |-----------------------------------|\n");
printf("\t\t | <3> Listar Categorias |\n");
printf("\t\t |-----------------------------------|\n");
printf("\t\t | <4> Pesquisar matricula |\n");
printf("\t\t |-----------------------------------|\n");
printf("\t\t | <5> Pesquisar funcionario |\n");
printf("\t\t |-----------------------------------|\n");
printf("\t\t | <6> Alterar cadastro |\n");
printf("\t\t %c-----------------------------------%c\n",200,188);
printf("\n%c----------------------------------------------------------------------------%c\n",201,187);
printf("| ");
printf(" Digite sua opcao: ");
scanf("%d%*c",&opcao);
printf("\n");


switch(opcao)
{
case 1:
{
printf(" INSERINDO NOVO REGISTRO \n\n");
if(topo < SIZE)
{
inserir();
printf(" DADO INSERIDO COM SUCESSO!\n\n");
}
else
{
printf(" Desculpe, Sitema de Cadastro esta no limite!\n\n");
}
break;
}

case 2:
{
if(topo == 0)
{
printf("não há dados para serem excluidos!\n\n");
}
else
{
excluir();
printf(" DADO EXCLUIDO COM SUCESSO!\n\n");
}
break;
}
case 3:
{
if(topo == 0)
{
printf("não há dados no sistema!\n\n");
}
else
{
printf(" Listando os Funcionarios cadastrados\n\n");
listar();
}
break;
}
case 4:
{
if(topo == 0)
{
printf("não há dados no sistema!\n\n");
}
else
{
printf(" PESQUISANDO DADO\n\n");
pesquisar();
}
break;
}
case 5:
{
if(topo == 0)
{
printf("não há dados no sistema!\n\n");
}
else
{
printf(" PESQUISANDO DADO\n\n");
pesquisarnome();
}
break;
}
case 6:
{
if(topo == 0)
{
printf("não há dados no sistema!\n\n");
}
else
{
printf(" ALTERARANDO DADOS!\n\n");
alterar();
printf(" DADOS ALTERADOS COM SUCESSO!\n\n");
}
break;
}
default:
printf(" ( OPCAO INVALIDA! )\n\n");


}
printf(" CONTINUAR?(S/N) ");
scanf("%c",&seguir);

printf("\n");
}

getch();
return 0;

}


/*Função para inserir um funcionario do Sistema*/
void inserir()
{
funcionario[topo].cod = topo+1;
printf(" CODIGO : %d\n",funcionario[topo].cod);

printf(" NOME: ");
fgets(funcionario[topo].nome,50,stdin);
fflush(stdin);
printf(" ENDERECO: ");
fgets(funcionario[topo].end,50,stdin);
fflush(stdin);
printf(" TELEFONE: ");
scanf("%d", &funcionario[topo].fone);
fflush(stdin);
printf(" EMAIL: ");
fgets(funcionario[topo].email,50,stdin);
fflush(stdin);
printf(" CARGO: ");
fgets(funcionario[topo].cargo,30,stdin);
fflush(stdin);
printf(" SALARIO: ");
scanf("%f", &funcionario[topo].salario);
fflush(stdin);
printf("\n");

topo = topo + 1;
}


/*Função para excluir um funcionario do Sistema*/
void excluir()
{
topo = topo - 1;
}


/*Função para listar os funcionarios cadastrados no Sistema*/
void listar()
{
int i;

for(i = 0;i < topo; i++)
{
printf(" ARQUIVO %d\n",(i+1));
printf(" CODIGO: %d",funcionario[i].cod);
printf(" NOME: %s",funcionario[i].nome);
printf(" TELEFONE: %d",funcionario[i].fone);
printf(" EMAIL: %s",funcionario[i].email);
printf(" CARGO: %s",funcionario[i].cargo);
printf(" SALARIO: %f",funcionario[i].salario);
printf("\n\n");
}
}


/*Função para pesquisar por matricula do funcionario cadastrados
no Sistema e mostrar os dados for se caso for encontrado*/
void pesquisar()
{
int i,dado,cont = 0;
printf(" PESQUIZA POR CODIGO: ");
scanf("%d",&dado);
for(i = 0;i < topo; i++)
{
if(dado == funcionario[i].cod)
{
printf("Dado Encontrado \n\n");
printf(" CODIGO: %d",funcionario[i].cod);
printf(" NOME: %s",funcionario[i].nome);
printf(" TELEFONE: %d",funcionario[i].fone);
printf(" EMAIL: %s",funcionario[i].email);
printf(" CARGO: %s",funcionario[i].cargo);
printf(" SALARIO: %f",funcionario[i].salario);
printf("\n");
cont = cont + 1;
}
}
if(cont == 0)
{
printf(" Registro não Encontrado!\n\n");
}
}


/*Função para pesquisar por matricula do funcionario cadastrados
no Sistema e mostrar os dados for se caso for encontrado*/
void pesquisarnome()
{
int i,dados,cont = 0;
printf(" PESQUIZA POR nome: ");
scanf("%d",&dados);
for(i = 0;i < topo; i++)
{
if(dados == 'funcionario[i].nome')
{
printf("Dado Encontrado \n\n");
printf(" CODIGO: %d",funcionario[i].cod);
printf(" NOME: %s",funcionario[i].nome);
printf(" TELEFONE: %d",funcionario[i].fone);
printf(" EMAIL: %s",funcionario[i].email);
printf(" CARGO: %s",funcionario[i].cargo);
printf(" SALARIO: %f",funcionario[i].salario);
printf("\n");
cont = cont + 1;
}
}
if(cont == 0)
{
printf(" Registro não Encontrado!\n\n");
}
}


/*Função para alterar os funcionarios cadastrados no Sistema*/
void alterar()
{
int i,dado,cont = 0;

printf(" ATENCAO! PARA ALTERAR UM REGISTRO \n");
printf(" EFETUE UMA PESQUIZA PELO SEU CODIGO. \n\n");
printf(" CODIGO DO REGISTRO: ");
scanf("%d",&dado);
for(i = 0;i < topo; i++)
{
if(dado == funcionario[i].cod)
{
cont = cont + 1;

funcionario[topo].cod = topo+1;
printf(" CODIGO : %d\n",funcionario[topo].cod);

printf(" NOME: ");
fgets(funcionario[topo].nome,50,stdin);
fflush(stdin);
printf(" ENDERECO: ");
fgets(funcionario[topo].end,50,stdin);
fflush(stdin);
printf(" TELEFONE: ");
scanf("%d", &funcionario[topo].fone);
fflush(stdin);
printf(" EMAIL: ");
fgets(funcionario[topo].email,50,stdin);
fflush(stdin);
printf(" CARGO: ");
fgets(funcionario[topo].cargo,30,stdin);
fflush(stdin);
printf(" SALARIO: ");
scanf("%f", &funcionario[topo].salario);
fflush(stdin);
}
}
if(cont == 0)
{
printf(" DADO não ENCONTRADO!\n\n");



  


2. Re: Eu preciso fazer um trabalho pra gestão de funcionários de uma empresa, a maioria do código foi feit

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 29/04/2017 - 04:40h

Boa note.

E qual a dúvida? Você só postou um pedaço (grande) do código; não perguntou nada...

Enzo Ferber
[]'s


$ indent -kr -i8 src.c

"(...)all right-thinking people know that (a) K&R are _right_ and (b) K&R are right."
- linux/Documentation/CodingStyle - TORVALDS, Linus.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts