msmsms Posted February 27, 2012 at 07:03 AM Report Share #441271 Posted February 27, 2012 at 07:03 AM tentei fazer um programa para fazer a divisão de 2 números coloquei 2 variáveis fiz o pedido ao utilizador e coloquei num return a expressão da divisão e o programa funcionou bem tal como mostro na primeira versão mas queria fazer diferente queria ter 3 variaveis onde uma delas corresponde ao resultado mas não estou a conseguir fazer com que esta segunda versão funcione alguém consegue dizer o que está errado na versão 2? VERSÃO 1 (OK) int main() { int dividendo; int divisor; printf("da-me um dividendo \n"); scanf("%d", ÷ndo); printf("da-me um dividor \n"); scanf("%d", &divisor); return dividendo/divisor; } VERSÃO 2 int main() { int dividendo; int divisor; int resultado; printf("da-me um dividendo \n"); scanf("%d", ÷ndo); printf("da-me um dividor \n"); scanf("%d", &divisor); resultado == dividendo / divisor; printf("o resultado e %d", resultado); } EDIT: Titulo corrigido Link to comment Share on other sites More sharing options...
Cr4zYPT Posted February 27, 2012 at 07:54 AM Report Share #441272 Posted February 27, 2012 at 07:54 AM Esta instrução resultado == dividendo / divisor; é comparação. A forma correcta é resultado = dividendo / divisor; == comparação = atribuição http://pt.wikipedia.org/wiki/Operadores_em_C_e_C%2B%2B Link to comment Share on other sites More sharing options...
S7sRuss Posted February 27, 2012 at 10:59 AM Report Share #441296 Posted February 27, 2012 at 10:59 AM Não faria mais sentido algo do género: Dá-me um dividendo: 6 Dá-me um divisor: 4 Qual é o resultado? 2 Resposta errada. 6/4 dá 1,5 Para dar 1,5 terias que usar floats, mas podes fazer isso na próxima versão se quiseres. Quando obténs o resultado, usas a comparação num if para saber se o que tens que escrever é "Resposta Errada" ou "Resposta Certa". Algo assim... //... scanf("%d", &resultado); if(resultado == dividendo/divisor) //resposta certa else //resposta errada //... "Lamento... Detectou mais de dez mil ficheiros infectados..." Link to comment Share on other sites More sharing options...
KTachyon Posted February 27, 2012 at 11:44 AM Report Share #441304 Posted February 27, 2012 at 11:44 AM Não faz muito sentido estares a retornar o resultado da divisão no main. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare Link to comment Share on other sites More sharing options...
pmg Posted February 27, 2012 at 12:29 PM Report Share #441316 Posted February 27, 2012 at 12:29 PM Não faz muito sentido estares a retornar o resultado da divisão no main. Serve, talvez, como uma forma de verificar o resultado ./a.out echo $? What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
msmsms Posted February 27, 2012 at 09:40 PM Author Report Share #441390 Posted February 27, 2012 at 09:40 PM Esta instrução resultado == dividendo / divisor; é comparação. A forma correcta é resultado = dividendo / divisor; == comparação = atribuição http://pt.wikipedia.org/wiki/Operadores_em_C_e_C%2B%2B era realmente esse o meu problema alterei == para = e o programa já ficou como eu queria obrigado! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now