-1
I have to do a job and it’s giving me a mistake that I’m not able to fix, the mistake says:
assignment to Expression with array type
The error is in the void inicializarcategoria()
I really need help
#include <stdio.h>
#include <stdlib.h>
#define TAMANHO 60
typedef struct categoria{
char nome[60];
}CATEGORIA;
typedef struct produto {
char nome[60];
int kcal;
int lactose;
CATEGORIA categoria;
}PRODUTO;
typedef struct compra{
char nome_compra[100];
}COMPRA;
CATEGORIA cat[TAMANHO];
PRODUTO prod[TAMANHO];
void inicializarcategoria(){
int i; cat[i].nome = nome_da_categoria;
for(i = 0;i < TAMANHO ;i++);
cat[i].nome = NULL;
}
void criar_categoria(char* nome_da_categoria){
int i;
for(i = 0; cat[i].nome != NULL && i < TAMANHO && cat[i].nome != nome_da_categoria; i++);
if(i == TAMANHO)
printf("erro tamanho do array excedido\n");
if(cat[i].nome == nome_da_categoria)
printf("ja existe categoria\n");
if(i < TAMANHO && cat[i].nome != nome_da_categoria)
cat[i].nome = nome_da_categoria;
}
int main(){
inicializarcategoria();
inicializarproduto();
menu();
menulistacompra();
return 0;
}
Another thing, to compare strings, I recommend using strcpy, from the string library. h
– Gabriel Pellegrino
it seems to me that it would be
strcmp
– JJoao
Sorry, I was wrong!
– Gabriel Pellegrino