ascfla 0 Denunciar post Postado Junho 10, 2008 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
ascfla 0 Denunciar post Postado Junho 11, 2008 alguém pode ajudar nesse exercício aí ? Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 11, 2008 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
ascfla 0 Denunciar post Postado Junho 11, 2008 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
quitZAUMMM 18 Denunciar post Postado Junho 11, 2008 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
ascfla 0 Denunciar post Postado Junho 11, 2008 Putz.. quitZAUMMM dá um help aí... como eu faço isso ? e pra ele acumular o total dps ? [´]'s Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 11, 2008 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
ascfla 0 Denunciar post Postado Junho 11, 2008 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
ascfla 0 Denunciar post Postado Junho 11, 2008 alguém tem alguma ideia de como resolver isso ? ??? Compartilhar este post Link para o post Compartilhar em outros sites