Ir ao conteúdo
  • Cadastre-se

Error no uso do struct


multidrif

Posts recomendados

Não consigo prosseguir com o meu trabalho por causa desse erro,

alguém poderia me ajudar? :D

 linha que acusa o erro >>>> gets(Cliente.nome);

error: expected expression before 'Cliente'

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

typedef struct Endereco{
    char bairro[15];
    char rua[10];
    int numero;
    int cep;
}Endereco;

typedef struct Empresa{
    char nomeEmpr[25];
    float saldo;
    int codigo;
}Empresa;

typedef struct Pessoa{
    char nome[25];
    int cpf;
    int fone;
    Endereco ende;
    Empresa empr;
}Cliente;

int main(){

    printf("Digite o nome do cliente: ");
        gets(Cliente.nome);

    system("pause");
}

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@multidrif Pelo o que eu entendi você programou um objeto chamado Cliente, que tem nome, endereço, cpf, etc.

E no main você tenta armazenar as informações sem antes ter criado um Cliente para recebê-las.

 

Antes do printf do main crie um cliente, algo assim "struct Cliente beltrano;" aí no gets você coloca "gets(beltrano.nome);"

 

Não sei se vai funcionar porque não conheço tanto C, mas tenta aí.

Link para o comentário
Compartilhar em outros sites

gets da problema porque você ta tentando fazer algo como: gets(int.nome). você esta criando um novo tipo de dado com typedef struct Pessoa{...} Cliente, Cliente agora é um tipo de dado como int ou float, só que um tipo de dado composto por otros tipos de dados, como bem te aconselharam você deve declarar primeiro um objeto desse tipo, pois declarando o objeto é quando se faz a reserva de memória, e não quando definimos um tipo de dado.

 

typedef struct Pessoa{...} Cliente é o mesmo que dizer: Defino um novo tipo de dados que vai se chamar Cliente e que é do tipo struct Pessoa

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...