Pontos 0 Denunciar post Postado Março 29, 2009 Pessoal sou novo no forum, meu portugues e pessimo, mas esse nao e o problema. e sim esse. Uma fábrica tem 3 representantes. Cada um recebe uma comissão calculada a partir do número de itens de um pedido, segundo o seguinte critério: para menos de 20 itens vendidos, a comissão é de 10% do valor total do pedido; para pedidos de 20 a 49 itens, a comissão é 15%; para pedidos de 50 a 74 itens, é de 20%; e para pedidos iguais ou superiores a 75 itens, é de 25%. Elabore um programa que processe alguns pedidos. Para cada pedido o programa deve ler o código do representante (1, 2 ou 3), o valor total do pedido e o total de itens do pedido. O programa deve informar:o valor da comissão de cada pedido; o total de vendas dos pedidos processados; o total de comissões para cada representante e o total de comissões que a companhia pagou aos seus representantes. esse e o meu codigo. #include<iostream.h> int main() { int pedido, iten_pedido, comissao, rep, op; float Val_pedido, cm; bool control=true; while(control==true) { cout<<"°_____________________________________________________°"<<endl; cout<<"| Pagamento de comissao |"<<endl; cout<<"|________________________Menu_________________________|"<<endl; cout<<"1 - Iniciar"<<endl<<"3 - Finalizar"<<endl; cout<<"Informe o que deseja realizar: "<<endl; cin>>op; while(op==3) { return 0; } while(op!=1) { cout<<"Opcao invalida "<<endl; cout<<"Digite novamente:"<<endl; cin>>op; if(op==3) { return 0; } } if(op==1) { cout<<"Digite o codigo do representante para iniciar: "<<endl; cin>>rep; while(rep!= 1 && rep!= 3) { cout<<"Digite novamente, o codigo digitado esta invalido"<<endl; cin>>rep; } } cout<<"Digite o valor total do pedido: " &&cin>>Val_pedido&&cout<<"E a quantidade de itens do pedido: "&&cin>>iten_pedido; if(iten_pedido< 20) { Val_pedido=(Val_pedido*0.10); Val_pedido=Val_pedido+Val_pedido; } if(iten_pedido>20 && iten_pedido<49) { Val_pedido=(Val_pedido*0.15); Val_pedido=Val_pedido+Val_pedido; } if(iten_pedido>50 && iten_pedido<74) { Val_pedido=(Val_pedido*0.20); Val_pedido=Val_pedido+Val_pedido; } if(iten_pedido>75) { Val_pedido=(Val_pedido*0.25); Val_pedido=Val_pedido+Val_pedido; } cout<<"Deseja realizar mais uma secao?"<<endl; cout<<"1 - sim 2 - nao"<<endl; cin>>pedido; while(pedido!= 1 && pedido!= 2) { cout<<"opcao invalida, digite novamente: "<<endl; cin>>pedido; } while(pedido==1) { cout<<"Digite o valor total do pedido: " &&cin>>Val_pedido&&cout<<"E a quantidade de itens do pedido: "&&cin>>iten_pedido; cout<<"Deseja realizar mais uma secao?"<<endl; cout<<"1 - sim 2 - nao"<<endl; cin>>pedido; if(pedido==2) { if(iten_pedido<= 20) { Val_pedido=(Val_pedido*0.10); Val_pedido=Val_pedido+Val_pedido; } if(iten_pedido>20 && iten_pedido<=49) { Val_pedido=(Val_pedido*0.15); Val_pedido=Val_pedido+Val_pedido; } if(iten_pedido>=50 && iten_pedido<=74) { Val_pedido=(Val_pedido*0.20); Val_pedido=Val_pedido+Val_pedido; } if(iten_pedido>=75) { Val_pedido=(Val_pedido*0.25); Val_pedido=Val_pedido+Val_pedido; } } } cout<<"Comissao a receber: "<<Val_pedido<<endl; system("PAUSE"); system("cls"); } system("PAUSE"); } tenho que exibir a soma de todas as comissoens juntas ,mas nao importa o que eu faca, sempre e exibido soment o valor da ultima comissao, ou seja do resto do exercicio. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Março 30, 2009 Dei uma olhada por cima, acredito estar errando aqui: Val_pedido=(Val_pedido*0.10); Está atribuindo ao Val_pedido apenas a multiplicação do mesmo por 0.10...ai sempre quando vai entrar com novo valor, ele apaga o que tinha na variável Val_pedido, outra coisa, está repetindo o mesmo código duas vezes, isso não é necessário. Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Março 30, 2009 Dei uma olhada por cima, acredito estar errando aqui: Val_pedido=(Val_pedido*0.10); Está atribuindo ao Val_pedido apenas a multiplicação do mesmo por 0.10...ai sempre quando vai entrar com novo valor, ele apaga o que tinha na variável Val_pedido, outra coisa, está repetindo o mesmo código duas vezes, isso não é necessário. entao qual seria o melhor modo de fazer isso? Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Abril 2, 2009 assim ficol melhor. #include<iostream.h> int main() { int pedido, iten_pedido, comissao, rep, op,cont=1; float Val_pedido,cm=0; bool control=true; while(control==true) { cout<<"°_____________________________________________________°"<<endl; cout<<"| Pagamento de comissao |"<<endl; cout<<"|________________________Menu_________________________|"<<endl; cout<<"1 - Iniciar"<<endl<<"3 - Finalizar"<<endl; cout<<"Informe o que deseja realizar: "<<endl; cin>>op; while(op==3) { return 0; } while(op!=1) { cout<<"Opcao invalida "<<endl; cout<<"Digite novamente:"<<endl; cin>>op; if(op==3) { return 0; } } if(op==1) { cout<<"Digite o codigo do representante para iniciar: "<<endl; cin>>rep; while(rep!= 1 && rep!=2 &&rep!= 3) { cout<<"Digite novamente, o codigo digitado esta invalido"<<endl; cin>>rep; } } while(rep==1) { cout<<"Digite o valor total do pedido: " &&cin>>Val_pedido&&cout<<"E a quantidade de itens do pedido: "&&cin>>iten_pedido; cout<<"Deseja realizar mais uma secao?"<<endl; cout<<"1 - sim 2 - nao"<<endl; cin>>rep; if(rep==1) { if(iten_pedido<= 20) { Val_pedido=(Val_pedido*0.10); } if(iten_pedido>20 && iten_pedido<=49) { Val_pedido=(Val_pedido*0.15); } if(iten_pedido>=50 && iten_pedido<=74) { Val_pedido=(Val_pedido*0.20); } if(iten_pedido>=75) { Val_pedido=(Val_pedido*0.25); } } cout<<cont++<<" O valor dessa comic a receber: "<<Val_pedido<<endl; } system("PAUSE"); system("cls"); } system("PAUSE"); } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 2, 2009 ainda esta tendo problemas com esse codigo? []s Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Abril 2, 2009 sim, e com os codigos dos fornecedores, so aceita o numero1 agora o 2 e 3 faz e ele começa de novo, e somar todas as comicoes dos pedidos juntas em uma soh. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 2, 2009 tem coisas muito feia no seu codigo tipo isso: while(op==3) { return 0; }você pode fazer isso no primeiro while tipo usa a primeira condição e o operador ou '||'.. e isso tbm é coisa feia: if(op==3) { return 0; } []s Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Abril 2, 2009 isso e pra fechar o programa quando terminar Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 2, 2009 msm assim.. isso naum c faz desse jeito ae.. alias nem precisa do jeito q esta. Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Abril 2, 2009 fiz assim e quase deu certo. mas melhoru em relacao ao que queria. Agora o que falta e somar todos os pedidos processados. #include<iostream.h> int main() { int pedido=0<3, iten_pedido, comissao, rep, op,cont=1; float Val_pedido; bool control=true; while(control==true) { cout<<"°_____________________________________________________°"<<endl; cout<<"| Pagamento de comissao |"<<endl; cout<<"|________________________Menu_________________________|"<<endl; cout<<"1 - Iniciar"<<endl<<"3 - Finalizar"<<endl; cout<<"Informe o que deseja realizar: "<<endl; cin>>op; if(op==3) { return 0; } while(op!=1) { cout<<"Opcao invalida "<<endl; cout<<"Digite novamente:"<<endl; cin>>op; if(op==3) { return 0; } } if(op==1) { cout<<"Digite o codigo do representante para iniciar: "<<endl; cin>>rep; while(rep!= 1&&rep!=2&&rep!=3 ) { cout<<"Digite novamente, o codigo digitado esta invalido"<<endl; cin>>rep; } } while(rep==rep ) { cout<<"Digite o valor total do pedido: " &&cin>>Val_pedido&&cout<<"E a quantidade de itens do pedido: "&&cin>>iten_pedido; if(iten_pedido<= 20) { Val_pedido=(Val_pedido*0.10); } if(iten_pedido>20 && iten_pedido<=49) { Val_pedido=(Val_pedido*0.15); } if(iten_pedido>=50 && iten_pedido<=74) { Val_pedido=(Val_pedido*0.20); } if(iten_pedido>=75) { Val_pedido=(Val_pedido*0.25); } cout<<cont++<<" O valor dessa comissao a receber: "<<Val_pedido<<endl<<endl; cout<<"Deseja realizar mais uma secao?"<<endl; cout<<"1 - sim 5 - nao"<<endl; cin>>rep; } system("PAUSE"); system("cls"); } system("PAUSE"); } } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 3, 2009 naum entendi direito oq o algoritmo tem q fazer.. + to com sono e tentei algo pra você veja: #include<iostream> using namespace std; int main() { int pedido=0<3, iten_pedido, comissao, rep, op,cont=1; float Val_pedido; char resp = '1'; cout<<"°_____________________________________________________°"<<endl; cout<<"| Pagamento de comissao |"<<endl; cout<<"|________________________Menu_________________________|"<<endl; cout<<"1 - Iniciar"<<endl<<"3 - Finalizar"<<endl; cout<<"Informe o que deseja realizar: "<<endl; cin>>op; while(true){ if(op==3) break; if(op==1){ cout<<"Digite o codigo do representante para iniciar: "<<endl; cin>>rep; while(rep < 1 || rep > 3){ cout<<"Digite novamente, o codigo digitado esta invalido"<<endl; cin>>rep; } cout<<"Digite o valor total do pedido: " &&cin>>Val_pedido&&cout<<"E a quantidade de itens do pedido: "&&cin>>iten_pedido; if(iten_pedido<= 20) Val_pedido+=(Val_pedido*0.10); if(iten_pedido>20 && iten_pedido<=49) Val_pedido+=(Val_pedido*0.15); if(iten_pedido>=50 && iten_pedido<=74) Val_pedido+=(Val_pedido*0.20); if(iten_pedido>=75) Val_pedido+=(Val_pedido*0.25); cout<<cont++<<" O valor dessa comissao a receber: "<<Val_pedido<<endl<<endl; cout<<"Deseja realizar mais uma secao?"<<endl; cout<<"1 - sim 2 - nao"<<endl; cin>>resp; } else{ cout<<"Opcao invalida "<<endl; cout<<"Digite novamente:"<<endl; cin>>op; } } system("PAUSE"); return 0; } fala oq + tem q fazer, tente e volta com as duvidas []s Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Abril 7, 2009 Bom valew pela ajuda, conssegui terminar o exercicio, foi mais ou menos o que você fez, so que somou a comissao ao valor do pedido, isso nao tem problema. Terminado. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 7, 2009 beleza http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites