Ir para conteúdo

POWERED BY:

Arquivado

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

ascfla

Problema com Registro

Recommended Posts

Aos amigos do fórum ...

to com um exercício pra resolver aki e to c algumas dificuldades, o objetivo é fazer o levantamento das compras de uma Empresa qualquer a partir de uma tabela de itens adquiridos que tenha a seguinte estrutura : data da compra,código do produto , código do setor responsável pela compra,descrição do produto,tipo do produto(onde to apanhando pra retornar o valor ) , quantidade e preço sendo q são 1000 os itens adquiridos

bom... o programa deve retornar o valor total das compras , o valor por tipo de produto e o total por setor responsável

e tbm uma relação ordenada por setor responsável pela compra e uma relação ordenada por tipo de produto .

ate agora.. o código tá assim.. só q tá dificil terminar.. se alguem puder ajudar..

 

CODE

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

#include "conio.h"

#define L 1000

 

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];

char tipo[4][100];

float estoqueT = 0;

 

float faturamento[L];

int ultimo = 0;

 

//Entrada

printf("*********** ORGANIZACOES TABAJARA Ltda. ************\n");

printf("\n\n");

puts("Digite zero na descricao do produto para sair!");

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

{

printf("\nDescricao do Item: ");

gets(item);

if(item[0] == '0')

{

break;

}

fflush(stdin);

printf("Preco Unitario do produto: ");

scanf("%f",&preco);

fflush(stdin);

printf("Quantidade do produto em Estoque: ");

scanf("%d",&qtd[0]); //Estoque

fflush(stdin);

printf("Quantidade Vendida do produto: ");

scanf("%d",&qtd[1]); //Vendido

fflush(stdin);

printf("Tipo do Produto: ");

scanf("%d",&tipo[0]); //Vendido

fflush(stdin);

 

ultimo = i;

//Processamento

totalEst = totalEst + (preco * qtd[0]); //Estoque

totalVend = totalVend + (preco * qtd[1]); //Vendido

 

faturamento = preco * qtd[1];

 

if (qtd[1] > maisVend)

{

maisVend = qtd[1];

strcpy(descricao[0],item);

}

if(faturamento > maiorFatu )

{

maiorFatu = faturamento;

strcpy(descricao[1],item);

}

}

//Saida

puts("\n[---------------------------- RELATORIO DOS ITEMS ----------------------]");

printf("\n|=======================================================================|");

printf("\n| DESCRICAO| PRECO| TIPO| VENDIDO|");

printf("\n|=======================================================================|");

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

{

printf("\n|%25s|%13.2f|%25s|%15d|", item,preco,tipo,qtd[1]);

printf("\n|-----------------------------------------------------------------------|");

}

printf("\n\nTotal em Estoque: R$%.2f",totalEst);

printf("\nTotal Vendido do Produto: 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 DOS ITENS ADQUIRIDOS ----------------]");

printf("\n|=======================================================================|");

printf("\n| DESCRICAO| PRECO| TIPO| VENDIDO|");

printf("\n|=======================================================================|");

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

{

if( ((qtd[0] < 5) && (preco > 5.0)) || ((qtd[0] < 50) && (preco <= 5.0)) )

{

printf("\n|%25s|%13.2f|%25s|%15d|", item,preco,tipo,qtd[1]);

printf("\n|-----------------------------------------------------------------------|");

}

}

puts("\n\nDigite algo para sair");

getch();

}

obs1 : se alguem puder ajudar.. to totalmente perdido..

obs2:dando crédito a quem mereçe e como iniciante q sou ,usei como base o código de outro amigo do fórum ok .

 

desde já agradeço a colaboração de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor do que tentar adaptar esse é começar um novo.

Voce sabe usar registro "struct"?

 

Aqui no fórum tem exemplos.

Comece pela declaração da struct com os seguintes campos:

 

data da compra,código do produto , código do setor responsável pela compra,descrição do produto,tipo do produto(onde to apanhando pra retornar o valor ) , quantidade e preço.

Isso será um bom começo.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

aí amigo..

adaptei outro código e ate agora.. tá assim.. o problema tá nos if pra acumular :

- o total de vendas por tipo de produto

- o preço total das compras

- o total por setor..

 

e ainda tem q imprimir dps uma relação ordenada por setor e outra por tipo de produto..

 

alguem pode ajudar aí..

 

o código ... ate agora :

 

CODE

#include<stdio.h>

#include<conio.h>

struct data{

int dia,mes,ano;

};

struct endereco{

char rua[30],bairro[20];

int numero;

};

struct campos{

char nome[80];

int cod_setor;

int telefone[10];

struct data dt;

struct endereco e;

int cod_prod;

int qtd;

char desc_prod[50];

int tipo;

float preco;

float total1,vlr2,vlr3;

 

 

};

 

