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");
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (7)
Aprendendo mais sobre Linux com livro (6)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (6)