Problemas com controle de estoque [RESOLVIDO]

1. Problemas com controle de estoque [RESOLVIDO]

carolina
carolinaazr

(usa Outra)

Enviado em 02/06/2013 - 19:51h

É o seguinte gente, eu to tentando fazer um controlador de estoque em c++ pra faculdade. Eu consigo cadastrar os produtos e tal, mas eu queria saber como eu faço pra listar so os que eu registrei... meu codigo ta assim:

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

main () {//abertura funçao princial
int codigo[10], qdemin[10], qde[10], qdemax[10],i=0,j,aux,somatorio=0,a,cont=0,b,n;
float preco[10];
char nome[15][10];
do {//abertura do inicial
system ("cls");
printf ("SISTEMA DE CONTROLE DE ESTOQUE\nESCOLHA SUA OPCAO PARA PROSEGUIR \n[1]Adicionar Produto \n[2]Produtos abaixo do estoque minimo\n[3]Valor de estoque para cada produto\n[4]Valor total de estoque\n");
scanf ("%d", &a);
switch (a) {//abertura switch
case 1: system ("cls");
printf ("Insira o Codigo do produto:\n");
scanf ("%d", &codigo[i]);
printf ("Insira o preco do produto:\n");
scanf ("%f", &preco[i]);
printf ("Insira o nome do produto:\n");
scanf ("%s", &nome[cont]);
printf ("Insira o estoque minimo:\n");
scanf ("%d", &qdemin[i]);
printf ("Insira o estoque atual:\n");
scanf ("%d", &qde[i]);
printf ("Insira o estoque maximo:\n");
scanf ("%d", &qdemax[i]);
i=i+1;
cont=cont+1;
printf ("O que deseja fazer agora?\n[5]Voltar ao menu inicial\n[6]Fechar");
scanf ("%d", &b);
break;
case 2: system ("cls");
printf ("Os produtos com codigos listados estao com estoque abaixo do minimo:\n");
printf ("CODIGO || NOME\n");
if (qde[0]<qdemin[0]) {
printf ("%d || %s\n", codigo[0],nome[0]);
};
if (qde[1]<qdemin[1]) {
printf ("%d || %s\n", codigo[1],nome[1]);
};
if (qde[2]<qdemin[2]) {
printf ("%d || %s\n", codigo[2],nome[2]);
};
if (qde[3]<qdemin[3]) {
printf ("%d || %s\n", codigo[3],nome[3]);
};
if (qde[4]<qdemin[4]) {
printf ("%d || %s\n", codigo[4],nome[4]);
};
if (qde[5]<qdemin[5]) {
printf ("%d || %s\n", codigo[5],nome[5]);
};
if (qde[6]<qdemin[6]) {
printf ("%d || %s\n", codigo[6],nome[6]);
};
if (qde[7]<qdemin[7]) {
printf ("%d || %s\n", codigo[7],nome[7]);
};
if (qde[8]<qdemin[8]) {
printf ("%d || %s\n", codigo[8],nome[8]);
};
if (qde[9]<qdemin[9]) {
printf ("%d || %s\n", codigo[9],nome[9]);
};
printf ("O que deseja fazer agora?\n[5]Voltar ao menu inicial\n[6]Fechar");
scanf ("%d", &b);
break;
case 3: system ("cls");
printf ("Quantidade em estoque de cada produto registrado\n");
printf ("CODIGO || NOME DO PRODUTO || ESTOQUE ATUAL\n");
for (i=0 ; i<j ; i++) {printf ("%d || %s || %d\n", codigo[i], nome[cont], qde[i]);};
printf ("\nO que deseja fazer agora?\n[5]Voltar ao menu inicial\n[6]Fechar");
scanf ("%d", &b);
break;

};//fechamento switch
} while (b!=6);//fechamento do inicial
system ("PAUSE");
}// fechamento funçao principal


eu sei que pro case 2 ta mt na ignorancia, mas se nao fosse assim nao tava dando certo hahaha meu problema é o caso 3... se eu registrar 1 produto so, por exemplo, ele vai listar o que eu registrei e mais 9 aleatorios :\ oq eu faço?


  


2. Re: Problemas com controle de estoque [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 03/06/2013 - 12:00h




#define MAX 10

void listar (void)
{
int count;

for (count = 0; count < MAX; count++)
printf ("nome: %s\n", nome[count]);
}

Detalhe nome precisa ser global.

E aprenda a utilizar struct.




3. Re: Problemas com controle de estoque [RESOLVIDO]

Guilherme
guipsp

(usa Ubuntu)

Enviado em 04/06/2013 - 10:45h

Tente fazer o seguinte.

Comente esse código:

//[linha 26] i=i+1; 


Troque esse pessoal de ["i"] para [cont] no case 1:


codigo[cont]
preco[cont]
qdemin[cont]
qde[cont]
qdemax[cont]


No case 3 use o for dessa maneira:

for (i=0 ; i<cont ; i++) 


Mude no case 3 de nome[cont] para nome["i"]


for (i=0 ; i<cont ; i++) {printf ("%d || %s || %d\n", codigo[i], nome[i], qde[i]);};


No case 2 pode tentar fazer um for que vai diminuir bastante o código.

Espero ter ajudado e qualquer dúvida é só responder ao post.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts