Guest Markito Posted February 18, 2013 at 02:56 PM Report #495958 Posted February 18, 2013 at 02:56 PM (edited) Estava a reler o meu pdf para consolidar o que aprendi quando me atrapalhei ali na parte dos argumentos... Eles dão o seguinte código para achar o quadrado de um numero: #include <stdio.h> int square (int x) /* Calcula o quadrado de x */ { printf ("O quadrado e %d",(x*x)); return(0); } int main () { int num; printf ("Entre com um numero: "); scanf ("%d",&num); printf ("\n\n"); square(num); return(0); } Eu tentei fazer de outra maneira mais minha e escrevi no code::blocks: int main() { int x,square; square=x*x; printf("Entre com um número:\n"); scanf("%d",&x); printf("O quadrado de %d e':%d.",x,square); return (0); } Mas este programa não retorna um resultado certo!!! Eu inseri o 2 e ele achou como quadrado: 1122308112! O que falhou no programa que construí? E qual uma maneira prática e fácil de se compreender para achar o quadrado de um numero sem escrever tantas funções como no 1º exemplo? Muito obrigado pela vossa ajuda! Edited February 18, 2013 at 03:06 PM by pmg
pikax Posted February 18, 2013 at 03:01 PM Report #495963 Posted February 18, 2013 at 03:01 PM estas a fazer o quadrado quando a variavel x esta' com "lixo"; int main() { int x,square; printf("Entre com um número:\n"); scanf("%d",&x); square=x*x; printf("O quadrado de %d e':%d.",x,square); return (0); } Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Guest Markito Posted February 18, 2013 at 03:03 PM Report #495964 Posted February 18, 2013 at 03:03 PM Peço desculpa mas o que significa estar com lixo? 😕
AJBM Posted February 18, 2013 at 03:06 PM Report #495965 Posted February 18, 2013 at 03:06 PM Tu dizias que o square =x*x antes de dares um valor ao x, por isso como pikax disse o x iria ter "lixo" isto é um valor qualquer atribuido pelo pc
pmg Posted February 18, 2013 at 03:10 PM Report #495967 Posted February 18, 2013 at 03:10 PM E qual uma maneira prática e fácil de se compreender para achar o quadrado de um numero sem escrever tantas funções como no 1º exemplo? O uso de diferentes funções para diversos elementos de cada programa é um método muito bom para tornar o programa mais fácil de compreender. Tirando raras excepções, não é possível tornar um programa mais fácil de compreender tirando-lhe funções. 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!
thoga31 Posted February 18, 2013 at 03:14 PM Report #495969 Posted February 18, 2013 at 03:14 PM Aproveito para referir que a tua função square do primeiro exemplo deveria era retornar o quadrado e não fazer o output. Isso sim é uma função "universal", por assim dizer, ou seja, podes utilizar em qualquer lado sem o side-effect de um output "forçado". int square (int x) /* Calcula o quadrado de x */ { return x*x; } // noutra parte do programa... int binomio = square(a) + 2*a*b + square(b); // aqui não queres nenhum output, só queres mesmo saber os quadrados dos números. Knowledge is free!
Dexter's Lab Posted February 18, 2013 at 05:19 PM Report #496019 Posted February 18, 2013 at 05:19 PM Limpa o lixo que tens na variável "square". Quando lhe tás a atribuir um valor já ele lá tinha um valor anteriormente. Tens de limpar esse número da variável. Agora... como se faz isso?
Guest Markito Posted February 18, 2013 at 05:24 PM Report #496024 Posted February 18, 2013 at 05:24 PM (edited) Faz-se assim: #include<stdio.h> int main() { int x,square; printf("Entre com um número:\n"); scanf("%d",&x); square=x*x; printf("O quadrado de %d e':%d.",x,square); return (0); } Obrigado a todos. Está resolvido... por agora! Pois decerto terei mais dúvidas. Obrigado pela paciência! 😕 Tal como o pikax disse! Edited February 18, 2013 at 06:26 PM by pmg Falta LP no GeSHi
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