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");
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
VMs e Interfaces de Rede desapareceram (12)
Instalação do drive do adaptador wiffi (7)