ursomg
(usa Outra)
Enviado em 14/11/2014 - 16:12h
Boa tarde preciso de ajuda para o cadastro de clientes só que esta dando erro em um lugar.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
char cpf[20];
char nome[40];
char setor[40];
float salario;
}func;
typedef struct
{
int primeiro,ultimo;
func item[40];
}tipolista;
void fazlistavazia(tipolista *lista)
{
lista->primeiro=0;
lista->ultimo = lista->primeiro;
}
int verificalistavazia(tipolista lista)
{
return( lista.primeiro==lista.ultimo);
}
int insere(func x,tipolista *lista)
{
strcpy(lista->item[lista->ultimo].cpf,x.cpf);
strcpy(lista->item[lista->ultimo].nome,x.nome);
strcpy(lista->item[lista->ultimo].setor,x.setor);
lista->item[lista->ultimo].salario = x.salario;
lista->ultimo++;
}
void imprime(tipolista *lista)
{
int i;
for (i=0;i<lista->ultimo;i++)
{
printf("CPF %s",lista->item[i].cpf);
printf("\nNOME..... %s",lista->item[i].nome);
printf("\nSetor..... %s",lista->item[i].setor);
printf("\nSalario... %f",lista->item[i].salario);
}
}
main()
{
func *mylista;
func x;
int d,i;
char linha[255];
FILE*arq;
arq=fopen("lista.txt","r");
fscanf(arq,"%d",&d);
printf("\n%d",d);
for (i = 0; i < d; i++)
mylista = (func *) malloc(sizeof(func));//linha dando erro...
fgets(linha, 255, arq);
strcpy (mylista->cpf, linha);
fgets(linha, 255, arq);
strcpy(mylista->nome,linha);
fgets(linha, 255,arq);
mylista->salario,linha;
fgets(linha,255,arq);
strcpy(mylista->setor,linha);
}
tipolista(mylista);
imprime(mylista);
printf("Informe a cpf: ");
scanf("%s",&x.cpf);
printf("Informe o nome: ");
scanf("%s",&x.nome);
printf("Informe o salario ");
scanf("%f",&x.salario);
printf("Informe o setor: ");
scanf("%s",&x.setor);
insere(x,mylista);
imprime(mylista);
system ("pause");
}