Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gRoOvE

Estoque

Recommended Posts

Bom galera, estou fazendo um trabalho para controle de estoque, mas estou meio perdido...vou postar o que é pedido no exercicio e oq eu já consegui fazer, se puderem dar opiniões ai, do que melhorar, arrumar, organizar, ficarei grato. Preciso de uma dica para organizar as variáveis tb, sempre que preciso alterar alguma fico td perdido.

 

Exercicio:

Fazer um algoritmo e o programa em C para controle de estoque da seguinte forma.

Toda linha de codigo deve ter seu respectivo comentario.

 

a) Cadastro dos itens

- item/descrição

- preço unitário

- qtd em estoque

- qtd vendida/comercializada

 

B) Relatório de estoque

QTD

item/desc R$unit estoq | vend

cartucho HP 53.40 15 78

cabo USB 9.80 13 12

dvd sony 0.95 1000 58300

 

c) Apresentar as seguintes informações

- valor total em estoque (R$)

- valor total comercializado (faturamento)

- item mais vendido (quantidade)

- item que gerou o maior faturamento (qtd * R$ unitario)

 

Estoque Total R$___

 

d) Relatório de Compras

Mesmo relatório de estoque

 

obs:

I) neste relatorio (compras) devam constar os itens.

- com menos de 5 unidades e valor maior que R$ 5,00

- com menos de 50 unidades e valor menor ou igual a R$ 5,00

 

 

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "conio.h"
#define L 3

int main(void)
{
	//Variaveis
	char item[L][60];
	float preco[L];
	int qtd[L][2];
	int i;
	
	float totalEst = 0, totalVend = 0;
		  int maisVend = 0;
		  float maiorFatu = 0;
	char descricao[4][120];
	float estoqueT;
	
	float faturamento[L] = {0,0};
	
	//Entrada
	for(i=0;i<L;i++)
	{
		printf("\nDescricao do Item: ");
		gets(item[i]);
		fflush(stdin);
		printf("Preco Unitario: ");
		scanf("%f",&preco[i]);
		fflush(stdin);
		printf("Quantidade em Estoque: ");
		scanf("%d",&qtd[i][0]); //Estoque
		fflush(stdin);
		printf("Quantidade Vendida: ");
		scanf("%d",&qtd[i][1]); //Vendido
		fflush(stdin);

	//Processamento
		totalEst = totalEst + (preco[i] * qtd[i][0]); //Estoque
		totalVend = totalVend + (preco[i] * qtd[i][1]); //Vendido
		
		faturamento[i] = preco[i] * qtd[i][1];
		
		if (qtd[i][1] > maisVend)
		{
			 maisVend = qtd[i][1];
			 strcpy(descricao[0],item[i]);
		}	 
		if(faturamento[i] > maiorFatu )
		{
			maiorFatu = faturamento[i];
			strcpy(descricao[1],item[i]);
		}
		if((qtd[i][0]) && (preco[i] > 5.0))
		{
			if((qtd[i][0] < 50) && (preco[i] <= 50))
			{
				int listacompras()
				{
					puts("\n[---------------------------- RELATORIO DE COMPRAS ----------------------]");
					printf("\n|=======================================================================|");
					printf("\n|				DESCRICAO|		PRECO|		ESTOQUE|		VENDIDO|");
					printf("\n|=======================================================================|");
					for(i=0;i<L;i++)
					{
						printf("\n|%25s|%13.2f|%15d|%15d|", item[i],preco[i],qtd[i][0],qtd[i][1]);
						printf("\n|-----------------------------------------------------------------------|");
					}
				}   
			}
		}


	}
	//Saida
	puts("\n[---------------------------- RELATORIO DOS ITEMS ----------------------]");
	printf("\n|=======================================================================|");
	printf("\n|				DESCRICAO|		PRECO|		ESTOQUE|		VENDIDO|");
	printf("\n|=======================================================================|");
	for(i=0;i<L;i++)
	{
		printf("\n|%25s|%13.2f|%15d|%15d|", item[i],preco[i],qtd[i][0],qtd[i][1]);
		printf("\n|-----------------------------------------------------------------------|");
	}
	printf("\n\nTotal em Estoque: R$%.2f",totalEst);
	printf("\nTotal Vendido: R$%.2f",totalVend);
	printf("\n");
	printf("\nItem mais vendido: %s",descricao[0]);
	printf("\nItem que gerou mais faturamento: %s",descricao[1]);
	
	listacompras();
	
	
	puts("\n\nDigite algo para sair");
	getch();
}
Obs: Não estou conseguindo fazer rodar essa função, o que está errado ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não use gets.

 

Faz mais sentido fazer uma struct Produto com os dados e declarar um array dessa struct.

 

Obs: Não estou conseguindo fazer rodar essa função, o que está errado ??

 

