slackneo 0 Denunciar post Postado Novembro 28, 2007 Olá pessoal, Seguinte, estou fazendo um sistema de venda de automóveis, onde tenho de cadastrar os automóveis e depois registrar vendas, até aí tudo bem. Só que preciso emitir um relatório do total de vendas de um determinado dia (por data). Conforme segue o código abaixo: CLASSES VEICULO E VENDAS class Veiculo { public: int cod_vei; char mar_vei[100]; char mod_vei[100]; int ano_vei; float pre_vei; char cor_vei[100]; char pla_vei[100]; /////////////////////////////////////////////////////////////// //método cadastra veiculo void cadVeiculo() { int i=1; system("cls"); cout<< "# CADASTRO DE VEICULO"<<endl<<endl; cout<< "Codigo: "; cin>> cod_vei; cout<< "Marca: "; cin>>mar_vei; cout<< "Modelo: "; cin>> mod_vei; cout<< "Ano: "; cin>> ano_vei; cout<< "Valor R$: "; cin>> pre_vei; cout<< "Cor: "; cin>> cor_vei; cout<< "Placa: "; cin>> pla_vei; } }; class Vendas { public: int cod_venda; int cod_vei; int cod_ven; int cod_cli; int qua_venda; char dat_venda[100]; /////////////////////////////////////////////////////////////// //método registra venda void cadVenda () { cout<< "Codigo Venda: "; cin>> cod_venda; cout<< "Codigo Veiculo: "; cin>> cod_vei; cout<< "Codigo Vendedor: "; cin>> cod_ven; cout<< "Codigo Cliente: "; cin>> cod_cli; cout<< "Quantidade Veiculo: "; cin>> qua_venda; cout<< "Data Venda: "; cin>> dat_venda; } }; PARTE DO MAIN main() { Veiculo v[100]; Vendas vend[100]; int contVei=0,contVend=0; //Controla quantidade cadastrada int i; float tot_dia,total; char consVenda[100]; cout<< "# TOTAL DE VENDAS POR DATA"<<endl<<endl; cout<< "Data: "; cin>> consVenda; system("cls"); cout<< "# RELATORIO VENDAS POR DATA"<<endl<<endl; for (i=0; i < contVend; i++) { if (strcmp(consVenda, vend.dat_venda) == 0) { if (v.cod_vei == vend.cod_vei) { tot_dia = (vend.qua_venda * v.pre_vei);getchar(); total = total + tot_dia; } } } cout<< "Data: "<<consVenda<<endl; cout<< "Valor Total: R$ "<< total; getchar(); getchar(); } } Então, tenho de cadastrar um veículo e registrar vendas, na hora de emitir o relatório tenho de multiplicar a quantidade vendida pelo valor do veículo referente a venda, e se tiver mais de uma venda no mesmo dia repetir o procedimento e somar tudo. tot_dia = (vend.qua_venda * v.pre_vei);getchar(); Nessa parte do código quando realizo somente uma venda, tudo ocorre bem. Porém quando existe mais de uma venda no mesmo dia, os valores aparecem errados. Gostaria que pudessem me ajudar a achar onde está o erro ou algum meio melhor para fazer isso. Agradeço desde já. Compartilhar este post Link para o post Compartilhar em outros sites
slackneo 0 Denunciar post Postado Dezembro 4, 2007 Bom, Consegui resolver o erro, e vou postá-lo. Essa parte do código está com erro. cout<< "# RELATORIO VENDAS POR DATA"<<endl<<endl; for (i=0; i < contVend; i++) { if (strcmp(consVenda, vend.dat_venda) == 0) { if (v.cod_vei == vend.cod_vei) { tot_dia = (vend.qua_venda * v.pre_vei);getchar(); total = total + tot_dia; } } } Aqui o código certo. int i,j; cout<< "# RELATORIO VENDAS POR DATA"<<endl<<endl; for (i=0; i < contVend; i++) { if (strcmp(consVenda, vend.dat_venda) == 0) { for (j=0; j < contVei; j++) { if (v[j].cod_vei == vend.cod_vei) { tot_dia = (vend.qua_venda * v[j].pre_vei);getchar(); total = total + tot_dia; } } } Precisava de mais um for para percorrer o vetor v[]; É isso aí pessoal, Obrigado a todos que leram mesmo não postando alguma dica. } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 4, 2007 parabéns ;) Compartilhar este post Link para o post Compartilhar em outros sites