Son Posted September 11, 2005 at 12:04 PM Report #4866 Posted September 11, 2005 at 12:04 PM #include <stdio.h> int main () { int Dias; /* Declaraçao das variaveis*/ float Anos; printf ("Entre com o numero de dias:"); //Entradas de dados scanf ("%d",&Dias); Anos=Dias/365.25 /* Conversao Dias->Anos */ -- > printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); return(0); }
deathseeker25 Posted September 11, 2005 at 12:09 PM Report #4868 Posted September 11, 2005 at 12:09 PM Boas, Em primeiro lugar Son não precisas de abrir um tópico novo cada vez que queres responder a um tópico. Basta entrares no tópico que abriste e carregar Post Reply...Assim evita muito SPAM e organiza as coisas como deve ser.... Em segundo lugar, começa a utilizar as tags que existem para te ajudar a postar mensagens no forum. Para resolveres o teu problema tens de colocar um ponto e vírgula onde diz "Anos=Dias/356.25;" no final da frase. Acho que é só isso e vê se segues as minhas dicas. Cumps
Bruno Posted September 11, 2005 at 12:30 PM Report #4874 Posted September 11, 2005 at 12:30 PM Ops so vi este depois do outro... o deathseeker25 disse tudo 😄
Gurzi Posted September 11, 2005 at 06:16 PM Report #4882 Posted September 11, 2005 at 06:16 PM e porque a variavel anos ser float ?
deathseeker25 Posted September 11, 2005 at 06:18 PM Report #4883 Posted September 11, 2005 at 06:18 PM e porque a variavel anos ser float ? Isso foi opção do programador...podia muito bem ser integer... ;)
Gurzi Posted September 11, 2005 at 06:31 PM Report #4885 Posted September 11, 2005 at 06:31 PM preferia um long int foi opcção , mas podemos transmitir que ficaria melhor int porque não tou a ver anos com parte decimal do género 1,23 anos
Son Posted September 11, 2005 at 11:25 PM Author Report #4907 Posted September 11, 2005 at 11:25 PM se return (0); sai da funçao o k fax um return (1);
Gurzi Posted September 11, 2005 at 11:30 PM Report #4908 Posted September 11, 2005 at 11:30 PM no teu code tambem nao percebo para que é o return(0); ah e peço desculpa pela critica da atribuiçao de %f a anos, nao tinha visto esta linha de código : Anos=Dias/365.25 fica a nota.
Son Posted September 11, 2005 at 11:32 PM Author Report #4909 Posted September 11, 2005 at 11:32 PM Para que serve utilizar o return(0);??
deathseeker25 Posted September 11, 2005 at 11:34 PM Report #4910 Posted September 11, 2005 at 11:34 PM se return (0); sai da funçao o k fax um return (1); A instrução return permite terminar a execução de uma função e voltar ao programa que a invocou. Por exemplo se escreveres: #include <stdio.h> main() { printf("Ola eu sou o deathseeker25!\n"); return; printf("Ola de novo!"); } Para as funções main o resultado é convencional: 0(zero) significa que o programa terminou normalmente; qualquer outro valor, seja 1 ou 100 ou -100, representa uma situação anormal ou errónea. Já que comecei deixa-me continuar: return expressão é a forma de representação da instrução return como já aprendeste. O efeito desta instrução é avaliar a expressão e após isso terminar o cálculo relativo á chamada da função onde a instrução ocorre; o valor da função será precisamente o valor resultante da avaliação da expressão. Acho que assim já percebes tudo. Cumps
Gurzi Posted September 12, 2005 at 02:53 AM Report #4913 Posted September 12, 2005 at 02:53 AM construi aquele código de outra forma, só que existe um erro que nao consigo ajustar #include <stdio.h> #include <stdlib.h> main() { float anos; int result; int dias; printf("Introduza um numero de dias"); scanf("%d",&dias); anos=dias/365; result=(anos-(int)anos)*365; printf("\n\n %d dias consiste em %d anos e %d dias\n\n",dias,(int)anos, result); system("PAUSE"); } o erro encontra-se em result=(anos-(int)anos)*365; ou seja por ex. 370 / 365 = 1.01369863013698 depois menos a parte inteira(que será os anos) vezes 365 que dá 5 ou seja 1 ano e 5 dias.. mas no code dá 1 ano e 0 dias ... 😄
vbmaster Posted September 12, 2005 at 02:13 PM Report #4922 Posted September 12, 2005 at 02:13 PM Opah façam assim: (é c++ mas entende-se bem i think) "#include <iostream.h> using namespace std; void main () { int dias; cout << "Insira o numero de dias" << endl; cin >> dias; int anos = (dias / 365); int diasamais = dias - (anos * 365); cout << anos << " e " << diasamais; }"
QuickFire Posted September 12, 2005 at 11:48 PM Report #4939 Posted September 12, 2005 at 11:48 PM Boas 😄 aqui vai o n000b 🙂 #include <stdio.h> main() { int dias; float anos; printf("Digite o numero de dias a converter para anos: "); scanf("%d",&dias); anos=dias/365.25; printf("%d dias sao %f anos!\n",dias,anos); } este é parecido ao teu 😄 #include <stdio.h> main () { int dias; printf("Insira o numero de dias: "); scanf("%d",&dias); int anos = (dias / 365); int diasamais = dias - (anos * 365); printf("%d anos e %d dias",anos,diasamais); } este é uma conversão do code do vbmaster 🙂
Gurzi Posted September 12, 2005 at 11:56 PM Report #4940 Posted September 12, 2005 at 11:56 PM obg ... mas expliquem-me porque é que o meu code nao funciona... qual é o problema ? eu fiz o Anos-(int)Anos.
Gurzi Posted September 13, 2005 at 12:10 AM Report #4941 Posted September 13, 2005 at 12:10 AM Bem já consegui perceber... #include <stdio.h> #include <stdlib.h> main() { double anos; int result; int dias; printf("Introduza um numero de dias"); scanf("%d",&dias); anos=dias/365.0; result=(anos-(int)anos)*365; printf("\n\n %d dias consiste em %d anos e %d dias\n\n",dias,(int)anos, result); system("PAUSE"); } tem que na variavel Anos dividir por 365.0 se nao ele pensa que sao os dois inteiros e atribui um valor inteiro(estupido nao é?) e tem que se atribuir double a Anos para funcionar.
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