Ir ao conteúdo
  • Cadastre-se

Problema com txt em C no Codeblocks


RawMaster

Posts recomendados

Boa tarde pessoal.
Estou tendo uma dificuldade na criação de um programa que faça cadastro de funcionario, classificação de funcionarios em ordem alfabetica, busca de funcionario e remover cadastro...
Só que não consigo criar um arquivo txt de banco de dados para armazenar os cadastros e nem sei como coloca-los em ordem alfabetica...
Alguem pode me dar uma luz?? Aqui vai o algoritmo que já fiz ate agora:
 

 

#include <stdio.h>

#include <stdlib.h>
 
void opcao();
int cont=0;
typedef struct ficha
{
    int codigo;
    char nome[50];
    char endereco[50];
    int idade;
    float salario;
}ficha;
 
ficha funcionario[50];
 
void cadastrar();
//void buscar();
//void modificar();
//void remover();
 
main(void){
 
    FILE *file;
    printf("=================================== Bem Vindo A interface de Cadastro de Funcionarios ===================================\n\n\n");
    system("color f9");
    printf("1 - Cadastrar Funcionario\n");
    printf("2 - Buscar funcionario\n");
    printf("3 - Alterar cadastro de Funcionario\n");
    printf("4 - Remover Cadastro de Funcionario\n");
    printf("5 - Sair\n");
    opcao();
}
void cadastrar(){
    int x=0;
    char op=0;
do{
        FILE *file;
        file = fopen("Banco de Dados.txt", "w");
      system("cls");
      printf("Codigo: ");
      scanf("%i",&funcionario[cont].codigo);
        setbuf(stdin,NULL);
      printf("Nome: ");
      gets(funcionario[cont].nome);
        setbuf(stdin,NULL);
      printf("Endereco: ");
      gets(funcionario[cont].endereco);
        setbuf(stdin,NULL);
      printf("Idade: ");
      scanf("%i",&funcionario[cont].idade);
        setbuf(stdin,NULL);
      printf("Salario: ");
      scanf("%f",&funcionario[cont].salario);
        setbuf(stdin,NULL);
      printf("Cadastrar outro funcionario? (S/N)\n");
        scanf("%c", &op);
        setbuf(stdin,NULL);
        if((op != 's') || (op != 's')){
        x = 1;
        }
        else {
            cadastrar();
        }
        ++cont;
 
      }while(x !=1);
        fnz();
}
 
void opcao(){
    int op=0;
    printf("\=>");
   scanf("%d", &op);
   setbuf(stdin,NULL);
switch(op){
 
    case 1: cadastrar(); break;
 
    case 2: //buscar(); break;
 
    case 3: //modificar(); break;
 
    case 4: //remover(); break;
 
    case 5:
        printf("\n===Programa Finalizado!");
        printf("\a\n===Ate a Proxima\n\n");
        return 0;
        break;
 
    default:
        printf("\a\nOperacao Invalida\n");
        system("pause");
        system("cls");
        main();
        break;
}
}
void fnz(){
    int op=0;
    system("cls");
    printf("========[1]Voltar ao menu\n========[0]Finalizar Programa\n=>");
    scanf("%i",&op);
    setbuf(stdin,NULL);
    switch (op){
case 1:
    system("cls");
    main();
    break;
case 0:
    printf("\n===Programa Finalizado!");
    printf("\a\n===Ate a Proxima\n\n");
    return 0;
    break;
default:
    fnz();
    break;
    }
}

 

Se alguem puder me ajudar, eu agradeço.

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...