#farias 0 Denunciar post Postado Janeiro 8, 2008 aparentemente o codigo ta certo mais não está depende da ordem que você adiciona os dados preciso de uma solução quem souber por favor me diga obrigado!!!! #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int cont,num,conth,contm; float altura,alturah,alturam,mediam,mediah,alturamaior1,alturamenor1,alturamaior2,altu ramenor2; cont = 0; alturamenor1 =2.0; alturamaior1 = 1.0; alturamenor2 =2.0; alturamaior2 = 1.0; alturah = 0.0; alturam = 0.0; conth =0; contm = 0; cout<<"1-MASCULINO 2-FEMININO\n"; cin>>num; cout<<"Digite o altura \n"; cin>>altura; while (cont <= 2) { if ( num == 1) { alturah = alturah + altura; conth = conth + 1; if (altura > alturamaior1) alturamaior1 = altura; if (altura < alturamenor1) alturamenor1 = altura; } if (num == 2 ) { alturam = alturam + altura; contm = contm + 1; if (altura > alturamaior2) alturamaior2 = altura; if (altura < alturamenor2) alturamenor2 = altura; } cout<<"1-MASCULINO 2-FEMININO\n"; cin>>num; cout<<"Digite o altura \n"; cin>>altura; cont++; } if ( alturamaior1 > alturamaior2){ cout<<"MAIOR ALTURA---> "<<alturamaior1; cout<<"\n "; } else{ cout<<"MAIOR ALTURA---> "<<alturamaior2; cout<<"\n "; } if (alturamenor1 <alturamenor2){ cout<<"MENOR ALTURA---> "<< alturamenor1; cout<<"\n "; } else{ cout<<"MENOR ALTURA---> "<<alturamenor2; cout<<"\n "; } mediah = alturah/conth; mediam = alturam/contm; cout<<"MEDIA MULHER---> "<<mediam; cout<<"\n "; cout<<"MEDIA HOMEM---> "<<mediah; cout<<"\n "; system("PAUSE"); return EXIT_SUCCESS; } Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Janeiro 9, 2008 Sempre que usar números decimais coloque ponto "." no lugar de vírgula ",". Veja se resolve. Por exemplo: alturah = 0.0; alturam = 0.0; conth = 0; contm = 0; Compartilhar este post Link para o post Compartilhar em outros sites
#farias 0 Denunciar post Postado Janeiro 10, 2008 Sempre que usar números decimais coloque ponto "." no lugar de vírgula ",". Veja se resolve. Por exemplo: alturah = 0.0; alturam = 0.0; conth = 0; contm = 0; Grande obrigado pela tentativa mas não deu certo se você pegar o código e testar os valores 1=2,1 1=1,9 2=1,8 2=1,5 os valores vão dar errado alguns certos outros errados se você puder tirar essa duvida agradeço valeus Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Janeiro 10, 2008 você tentou entrar com valores com ponto. ex: ao invez de 1,8 tentow 1.8 ?? como disse o amigo Kandrade qnd c trabalha com float se meche com '.' e nao com ',' volte a postar caso o erro persista Compartilhar este post Link para o post Compartilhar em outros sites
#farias 0 Denunciar post Postado Janeiro 11, 2008 você tentou entrar com valores com ponto. ex: ao invez de 1,8 tentow 1.8 ?? como disse o amigo Kandrade qnd c trabalha com float se meche com '.' e nao com ',' volte a postar caso o erro persista Grande é o seguinte já usei ponto no algoritmo e só alguns valores dão certo dependendo das entradas se você puder rodar na sua máquina você vai ver que naum dá correto sempre preciso saber o que tá acontecendo , apesar de eu ser iniciante esse problema n é um problema difícil mas tô sem livro , por sinal se você souber onde baixar livro gratuitamente me diz ai por favor ouvi falar num tal de bangalo ou algo parecido obrigado pela atenção Dá uma testada no código que você vai ver com numeros decimai tá ok até mais Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Janeiro 11, 2008 Olha como eu alterei, veja c isso resolve seu problema... abaixo do programa eu falo oq alterei. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int cont,num,conth,contm; float altura,alturah,alturam,mediam,mediah,alturamaior1,alturamenor1,alturamaior2,altu ramenor2; cont = 0; alturamenor1 =2.0; alturamaior1 = 1.0; alturamenor2 =2.0; alturamaior2 = 1.0; alturah = 0.0; alturam = 0.0; conth =0; contm = 0; while (cont <= 3) { cout<<"1-MASCULINO 2-FEMININO\n"; cin>>num; cout<<"Digite o altura \n"; cin>>altura; if ( num == 1) { alturah = alturah + altura; conth = conth + 1; if (altura > alturamaior1) alturamaior1 = altura; if (altura < alturamenor1) alturamenor1 = altura; } if (num == 2 ) { alturam = alturam + altura; contm = contm + 1; if (altura > alturamaior2) alturamaior2 = altura; if (altura < alturamenor2) alturamenor2 = altura; } cont++; } if ( alturamaior1 > alturamaior2){ cout<<"MAIOR ALTURA---> "<<alturamaior1; cout<<"\n "; } else{ cout<<"MAIOR ALTURA---> "<<alturamaior2; cout<<"\n "; } if (alturamenor1 <alturamenor2){ cout<<"MENOR ALTURA---> "<< alturamenor1; cout<<"\n "; } else{ cout<<"MENOR ALTURA---> "<<alturamenor2; cout<<"\n "; } mediah = alturah/conth; mediam = alturam/contm; cout<<"MEDIA MULHER---> "<<mediam; cout<<"\n "; cout<<"MEDIA HOMEM---> "<<mediah; cout<<"\n "; system("PAUSE"); return EXIT_SUCCESS; } Observe no algoritmo q você primeiramente lia os dados fora do while beleza, ai os dados eram processados e pedia-se mais dados até cont<=2 ow seja, qnd o cont esta em 2 ele faz oq tem q fazer normal e pede para o cara digitar o num e a altura soh q ele naum processa esses ultimos dados pq ele vai voltar no loop e vai ver q a condição cont<=2 é falsa e sai fora ow seja fica sem processar os ultimos dados digitados.. Caso você naum entenda muito bem(oq eu imagino msm)... compile o algoritmo e volte a postar c tiver duvidas!! **A respeito de livros(apostilas) entra no www.apostilando.com faz o cadastro e lah tem diversas apostilas de Linguagem C/C++ Compartilhar este post Link para o post Compartilhar em outros sites
#farias 0 Denunciar post Postado Janeiro 11, 2008 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Olha como eu alterei, veja c isso resolve seu problema... abaixo do programa eu falo oq alterei. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int cont,num,conth,contm; float altura,alturah,alturam,mediam,mediah,alturamaior1,alturamenor1,alturamaior2,altu ramenor2; cont = 0; alturamenor1 =2.0; alturamaior1 = 1.0; alturamenor2 =2.0; alturamaior2 = 1.0; alturah = 0.0; alturam = 0.0; conth =0; contm = 0; while (cont <= 3) { cout<<"1-MASCULINO 2-FEMININO\n"; cin>>num; cout<<"Digite o altura \n"; cin>>altura; if ( num == 1) { alturah = alturah + altura; conth = conth + 1; if (altura > alturamaior1) alturamaior1 = altura; if (altura < alturamenor1) alturamenor1 = altura; } if (num == 2 ) { alturam = alturam + altura; contm = contm + 1; if (altura > alturamaior2) alturamaior2 = altura; if (altura < alturamenor2) alturamenor2 = altura; } cont++; } if ( alturamaior1 > alturamaior2){ cout<<"MAIOR ALTURA---> "<<alturamaior1; cout<<"\n "; } else{ cout<<"MAIOR ALTURA---> "<<alturamaior2; cout<<"\n "; } if (alturamenor1 <alturamenor2){ cout<<"MENOR ALTURA---> "<< alturamenor1; cout<<"\n "; } else{ cout<<"MENOR ALTURA---> "<<alturamenor2; cout<<"\n "; } mediah = alturah/conth; mediam = alturam/contm; cout<<"MEDIA MULHER---> "<<mediam; cout<<"\n "; cout<<"MEDIA HOMEM---> "<<mediah; cout<<"\n "; system("PAUSE"); return EXIT_SUCCESS; } Observe no algoritmo q você primeiramente lia os dados fora do while beleza, ai os dados eram processados e pedia-se mais dados até cont<=2 ow seja, qnd o cont esta em 2 ele faz oq tem q fazer normal e pede para o cara digitar o num e a altura soh q ele naum processa esses ultimos dados pq ele vai voltar no loop e vai ver q a condição cont<=2 é falsa e sai fora ow seja fica sem processar os ultimos dados digitados.. Caso você naum entenda muito bem(oq eu imagino msm)... compile o algoritmo e volte a postar c tiver duvidas!! **A respeito de livros(apostilas) entra no www.apostilando.com faz o cadastro e lah tem diversas apostilas de Linguagem C/C++ Grande, muito boa sua solução de fato eu já tinha visto o erro mais não sabia como resolver obrigado mermo rapaz espero contar com suas sloções mais vezes tá rodando filé filé sou iniciante e quero aprender sobre c++ para depois passar pra java vou estudar ela durante um ano até aprender ponteiros e tals espero contar com sua ajuda . obrigado !!! Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Janeiro 11, 2008 q isso cara eu to aki no forum sempre no intuito de ajudar!! qlqr duvida soh postar e c eu souber eu esclareço para você!! vo colocar como resolvido! flw :D Grande, muito boa sua solução de fato eu já tinha visto o erro mais não sabia como resolver obrigado mermo rapaz espero contar com suas sloções mais vezes tá rodando filé filé sou iniciante e quero aprender sobre c++ para depois passar pra java vou estudar ela durante um ano até aprender ponteiros e tals espero contar com sua ajuda . obrigado !!! Compartilhar este post Link para o post Compartilhar em outros sites