Doubt Nesting Structs

-1

I need to make a product registration program and include these products in a shopping cart and end the sale.

Before I had already done a program that registered the products, which contained only the struct Product:

So:

struct Produto{
    int codigo;
    char descricao[51];
    float valor;
} vprodutos[10];

void incluir();
void excluir(int codigo);
void listar();
void alterar(int coidgo);
void buscar(int codigo);

int posicao;

void incluir(){
    system("cls");

    if(posicao < 10){
        printf("Digite o codigo do produto: \n");
        scanf("%d", &vprodutos[posicao].codigo);
        fflush(stdin);
        printf("Digite a descricao do produto: \n");
        gets(vprodutos[posicao].descricao);
        printf("Digite o valor do produto: \n");
        scanf("%f", &vprodutos[posicao].valor);
        printf("Cadastro efetuado com sucesso!!!\n");
        posicao++;
    }else{
        printf("Memoria cheia!!!\n");
        }
    system("pause");
}

Now I have 2 structs I have done so and are presenting error: error: 'struct Product' has no member named 'stock' - Product has no member named stock:

struct Produto{
    int codigo;
    char descricao[51];
    float valor;
}vprodutos[10];

struct Carrinho{
    int item;
    struct Produto estoque;
    int qtd;
    float subtotal;
}vcarrinho[100];

void menu_manutencao();
void abrircompra(int codigo);
//void fecharCompra();
void incluir();
//void excluir(int codigo);
void listar();
//void alterar(int coidgo);
//void buscar(int codigo);

int posicao;
int posicaovenda;

void incluir(){
    system("cls");

if(posicaovenda < 10){

        printf("Digite o codigo do produto: \n");
        scanf("%d", &vprodutos[posicaovenda].estoque.codigo);
        fflush(stdin);
        printf("Digite a descricao do produto: \n");
        gets(vprodutos[posicaovenda].estoque.descricao);
        printf("Digite o valor do produto: \n");
        scanf("%f", &vprodutos[posicaovenda].estoque.codigo);
        printf("Cadastro efetuado com sucesso!!!\n");
        posicao++;
    }else{
        printf("Memoria cheia!!!\n");
        }
    system("pause");
}
    
asked by anonymous 04.12.2016 / 17:26

1 answer

1

I think the right thing would be to use &vcarrinho[posicaovenda].estoque.codigo , because the struct Cart that has the struct Product.

There may be some error in creating vectors of different sizes.

It also seems like the posicaovenda variable is not being incremented ...

    
05.12.2016 / 11:58