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");
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Linux rodando do hd externo ou ssd? (0)
Tentando acessar o linux por conexão área remota (1)
Site para donwloads de ISO windows server, xp e outros. (2)
Acabei de formatar meu ssd e deu erro (0)
Não consigo copiar arquivos do Mint para meu smartphone com android 11... (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta