Jump to content

Thay Andrade

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About Thay Andrade

  1. então, queria uma ajuda, se ela existir, é que estou com um código para uma apresentação de cálculo II, ele funciona "normal". Entretanto, gostaria de saber se tem alguma forma de entrar com a função que se deseja integrar direto pelo console/prompt de comando, pois toda vez que quero colocar uma nova função, tenho que adicionar ela mexendo no código...desde ja obrigada, e se coloquei algo errado por a que é que sou nova a que e não sei como funciona, desculpa qualquer coisa. Segue o código: #include<iostream> #include<iomanip> //#include<stdlib.h> #include<math.h> #include<locale.h> #define PI 3.14159265 using namespace std; int main(){ setlocale(LC_ALL,"portuguese"); cout<<"-------CÁLCULO DE ÁREA POR INTREGRAL---------\n"; cout<<"\n---------REGRA DO PONTO MÉDIO----------\n\n"; float a,b,n,d,x[100],v[101]; int o,i; char op; do{ do{ do{ cout<<"\tDigite o intervalo [a,b]:\n\n"; cout<<"***********************"; cout<<"\n\tOBS: a <= b.\n"; cout<<"***********************\n"; cout<<"a = "; cin>>a; cout<<"\nb = "; cin>>b; }while(a > b); cout<<"\n\nOscs[a,b] = " <<fixed <<setprecision(2)<<a<<"e" <<setprecision(2)<<b<<"Digit ou[n]\n"; fflush(stdin);op = getchar(); system ("cls"); }while(op == 'n' || op == 'N'); do{ do{ cout<<"\nDIGITE O NÚMERO DE RETÂNGULOS(subintervalos) (n = 100max)?\n\n"; cout<<"=> "; cin>>n; if(n>100){ cout<<"Valor inválido"; return op; } }while(n<1); cout<<"\nDigite uma das opcões de funcão que deseja resolver: \n"; cout<<"[1] Raiz de x"; cout<<"\n[2] -1/x²"; cout<<"\n[3] 3x² + 2"; cout<<"\n[4] 5*x/(5*x^4+3)^(1/4)"; cout<<"\n[5] (3*x² + 3*x - 6)/(x² + 2*x -3)"; cout<<"\n[6] sin (x*PI/180)"; cout<<"\n[7] cos ( x * PI / 180.0 )"; cout<<"\n[8] tan ( x * PI / 180.0 )"; cout<<"\n[9] (3x²-4)\n\n"; cout<<"opcão: "; cin>>o; if(o>9){ // verifica o numero da função digitada cout<<"valor inválido"; return op; }else if(o==0){ cout<<"valor inválido"; return op; } cout<<"\n\nEstá tudo correto? ( para sim e [n] para não) "; fflush(stdin); op = getchar(); system ("cls"); }while(op == 'n' || op == 'N'); d = (b - a)/n; ///Cálculando as extremidades cout<<"\nAs extremidades são:\n"; for(i=0;i!=n+1;i++){ if(i==0){ v = a; cout<<fixed<<setprecision(2)<<v<<endl; }else if(i==n){ v=b; cout<<fixed<<setprecision(2)<<v<<endl; }else{ v=v[i-1]+d; cout<<fixed<<setprecision(2)<<v<<endl; } } //Calculando os pontos médios cout<<"\nOs pontos médios são:\n"; for(i=0;i!=n;i++){ v=(v+v[i+1])/2; cout<<fixed<<setprecision(2)<<v<<endl; } cout<<"\nOs pontos médios dentro da funcão resultam em:"; //a que está o problema, toda vez tenho que adicionar mais um "case", para uma nova função. switch (o) { case 1: for(i=0;i!=n;i++){ x = sqrt((v));///raiz de x cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; } break; case 2: for(i=0;i!=n;i++){ x = -1/((v)*(v));///-1/(x^2) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; } break; case 3: for(i=0;i!=n;i++){ x = 3*(v*v)+2;///3x^2+2 cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; } break; case 4: for(i=0;i!=n;i++){ x = 5*v/pow(((pow(5*v,4))+3),(1/4));/// 5*x/(5*x^4+3)^(1/4) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; } break; case 5: for(i=0;i!=n;i++){ x = ((3*(pow(v,2)))+(3*v)-6)/((pow(v,2))+(2*v)-3);/// (3*x^2 + 3*x - 6)/(x^2 + 2*x -3) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; }break; case 6: for(i=0;i!=n;i++){ x = sin((v*PI)/180) ;/// sin (x*PI/180) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; }break; case 7: for(i=0;i!=n;i++){ x = cos ((v*PI)/180.0) ;/// cos ( x * PI / 180.0 ) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; }break; case 8: for(i=0;i!=n;i++){ x = tan ((v*PI)/180.0) ;/// tan ( x * PI / 180.0 ) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; }break; case 9: for(i=0;i!=n;i++){ x = ((3*(pow(v,2)))-4) ;///(3x^2-4) cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x; }break; default: cout<<"opcão = ?"<<o; } ///Cálculando a soma dos resultados da função e exibindo na tela for(i=1;i!=n;i++){ x = x + x[i-1]; if(i==n-1){ x = d*(x); cout<<"\n\nO resultado da Integral é: "<<fixed<<setprecision(2)<<x; } } cout<<"\n\nDeseja fazer outra integral? ( para Sim e [n] para Não) "; fflush(stdin); op = getchar(); system ("cls"); }while(op == 's' || op == 'S'); system("pause"); return 0; }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.