Hellsius 0 Denunciar post Postado Maio 17, 2011 Bom dia. Estou começando a aprender a trabalhar com funções, mas meus 2 primeiros fontes que tentei compilar não compilaram e não é mostrada nenhuma menssagem de erro, simplismente não compila. Este é um dos dois fontes que tentei compilar: #include <stdio.h> //printf #include <stdlib.h> #include <conio.h> //getch(); #include <ctype.h> //toupper #include <iostream.h> int soma(int numero1, int numero2) { int x; x = numero1+numero2; return x; } void MostraSoma(int soma) { printf("\n A soma eh: %d", soma); } int main() { // Variaveis int num1, num2; // Entrada de Dados printf("Informe um numero: "); scanf("%d", &num1); printf("Informe outro numero: "); scanf("%d", &num2); // Processamento x = soma( num1, num2); MostraSoma(soma); // Final do Codigo getch(); } obs: Quando tento compilar aparece um done wh.... algo assim, mas nenhum executavel é criado. :( . Abraços Compartilhar este post Link para o post Compartilhar em outros sites
tiagokv 0 Denunciar post Postado Maio 17, 2011 falta um "return" na main, pois ela retorna int como convenção, então coloque no final "return 0;". Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Alano 0 Denunciar post Postado Maio 17, 2011 Há a necessidade de uma função que irá apenas exibir (imprimir) um texto (MostraSoma)... Creio que ela é desnecessária. Na função soma, você pode simplificar como: int soma (int numero1, int numero2) { return (numero1 + numero2); } Compartilhar este post Link para o post Compartilhar em outros sites
Hellsius 0 Denunciar post Postado Maio 17, 2011 Bruno, fiz o ultimo ajuste sobre o mostraSoma e o fonte compilou e rodou, vlw mesmo, mas me lembro que no unico exercicio que a professora passou sobre função chegamos a usar o void e utilizar o MostraMedia no exercicio que ela passou, gostaria de saber o que esta Errado em meu MostraSoma. O fonte ficou assim: #include <stdio.h> //printf #include <stdlib.h> #include <conio.h> //getch(); #include <ctype.h> //toupper int soma(int numero1, int numero2) { int x; x = numero1+numero2; return x; } void MostraSoma(int soma) { printf("\n A soma eh: %d", soma); } int main() { // Variaveis int num1, num2, x; // Entrada de Dados printf("Informe um numero: "); scanf("%d", &num1); printf("Informe outro numero: "); scanf("%d", &num2); // Processamento x = soma( num1, num2); printf("A soma dos numeros eh: %d", x); //MostraSoma(soma); // Final do Codigo getch(); } Compartilhar este post Link para o post Compartilhar em outros sites
Renato Utsch 24 Denunciar post Postado Maio 17, 2011 O que está errado é que esse MostraSoma é inútil. Você nunca faria uma função assim na vida real. Afinal, a função é usada para organizar seu código. Em que organizaria colocando uma função com apenas 1 statement? Que ainda por cima só mostra uma mensagem, sem cálculos? Isso torna seu código mais confuso, e, ainda por cima, mais lento! Fale pra essa sua professora que ela precisa arranjar exercícios melhores... Abraços :D Compartilhar este post Link para o post Compartilhar em outros sites
Hellsius 0 Denunciar post Postado Maio 18, 2011 Eu ponsei a mesma coisa, kkk. Mas poderia explicar só para fim datico? Compartilhar este post Link para o post Compartilhar em outros sites
Renato Utsch 24 Denunciar post Postado Maio 18, 2011 Como assim explicar só para fim didático? Você fez direito, está certo. Se você colocasse um valor de retorno que não seja void, você teria que colocar a instrução return statement; no final da função, como se faz em main(). É isso? Abraços :D Compartilhar este post Link para o post Compartilhar em outros sites
Gr4v370 0 Denunciar post Postado Maio 22, 2011 O código ficaria melhor assim: #include <stdio.h> //printf #include <stdlib.h> #include <conio.h> //getch() int soma(int numero1, int numero2){ int x; x = numero1 + numero2; return x; } int main(){ int num1, num2; // Variaveis printf("Informe um numero: "); scanf("%d", &num1); // Entrada de Dados printf("Informe outro numero: "); scanf("%d", &num2); // Entrada de Dados printf("A soma dos numeros eh: %d", soma(num1,num2)); //Imprime o retorno da função soma // Final do Codigo getch(); } Compartilhar este post Link para o post Compartilhar em outros sites
Hellsius 0 Denunciar post Postado Junho 5, 2011 Entendi, resolvido! Vlw galera. Compartilhar este post Link para o post Compartilhar em outros sites
Renato Utsch 24 Denunciar post Postado Junho 6, 2011 Olá! O código não ficaria melhor do jeito que o Gr4v370 falou, você só está criando uma variável a mais e desperdiçando espaço na memória sem motivo. Você pode colocar a soma da função no retorno dela, não precisa criar uma variável temporária para isso. Abraços :D Compartilhar este post Link para o post Compartilhar em outros sites