Jump to content

[Resolvido] Duvida em achar o quadrado


Recommended Posts

Posted (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 by pmg
Posted

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."

Posted

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!

Posted

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!

Posted (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 by pmg
Falta LP no GeSHi

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.