Bom, estou tendo dificuldade de finalizar o este algoritmo, pois a funcao 3 do menu não funciona perfeitamente, pois ela le a entrada de dado mas não relaciona com o dado exato que esta armazenado dentro da lista feita pelo struct.
O objetivo do programa e criar um programa que se utilize-se de struct para armazenamentos de dados, que contenha as funções cadastro(produto, valor e código), imprima a lista, busque por nome de produto para uma loja de materiais.
esta e a parte q não consigo resolver:
void imp_cod(){ fflush(stdin); int i; char aux[80]; printf("DIGITE O NOME DO PRODUTO A BUSCAR"); scanf("%s",&aux[80]); for(int i=0;i<qte;i++){ if(aux[80]==lj[qte].nome_p);
Pergunta
ABYDABI
URGENTE.
Bom, estou tendo dificuldade de finalizar o este algoritmo, pois a funcao 3 do menu não funciona perfeitamente, pois ela le a entrada de dado mas não relaciona com o dado exato que esta armazenado dentro da lista feita pelo struct.
O objetivo do programa e criar um programa que se utilize-se de struct para armazenamentos de dados, que contenha as funções cadastro(produto, valor e código), imprima a lista, busque por nome de produto para uma loja de materiais.
esta e a parte q não consigo resolver:
void imp_cod(){
fflush(stdin);
int i;
char aux[80];
printf("DIGITE O NOME DO PRODUTO A BUSCAR");
scanf("%s",&aux[80]);
for(int i=0;i<qte;i++){
if(aux[80]==lj[qte].nome_p);
printf("COD:%dNOME:%sR$%.2f",lj.cod_e,lj.nome_p,lj.valor);
}
}
Este e o código "completo":
#include<iostream>
#include<locale.h>
struct estoque{
int cod_e;
char nome_p[80];
float valor;
};
estoque lj[50];
int qte=0;
void cadastro(){
fflush(stdin);
printf("\t+------------------------------------------------------+\n");
printf("\t DIGITE O CODIGO DO PRODUTO ");
scanf("\t%d",&lj[qte].cod_e);
fflush(stdin);
printf("\t+------------------------------------------------------+\n");
printf("\t DIGITE O NOME DO PRODUTO ");
gets(lj[qte].nome_p);
fflush(stdin);
printf("\t+------------------------------------------------------+\n");
printf("\t DIGITE O VALOR UNITARIO DO PRODUTO R$");
scanf("%f",&lj[qte].valor);
printf("\t+------------------------------------------------------+\n");
fflush(stdin);
qte++;
}
void imp_es(){
fflush(stdin);
for(int i; i<qte; i++){
printf("\n\t+------------------------------------+\n");
printf("\tCODIGO: %d\n\tNOME: %s\n\tVALOR: R$%.2f\n", lj.cod_e, lj.nome_p, lj.valor);
printf("\t+------------------------------------+\n");
}
}
void imp_cod(){
fflush(stdin);
int i;
char aux[80];
printf("DIGITE O NOME DO PRODUTO A BUSCAR");
scanf("%s",&aux[80]);
for(int i=0;i<qte;i++){
if(aux[80]==lj[qte].nome_p);
printf("COD:%dNOME:%sR$%.2f",lj.cod_e,lj.nome_p,lj.valor);
}
}
int menu(int op){
system("cls");
printf("\t+------------------------------------------------------+\n");
printf("\t| MENU |\n");
printf("\t+------------------------------------------------------+\n");
printf("\t| 1 - CADASTRAR PRODUTO |\n");
printf("\t| 2 - ESTOQUE |\n");
printf("\t| 3 - BUSCAR PRODUTO |\n");
printf("\t| 4 - SAIR |\n");
printf("\t+------------------------------------------------------+\n");
printf("\t| DIGITE A OPERAÇÂO |\n");
printf("\t+------------------------------------------------------+\n");
scanf("%d",&op);
return(op);
}
main(){
setlocale(LC_ALL,"");
int op;
printf("\t+------------------------------------------------------+\n");
printf("\t| BEM VINDO AO CONTROLE DE ESTOQUE |\n");
printf("\t+------------------------------------------------------+\n");
printf("\t| APERTE QUALQUER TECLA PARA CONTINUAR |\n");
printf("\t+------------------------------------------------------+\n");
system("pause");
do{
op=menu(op);
if(op==1){
cadastro();}
else if(op==2){
imp_es();
system("pause");
}
else if(op==3){
imp_cod();
system("pause");
}
else if(op==4){
system("cls_clear");
return 0;}
}while(op!=4);
system("pause");
}
Agradeço se alguém puder ajudar :D
Editado por ABYDABILink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.