main(){

struct campos a[1000];

int qtde,i;

printf("_________________________________________________________________________\n");

printf("\n *********** ORGANIZACOES TABAJARA Ltda. ************\n\n\n");

printf("\nDigite a quantidade de itens que deseja cadastrar:");

scanf("%d",&qtde);

for(i=0;i<qtde;i++) {

printf("\n Nome do produto:\t");

fflush(stdin);

gets(a.nome);

printf("\n Codigo do produto: (1 a 10) \t");

fflush(stdin);

scanf("%d",&a.cod_prod);

printf("\n Descricao do produto:\t");

fflush(stdin);

gets(a.desc_prod);

printf("\n Tipo do produto: (1=alimenticio / 2=vestuario / 3= cama e mesa\t");

fflush(stdin);

scanf("%d",&a.tipo);

 

//if (a.tipo==1){ aki que começa a complica..

 

printf("\n Digite o Codigo do Setor responsavel:(1 a 5)\t");

fflush(stdin);

scanf("%d",&a.cod_setor);

printf("\n Digite a quantidade do produto adquirido:\t");

fflush(stdin);

scanf("%d",&a.qtd);

printf("\n Preco do produto: \t");

fflush(stdin);

scanf("%f",&a.preco);

printf("\n Data da Aquisicao : \t");

printf("\n Dia (1 a 31):\t");

fflush(stdin);

scanf("%d",&a.dt.dia);

printf("Mes (1 a 12):\t");

fflush(stdin);

scanf("%d",&a.dt.mes);

printf("Ano: ");

fflush(stdin);

scanf("%d",&a.dt.ano);

}

printf("\n\n\n\n");

for(i=0;i<qtde;i++){

printf("\n ********** Nome do Produto Adquirido=%s", a.nome);

printf("\n ********** Codigo do setor responsavel=%d",a.cod_setor);

printf("\n ********** Codigo do produto=%d ",a.cod_prod);

printf("\n ********** Descricao do Produto=%s",a.desc_prod);

printf("\n ********** Tipo =%d",a.tipo);

printf("\n ********** Data da Compra: %d/%d/%d",a.dt.dia,a.dt.mes,a.dt.ano);

printf("\n ********** Quantidade =%d",a.qtd);

printf("\n ********** Preco=%.2f\n",a.preco);

 

}

printf("\n");

getch();}

desde já agradeço a quem puder ajudar aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sabe oq você faz da uns printf's na tela para ver oq é q esta entrando nas variaveis!

 

[´]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom você ta dizendo q ta dando erros nos if's, entaum antes de entrar nos if's coloca um printf na variavel q entrara no if para ver q valor q ta vindo, c ta entrando no if e naum esta fazendo, c ta vindo valor errado e pulando o if!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema agora é acumular e imprimir a soma de cada tipo de produto e dps a soma total..

usei switch case...

e agora galera ?

 

CODE

#include<stdio.h>

#include<conio.h>

struct data{

int dia,mes,ano;

};

struct endereco{

char rua[30],bairro[20];

int numero;

};

struct campos{

char nome[80];

int cod_setor;

int telefone[10];

struct data dt;

struct endereco e;

int cod_prod;

int qtd;

char desc_prod[50];

int tipo;

float preco;

//float soma,vlr2,vlr3;

 

 

 

};

 

main(){

struct campos a[1000];

int qtde,i;

float soma;

 

printf("_________________________________________________________________________\n");

printf("\n *********** ORGANIZACOES TABAJARA Ltda. ************\n\n\n");

printf("\nDigite a quantidade de itens que deseja cadastrar:");

scanf("%d",&qtde);

for(i=0;i<qtde;i++) {

printf("\n Nome do produto:\t");

fflush(stdin);

gets(a.nome);

printf("\n Codigo do produto: (1 a 10) \t");

fflush(stdin);

scanf("%d",&a.cod_prod);

printf("\n Descricao do produto:\t");

fflush(stdin);

gets(a.desc_prod);

printf("\n Tipo do produto: \n\n 1=alimenticio \n 2=vestuario \n 3= cama e mesa \n 4=saude e beleza \n 5=informatica \n 6=esporte e lazer\t\n\n --->>");

fflush(stdin);

scanf("%d",&a.tipo);

 

//if (a.tipo==1){ aki que começa a complica..

 

printf("\n Digite o Codigo do Setor responsavel: (1 a 5)\t");

fflush(stdin);

scanf("%d",&a.cod_setor);

printf("\n Digite a quantidade do produto adquirido:\t");

fflush(stdin);

scanf("%d",&a.qtd);

printf("\n Preco do produto: \t");

fflush(stdin);

scanf("%f",&a.preco);

printf("\n Data da Aquisicao : \t");

printf("\n Dia (1 a 31):\t");

fflush(stdin);

scanf("%d",&a.dt.dia);

printf("Mes (1 a 12):\t");

fflush(stdin);

scanf("%d",&a.dt.mes);

printf("Ano: ");

fflush(stdin);

scanf("%d",&a.dt.ano);

}

printf("\n\n\n\n");

 

for(i=0;i<qtde;i++){

printf("\n ********** Nome do Produto Adquirido=%s", a.nome);

printf("\n ********** Codigo do setor responsavel=%d",a.cod_setor);

if (a.cod_prod=1){

printf(" Alimenticio");

soma=(soma+a.preco);

printf("\nSoma do Tipo Alimenticio1= %.2f",soma); //// o problema tá nesses if.. e no printf que ele ta gerando..

}

if (a.cod_prod=2){

printf(" vestuario");

soma=(soma+a.preco);

printf("\nSoma do Tipo vestuario= %.2f",soma);

}

printf("\n ********** Codigo do produto=%d ",a.cod_prod);

printf("\n ********** Descricao do Produto=%s",a.desc_prod);

printf("\n ********** Tipo =%d",a.tipo);

printf("\n ********** Data da Compra: %d/%d/%d",a.dt.dia,a.dt.mes,a.dt.ano);

printf("\n ********** Quantidade =%d",a.qtd);

printf("\n ********** Preco=%.2f\n",a.preco);

printf("\n ********** Valor total da Compras = %.2f R$",soma);

 

}

printf("\n");

getch();}

o problema tá nas linhas q retornam o valor das somas por tipo .. e no total..

ajuda aí galera....

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.