I'm trying to create a static list, and I can not display the product name in the printf("\n Indice: %d Valor: %s",i,p->nomeProduto[i].valor);
list, only the "ListList", the query function probably does not work.
Here is the whole code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct tipoElemento{
int valor;
}tElemento;
typedef struct tipoProduto{
tElemento valorLista[100];
int tamanho;
int codProduto;
char nomeProduto;
int precoProduto;
int valorDesconto;
int estoqueProduto[600];
}tProduto;
void limpaTela(){
system("@cls||clear");
}
void iniciarLista(tProduto *p){
p->tamanho = 0;
}
void cadastrar(tProduto *p){
if(p->tamanho < 100){
int auxValor;
char nome;
limpaTela();
printf("\n Informe o nome do produto: ");
scanf("%s", &nome);
//scanf("%d", &auxValor);
p->nomeProduto = nome;
p->valorLista[p->tamanho].valor = auxValor;
p->tamanho++;
} else {
limpaTela();
printf("Lista Cheia!\n");
getch();
}
}
void apresentar(tProduto *p){
int i = 0;
int tamanho = p->tamanho;
if(tamanho <= 0){
limpaTela();
printf("\n Não existem registros na sua lista!");
getch();
} else {
limpaTela();
while(i < tamanho){
printf("\n Indice: %d Valor: %s",i,p->nomeProduto[i].valor);
i++;
}
getch();
}
}
void consultar(tProduto *p){
if(p->tamanho > 0){
int auxValor;
int i = 0;
int encontrou;
printf("\n Informe o codigo do produto para a consulta: ");
scanf("%d", &auxValor);
for(i < p->tamanho && encontrou == 0; i++;){
if(p->valorLista[i].valor == auxValor){
encontrou = 1;
}
}
if(encontrou == 1){
printf("\n Valor encontrado!");
printf("\n %s",p->nomeProduto);
getch();
} else{
printf("\n Valor nao encontrado!");
}
} else{
printf("\n A lista esta vazia");
}
}
void inserirDesconto(tProduto *p){
if(p->tamanho > 0){
//consultar(tProduto *p);
}
}
int main(){
tProduto listaProdutos;
int opcao;
// inicialzando a lista
// listaProdutos = 0;
iniciarLista(&listaProdutos);
do {
limpaTela();
printf("\n 1 - Inserir");
printf("\n 2 - Apresentar");
printf("\n 3 - Consultar");
printf("\n 4 - Inserir Desconto");
printf("\n 5 - Excluir");
printf("\n 0 - Sair");
printf("\n Escolha uma opcao: ");
scanf("%d", &opcao);
switch(opcao){
case 1: cadastrar(&listaProdutos); break;
case 2: apresentar(&listaProdutos); break;
case 3: consultar(&listaProdutos); break;
case 4: inserirDesconto(&listaProdutos); break;
//case 5: excluir(&tProduto); break;
}
} while (opcao != 0);
}