Sengo Postado Setembro 5, 2010 Denunciar Share Postado Setembro 5, 2010 (editado) O exercicio que eu to com duvida é fazer uma funçao que leia 2 angulos diferntes em radiano, calcule o seno deles e retorne o maior resultado.só que ta dando uns errinhos ai:Por favor me ajudem :D# include<cstdlib> # include<iostream> # include<cmath> using namespace std; float Seno(float sen) { float s1, s2, radiano1, radiano2; s1=sin(radiano1) s2=sin(radiano2) if (s1>s2) { return s1; } else { return s2; } } int main () { float a,b,c,d; cout<<"Entre com um radiano:"<<endl; cin>>a; b=Seno(a); cout<<"Entre com outro radiano:"<<endl; cin>>c; d=Seno© if (d>b) { cout<<d<<endl; } else { cout<<b<<endl; } return 0; }erros:in function 'float Seno(float)'linha 9: error: expected ';' before "s2"linha 15: error:expected primary -expression before "else"linha 15: error: expected ';' before "else"in function `int main()':linha 30: error: expected `;' before "if"linha 35: error: expected prymary-expression before "else"linha 35: error: expected ';' before "else"Outra coisa, se não for pedir muito expliquem os codigos que vocês estao usando, e não simplesmente corrijam o programa. obrigado Editado Setembro 5, 2010 por Jonathan Queiroz Adicionar tag's (Jonathan) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 5, 2010 Denunciar Share Postado Setembro 5, 2010 d=Seno© O que é esse © no fim da linha? Acho que a intenção foi fazer algo assim: d=Seno(c); s1=sin(radiano1) s2=sin(radiano2)Estão faltando os ; aqui. Sempre que terminar uma instrução, coloque um ponto-e-vírgula.Não cheguei a testar o código, mas fazendo essas alterações ao menos os erros de sintaxe devem ser corrigidos. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sengo Postado Setembro 5, 2010 Autor Denunciar Share Postado Setembro 5, 2010 (editado) valeu, era só os ponto e vírgula mesmo. Mas você pode me esclarecer uma coisa? Por que nas funçoes if , else , a funçao float Seno(float sen) que eu criei e na int main eu não posso usar ponto e virgula e nas funçoes da biblioteca cmath (como a do sin que eu usei ali) eu tenho que usar?valeu Editado Setembro 5, 2010 por Sengo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vini_loock Postado Setembro 5, 2010 Denunciar Share Postado Setembro 5, 2010 (editado) Isso é uma coisa simples, que você aprende em qualquer linguagem de programação, eu nem sei como te explicar.O ';' você usa em comando de uma linha(executaveis), como variaveis, funções pre-definidas(por exemplo printf, scanf).E em funções(sua int man() e float Sen());condicionais(if), e alguns outros casos(for();while(), switch(), etc...);você não usa.Bom como eu te disse é uma coisa simples, eu nem sei como explicar, até dei um googlada, mas não achei nada a respeito. Editado Setembro 5, 2010 por vini_loock Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 5, 2010 Denunciar Share Postado Setembro 5, 2010 Não se deve utilizar ponto-e-vírgula ao definir uma função, apenas quando ao declarar (explico a diferença) ou chamar.Exemplo:int quadrado(int numero); //declaro o protótipo da função quadrado int main(); //declaro o protótipo da função main //Defino a função main int main() /*sem ponto-e-vírgula aqui*/ { //... int quadradoDeCinco = quadrado(5); //chamo a função passado o valor 5 como parâmetro //... return 0; } //Defino a função quadrado int quadrado(int numero) /*novamente sem ponto-e-vírgula aqui*/ { return numero*numero; } A declaração de funções é necessária para que o compilador saiba que exista uma função com aquele nome. Da maneira como a compilação é feita, seria necessário que as funções chamadas pela função main estivessem antes dela: int quadrado(int numero) { return numero*numero; } int main() { ... } Isso pode ser facilmente resolvido declarando a função antes. Dessa forma, o compilador sabe de antemão que a função existe. Notas:Tudo o que está entre /* e */ (tanto em C como C++) ou entre // e a próxima quebra de linha (apenas C++, que é a linguagem que está utilizando) é considerado comentário, isto é, não altera em nada o código.Ao declarar protótipos para funções não é necessário nomear os parâmetros. Por exemplo, poderíamos simplesmente escrever: int quadrado(int);Edit:Não tinha visto o post do vini_loock. Basicamente você utiliza o ponto-e-vírgula para separar instruções ou declarar protótipos de funções e classes, mas não ao definir uma função. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sengo Postado Setembro 5, 2010 Autor Denunciar Share Postado Setembro 5, 2010 mt obrigado pela paciencia de vocês por me explicarem. :D . ajudou muito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 5, 2010 Denunciar Share Postado Setembro 5, 2010 De nada, precisando é só postar.Obs.:O tópico foi marcado como Resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Sengo
O exercicio que eu to com duvida é fazer uma funçao que leia 2 angulos diferntes em radiano, calcule o seno deles e retorne o maior resultado.
só que ta dando uns errinhos ai:
Por favor me ajudem :D
erros:
linha 15: error: expected ';' before "else"
in function `int main()':
linha 30: error: expected `;' before "if"
linha 35: error: expected prymary-expression before "else"
linha 35: error: expected ';' before "else"
Outra coisa, se não for pedir muito expliquem os codigos que vocês estao usando, e não simplesmente corrijam o programa. obrigado
Editado por Jonathan QueirozAdicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.