A maior rede de estudos do Brasil

Grátis
3 pág.
funcionarios_fabrica

Pré-visualização | Página 1 de 1

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void limpaBuffer(){
	setbuf(stdin,NULL);
}
typedef struct {
	char nome[30];
	int matricula;
	float salario;
} cadastro;
void cadastrar(){
FILE *bancoFuncionario;
cadastro pes;
char sair='\0';
int indice = 1;
bancoFuncionario = fopen("bancoFunc.dat","wb+");
//gravar os dados digitados
	while (sair!='n'){
		printf("Qual seu Nome?\n");
 	limpaBuffer();
 	gets(pes.nome);
		printf("Qual Numero de sua Matricula?\n");
 	scanf("%d", &pes.matricula);
		printf("Qual seu Salario?\n");
 	limpaBuffer();
		scanf("%f",&pes.salario);
	
		
		fwrite(&pes, sizeof(cadastro), 1, bancoFuncionario);
 	indice++;
 	
 	if(indice>1 && indice<5){
 		printf("Digite n Para Encerrar Pesquisa...\n");
 		limpaBuffer();
			scanf("%c", &sair);
		}
		else if (indice >5){
			sair = 'n';	
		}
	}
	fclose(bancoFuncionario);
}
void exibirSal(){
FILE *bancoFuncionario;
cadastro pes;
bancoFuncionario = fopen("bancoFunc.dat","rb+");
 if (bancoFuncionario != NULL) {
 fread(&pes, sizeof(cadastro), 1, bancoFuncionario);
 if (ferror(bancoFuncionario)) {
 printf("\nOcorreu um erro na leitura.");
 }
 while (!feof(bancoFuncionario)) { 
 	limpaBuffer();
 	if( pes.salario > 5000 )
 	printf("\nMAT: %d | Nome: %s | Salario: %.2f |", pes.matricula, pes.nome, pes.salario );
 	fread(&pes, sizeof(cadastro), 1, bancoFuncionario);
 } 
 } 
 fclose(bancoFuncionario);
}
void pesquisaMat(int pesquisa){
FILE *bancoFuncionario;
cadastro pes;
bancoFuncionario = fopen("bancoFunc.dat","rb+");
 if (bancoFuncionario != NULL) {
 fread(&pes, sizeof(cadastro), 1, bancoFuncionario);
 if (ferror(bancoFuncionario)) {
 printf("\nOcorreu um erro na leitura.");
 }
 while (!feof(bancoFuncionario)) { 
 	limpaBuffer();
 	if( pes.matricula == pesquisa ){
	 	printf("\nMAT: %d | Nome: %s | Salario: %.2f |", pes.matricula, pes.nome, pes.salario );
 		fread(&pes, sizeof(cadastro), 1, bancoFuncionario);
 	}else{
 		printf("\n\n\t\tMatricula nao localizada. \n\n");
 		break;
 	}
 } 
 } 
 fclose(bancoFuncionario);
}
main(){
	int menu, pes;	
	do{
			printf ("Escolha uma opcao no Menu: \n\n");
 printf ("\t 1 - Cadastrar \n");
 printf ("\t 2 - Pesquisa MAT \n");
 printf ("\t 3 - Salario Acima de 5K \n");
				printf ("\t 0 - Sair \n");
 printf("\nOpcao: ");
 scanf ("%d",&menu);
 switch (menu){
 case 1:
							system("cls || clear");	
							printf(" \t\t\t\tCadastro\n\n");
							cadastrar();
							system("cls || clear");
							break;
					case 2:
							system("cls || clear");
							printf(" \t\t\t\tPesquisa MAT\n\n");
							
							printf("Digite sua Matricula: ");
							scanf("%d", &pes);
							
							pesquisaMat(pes);
							printf("\n\n");
							system("pause");
							system("cls || clear");
							break;
					case 3:
							system("cls || clear");
							printf(" \t\t\t\tSalario Acima de 5K\n\n");
							exibirSal();
							printf("\n\n");
							system("pause");
							system("cls || clear");
							break;
					case 0:
 return(0);
 break;
 default :
 printf("\t\tA opcao escolhida nao existe no Menu ... \n \n");
 system("pause");
 system("cls || clear");
 break;
				}
		}while(menu);
}