viciado 1 Denunciar post Postado Agosto 31, 2008 Programa que recebe o tamanho dos três lados de um triângulo e faça a verificação se os três lados formam um triângulo e que tipo Fiz as funções. Deve ter muitos erros, espero que me ajudem e to com problema na main como eu utilizo minhas funções na main int verifica(int a, int b, int c){ if( abs(b-c)<a) && (a<b+c){ return (1); } else { return (0); } } int tipo(int a, int b, int c){ if(a==b ) && (a==c){ return ("Equilátero"); } else { if(a==b ) && (a==c) || (b==a) && (b==c){ return ("Isóscele"); } else { return ("Escaleno"); } } Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 31, 2008 Tente assim: int tipo(int a, int b, int c){ if(a==b ) && (a==c) { return ("Equilátero"); } else { if (a==b ) || (a==c) || (b==c) { return ("Isóscele"); } else { return ("Escaleno"); } } Mudei só a linha que verifica se é isósceles []s Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Agosto 31, 2008 Agora tá assim, quais os problemas? #include <stdio.h> #include <stdlib.h> int verifica(int a, int b, int c){ if(abs(b-c)<a) && (a<(b+c)){ return (1); } else { return (0); } } int tipo(int a, int b, int c){ if(a==b ) && (a==c) { return ("Equilátero"); } else { if (a==b ) || (a==c) || (b==c) { return ("Isóscele"); } else { return ("Escaleno"); } } } int main() { int a, b, c; char tipo[]; printf("Informe o primeiro lado\n"); scanf("%d",&a); printf("Informe o segundo lado\n"); scanf("%d",&B); printf("Informe o terceiro lado\n"); scanf("%d",&c); if(verifica(a, b, c){ tipo = tipo(a, b, c); printf(" O triângulo e %c\n",&tipo); } else { printf("Esses lados nao formam um triangulo") } system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 31, 2008 char tipo[]; Você está definido o vetor sem definir o tamanho dele Faça assim: char tipo[15]; O programa está dando algum erro? Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Agosto 31, 2008 Sim Linhas: 5, 14, 15, 41, 45 e 48 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 31, 2008 Erro nos parênteses. A condição do IF deve estar inteiramente dentro de parênteses. Por exemplo: if ((a == b ) && (b == c)) A função tipo() está retornando string,mas você a definiu como int tipo(). Falta ponto-e-vírgula no último printf(). Um dos erros é por causa do tamanho de tipo[] (você definiu-o como um vetor sem espaço alocado) Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Agosto 31, 2008 Erro nos parênteses. A condição do IF deve estar inteiramente dentro de parênteses. Por exemplo: if ((a == b ) && (b == c)) A função tipo() está retornando string,mas você a definiu como int tipo(). Falta ponto-e-vírgula no último printf(). Um dos erros é por causa do tamanho de tipo[] (você definiu-o como um vetor sem espaço alocado) Agora tem erros nas linhas: 16, 22, 26, 41, 45, 48 Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Agosto 31, 2008 Erro nos parênteses. A condição do IF deve estar inteiramente dentro de parênteses. Por exemplo: if ((a == b ) && (b == c)) A função tipo() está retornando string,mas você a definiu como int tipo(). Falta ponto-e-vírgula no último printf(). Um dos erros é por causa do tamanho de tipo[] (você definiu-o como um vetor sem espaço alocado) #include <stdio.h> #include <stdlib.h> int verifica(int a, int b, int c){ if((abs(b-c)<a) && (a<(b+c))){ return (1); } else { return (0); } } char tipo(int a, int b, int c){ if((a==b ) && (a==c)) { return ("Equilátero"); } else { if ((a==b ) || (a==c) || (b==c)) { return ("Isóscele"); } else { return ("Escaleno"); } } } int main() { int a, b, c; char tipo[25]; printf("Informe o primeiro lado\n"); scanf("%d",&a); printf("Informe o segundo lado\n"); scanf("%d",&B); printf("Informe o terceiro lado\n"); scanf("%d",&c); if(verifica(a, b, c){ tipo = tipo(a, b, c); printf(" O triângulo e %c\n",&tipo); } else { printf("Esses lados nao formam um triangulo"); } system("PAUSE"); return 0; } Agora tem erros nas linhas: 16, 22, 26, 41, 45, 48 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 31, 2008 Poste as mensagens de erro e destaque as linhas em que elas ocorrem. Nós nos dispomos a ajudar, mas você tem que colaborar conosco. É complicado ficar tentando imaginar qual é o erro e contando linhas. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 31, 2008 Linha 16/22/26: tipo de retorno errado. Ou você retorna char ou string. Linha 41: falta fechar o if. Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Agosto 31, 2008 Linha 16/22/26: tipo de retorno errado. Ou você retorna char ou string. Linha 41: falta fechar o if. Como eu faço para retornar string? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 31, 2008 char* Compartilhar este post Link para o post Compartilhar em outros sites