Isso é muito genérico.Se o compilador cospe algum erro,cole.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isis, não sei usar struct ainda...usei sempre o visual, mas deu pau nessa m*****, um erro q abri outro tópico, quase nao sei mexer com DEV, vou colocar oq ele mostra lah

[linker error] undefined reference to 'listacompras'

id returned exit status

[build error] [estoque.exe] error 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
usei sempre o visual, mas deu pau nessa m*****,

 

Se sempre deu pau já era hora de ver o que acontece ou trocar.

 

Undefined reference acontece porque você não definiu alguma coisa.

Não é id. É Ld,um linker.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não deu tempo ainda...desisti da função "/

tem algum macete pra organizar a declaração das variáveis ??

 

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "conio.h"
#define L 400

void main(void)
{
	//Variaveis
	char item[L][60];
	float preco[L];
	int qtd[L][2];
	int i;
	
	float totalEst = 0, totalVend = 0;
		  int maisVend = 0;
		  float maiorFatu = 0;
	char descricao[4][120];
	float estoqueT = 0;
	
	float faturamento[L];
	int ultimo = 0;
	
	//Entrada
	puts("Digite zero na descricao do item para sair!");
	for(i=0;i<L;i++)
	{
		printf("\nDescricao do Item: ");
		gets(item[i]);
		if(item[i][0] == '0')
		{
			break;
		}
		fflush(stdin);
		printf("Preco Unitario: ");
		scanf("%f",&preco[i]);
		fflush(stdin);
		printf("Quantidade em Estoque: ");
		scanf("%d",&qtd[i][0]); //Estoque
		fflush(stdin);
		printf("Quantidade Vendida: ");
		scanf("%d",&qtd[i][1]); //Vendido
		fflush(stdin);
		

	ultimo = i;
	//Processamento
		totalEst = totalEst + (preco[i] * qtd[i][0]); //Estoque
		totalVend = totalVend + (preco[i] * qtd[i][1]); //Vendido
		
		faturamento[i] = preco[i] * qtd[i][1];
		
		if (qtd[i][1] > maisVend)
		{
			 maisVend = qtd[i][1];
			 strcpy(descricao[0],item[i]);
		}	 
		if(faturamento[i] > maiorFatu )
		{
			maiorFatu = faturamento[i];
			strcpy(descricao[1],item[i]);
		}
	}
	//Saida
	puts("\n[---------------------------- RELATORIO DOS ITEMS ----------------------]");
	printf("\n|=======================================================================|");
	printf("\n|				DESCRICAO|		PRECO|		ESTOQUE|		VENDIDO|");
	printf("\n|=======================================================================|");
	for(i=0;i<=ultimo;i++)
	{
		printf("\n|%25s|%13.2f|%15d|%15d|", item[i],preco[i],qtd[i][0],qtd[i][1]);
		printf("\n|-----------------------------------------------------------------------|");
	}
	printf("\n\nTotal em Estoque: R$%.2f",totalEst);
	printf("\nTotal Vendido: R$%.2f",totalVend);
	printf("\n");
	printf("\nItem mais vendido: %s",descricao[0]);
	printf("\nItem que gerou maior faturamento: %s",descricao[1]);
	
	puts("\n\n\n[---------------------------- RELATORIO PARA COMPRAS ---------------------]");
	printf("\n|=======================================================================|");
	printf("\n|				DESCRICAO|		PRECO|		ESTOQUE|		VENDIDO|");
	printf("\n|=======================================================================|");
	for(i=0;i<=ultimo;i++)
	{
		if( ((qtd[i][0] < 5) && (preco[i] > 5.0)) || ((qtd[i][0] < 50) && (preco[i] <= 5.0)) )
		{
			printf("\n|%25s|%13.2f|%15d|%15d|", item[i],preco[i],qtd[i][0],qtd[i][1]);
			printf("\n|-----------------------------------------------------------------------|");
		} 
	}
	puts("\n\nDigite algo para sair");
	getch();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo você naum sabe mecher com structs, + jah pode usar, c puder a gente te dar uma força!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem algum link pra eu me interar sobre o assunto ?? um struct faz o que basicamente ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

É. portugues.

Boa chance pra comecar a se habituar com idiomas.Sério.

Nem idioma resolve se a criatura que escreve a página não sabe o que está falando ou se nem especifica o ambiente.

Quando se fala em computação é bom pelo menos saber inglês e não ter preguiça de ler só porque não é língua materna. Conheci algumas pessoas que quando eu dava uma referência em inglês apelavam pro "em inglês é difícil", mas você não vai ver jargões de medicina e química numa página de programação pra iniciantes. Dicionário existe p/ isso.

 

E não. Google translator não é uma alternativa.Processamento de linguagem natural foi pro brejo faz uns tempos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isis eu sei que o inglês é indispensável, mas infelizmente não tenho muito conhecimento em inglês, até consigo ler uma coisa ou otra, mas ler algo em inglês sobre um assunto que não faço idéia do que seja fica um pouco dificil, mas obrigado pelo link

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.