Programa de cadastro em C

0 respostas
programação
E

Olá galera, sou novato na programação em C, e estou fazendo um programa de cadastro, mas estou enfrentando alguns problemas. Estou fazendo o código em pedaços conforme a função que o usuario pedir. Quando gravo um arquivo, na próxima opção, tento ler ele, mas nao aparece nada. Fui olhar a pasta do arquivo criada e tb nao tem nd dentro, ou ele não ta gravando, ou ele nao ta mostrando o que tem gravado devido a erros de implementação, ou os dois. Gostaria que me dessem uma dica doq eu estivesse fazendo errado!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct cadastro

{

int codigo;

char nome[20];

int salario;

};

struct cadastro empregado;

void adicionar();

void alterar();

void excluir();

void procurar();

void listar();

void listarTodos();
int main()

{

struct cadastro c;

int opcao = 10;
while (opcao != 0)

{

printf("=================CADASTRO DE EMPREGADOS================= \n");

printf("**********            1. Adicionar            <strong><em><strong><strong><strong><em>\n");

printf("</em></strong></strong></strong>               2. Alterar                 <strong><em><strong><strong>\n");

printf("</strong></strong>                  3. Excluir                    <strong><em><em>\n");

printf("</em>                     4. Procurar                      <em>\n");

printf("</em></em></strong>                  5. Listar                     <strong><strong>\n");

printf("</strong></strong></em></strong>               6. Listar todos            <strong><strong><strong><em>\n");

printf("</em></strong></strong></strong></em></strong>            0. Sair                 **********\n");

printf("=================CADASTRO DE EMPREGADOS================= \n");
printf(" Digite sua opcao: ");
  scanf("%d",&opcao);
  printf("\n");

  if (opcao == 1)
  {
     adicionar(c);
     system("clear");
  }
  else if (opcao == 2)
  {
     printf("\n");
     //alterar(c);
     printf("\n");
  }
  else if (opcao == 3)
  {
     printf("\n");
     //excluir(c);
     printf("\n");
  }
  else if (opcao == 4)
  {
     printf("\n");
     //procurar(c);
     printf("\n");
  }
  else if (opcao ==  5)
  {
     printf("\n");
     //listar(c);
     printf("\n");
  }
  else if (opcao == 6)
  {
     printf("\n");
     listarTodos();
     printf("\n");
  }
  else 
  {
     opcao = 0;
  }

}
}

void adicionar()

{

FILE *fp;

struct cadastro c;

fp = fopen(cadastro.dat, w);

int opcao = 1;

do

{

printf("\nCADASTRO DE CLIENTES\n\n");
printf("\nDigite o nome: ");
	scanf("%s", c.nome);

	printf("\nDigite o código: ");
	scanf("%d", &c.codigo);

	printf("\nDigite o salário: ");
	scanf("%d", &c.salario);

	printf("Digite 1 para novo cadastro ou 0 para sair: ");
	scanf("%d", &opcao);
}
while (opcao == 1);
fclose(fp);

}

void listarTodos()

{

FILE *fp;

struct cadastro c;

int continua = 1;
fp = fopen("cadastro.dat", "rb");

if (fp == NULL)
{
	printf("Erro ao abrir arquivo");
	getchar();
	//return 1;
}
while (continua == 1)
{
	fread (&c, sizeof(c), 1, fp);

	if (feof(fp))
	{
		continua = 0;
	}
	else
	{
		printf("%s\t", c.nome);
		printf("%d\t", c.codigo);
		printf("%d\t", c.salario);
	}
}
fclose(fp);
//return 0;

}

Criado 24 de outubro de 2017
Respostas 0
Participantes 1