Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- #include <locale.h>
- void seggrau()
- {
- float a,b,c,delta, x1, x2,Raiz_Segundo_Grau[2];
- int p=0;
- printf("Digite os coeficientes da funcao: ");
- scanf("%f %f %f",&a,&b,&c);
- if(a!=0){
- printf("\nf(x) = %8.2fx² + %8.2fx + %8.2f\n", a, b, c);
- delta = b*b - 4 * a * c;
- if(delta < 0)
- {
- printf("\nDELTA = %8.2f\nNão possui raízes reais!\n\n", delta);
- }
- else
- {
- if(delta == 0)
- {
- x1 = -b / (2 * a);
- printf("\nDELTA = %8.2f \nx' = %8.2f\n\n", delta, x1);
- Raiz_Segundo_Grau[p]=x1;
- p+=1;
- }
- else
- {
- x1 = (-b - sqrt(delta)) / (2 * a);
- x2 = (-b + sqrt(delta)) / (2 * a);
- printf("\nDELTA = %8.2f \nx' = %8.2f\nx'' = %8.2f\n\n", delta, x1, x2);
- Raiz_Segundo_Grau[p]=x1;
- p+=1;
- Raiz_Segundo_Grau[p]=x2;
- }
- }}
- else{
- printf("O primeiro coeficiente tem que ser diferente de 0.");
- }
- system("pause");
- system("cls");
- menu();
- }
- void fatorial(){
- float n1,Fatorial[5],fat;
- int o=0;
- printf("Digite o numero: ");
- scanf("%f",&n1);
- if(n1==0){
- printf("O resultado e 0.");
- }
- for(fat=1;n1>1;n1=n1-1){
- fat=fat*n1;
- }
- printf("Fatorial igual a = %.2f",fat);
- Fatorial[o]=fat;
- o+=1;
- system("pause");
- system("cls");
- menu();
- }
- void potencia(){
- float n1,n2,Potencia[5],x;
- int m=0,i;
- printf("Digite os numeros: ");
- scanf("%f %f",&n1,&n2);
- if(n1==0){
- printf("O resultado e 0.");
- }
- if(n2==0){
- printf("O resultado e 1.");
- }
- if(n2>0){
- x=n1;
- for(i=2;i<=n2;i++){
- n1=n1*x;}}
- else{
- if(n2<0){
- x=n1;
- for(i=2;i<=n2;i++){
- n1=(1/n1)*(1/x);}
- }
- }
- printf("%.2f ^ %.2f = %.2f",x,n2,n1);
- Potencia[m]=n1;
- m+=1;
- system("pause");
- system("cls");
- menu();
- }
- void raiz(){
- float n1,Raiz[5];
- int n=0;
- printf("Digite o numero: ");
- scanf("%f",&n1);
- if(n1>=0){
- printf("Raiz quadrada de %.2f e = %.2f",n1,sqrt(n1));
- Raiz[n]=sqrt(n1);
- n+=1;}
- else{
- printf("Digite apenas numeros e positivos.");
- }
- system("pause");
- system("cls");
- menu();
- }
- void soma(){
- float n1,n2,Soma[5];
- int i=0;
- printf("Digite os numeros: ");
- scanf("%f %f",&n1,&n2);
- printf("%.2f + %.2f = %.2f",n1,n2,n1+n2);
- Soma[i]=n1+n2;
- i+=1;
- system("pause");
- system("cls");
- menu();
- }
- void subtracao(){
- float n1,n2,Subtracao[5];
- int j=0;
- printf("Digite os numeros: ");
- scanf("%f %f",&n1,&n2);
- printf("%.2f - %.2f = %.2f",n1,n2,n1-n2);
- Subtracao[j]=n1-n2;
- j+=1;
- system("pause");
- system("cls");
- menu();
- }
- void produto(){
- float n1,n2,Produto[5];
- int k=0;
- printf("Digite os numeros: ");
- scanf("%f %f",&n1,&n2);
- printf("%.2f * %.2f = %.2f",n1,n2,n1*n2);
- Produto[k]=n1*n2;
- k+=1;
- system("pause");
- system("cls");
- menu();
- }
- void divisao(){
- float n1,n2,Divisao[5];
- int l=0;
- printf("Digite os numeros: ");
- scanf("%f %f",&n1,&n2);
- if(n2==0){
- printf("Não tem resposta.");
- }
- printf("%.2f / %.2f = %.2f",n1,n2,n1/n2);
- Divisao[l]=n1/n2;
- l+=1;
- system("pause");
- system("cls");
- menu();
- }
- void eq_3grau()
- {
- system("cls");
- float a,b,c,d;
- float r,q,s,discrim,dum1 ,term1, r13, t;
- float x1,x2,x3;
- float x11=0, x22=0,x33=0;
- do{
- printf("Digite o valor de a: "); scanf("%f",&a);
- if(a==0)
- printf("O coeficiente do cubo não pode ser 0.\n\n");
- }while(a==0);
- printf("Digite o valor de b: "); scanf("%f",&b);
- printf("Digite o valor de c: "); scanf("%f",&c);
- do{
- printf("Digite o valor de d: "); scanf("%f",&d);
- if(d==0)
- printf("\n\nBem, uma raiz eh 0. Divida a equacao polinomial por x e você tem uma equacao do segundo grau. Aqui nada mais ha a ser feito.\n\n");
- }while(d==0);
- b /= a;
- c /= a;
- d /= a;
- q = (3*c - (b*b))/9;
- r = -(27*d) + b*(9*c - 2*(b*b));
- r /= 54;
- discrim = q*q*q + r*r;
- printf("\n\ndiscri = %.20f\n\n", discrim);
- x1 = 0;
- term1 = (b/3.0);
- if (discrim > 0)
- {
- printf("\n\nO discriminante eh maior que zero");
- s = r + sqrt(discrim);
- s = (s < 0) ? -cbrt(-s) : cbrt(s);
- t = r - sqrt(discrim);
- t = (t < 0) ? -cbrt(-t) : cbrt(t);
- x1= -term1 + s + t;
- term1 += (s + t)/2.0;
- x33 = x22 = -term1; //parte real
- term1 = sqrt(3.0)*(-t + s)/2;
- x2 = term1;
- x3 = -term1;
- printf("\n\nx1 = %.8f\n", x1);
- printf("x2 = %.8f + %.8f*i\n", x22,x2);
- printf("x3 = %.8f + %.8f*i\n", x33, x3);
- }
- if (discrim == 0)
- {
- printf("\n\nO discriminante eh igual a zero");
- r13 = (r < 0) ? -cbrt(-r) : cbrt(r);
- x1 = -term1 + 2.0*r13;
- x3 = x2 = -(r13 + term1);
- printf("\n\nx1 = %.8f\n", x1);
- printf("x2 = %.8f\n", x2);
- printf("x3 = %.8f\n", x3);
- }
- if(discrim < 0)
- {
- printf("\n\nO discriminante eh menor que zero");
- q = -q;
- dum1 = q*q*q;
- dum1 = acos(r/sqrt(dum1));
- r13 = 2.0*sqrt(q);
- x1 = -term1 + r13*cos(dum1/3.0);
- x2 = -term1 + r13*cos((dum1 + 2.0*M_PI)/3.0);
- x3 = -term1 + r13*cos((dum1 + 4.0*M_PI)/3.0);
- printf("\n\nx1 = %.8f\n", x1);
- printf("x2 = %.8f\n", x2);
- printf("x3 = %.8f\n", x3);
- }
- system("pause");
- system("cls");
- menu();
- }
- int main(void) {
- setlocale(LC_ALL, "Portuguese");
- menu();
- return 0;
- }
- void menu(){
- int escolha, escolha2, escolha3, escolha4, escolha5;
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- printf ("\tQual operação voce deseja realizar?\n\n");
- printf("\t1- Uma das quatro operações aritméticas básicas(soma, subtração, divisão e multiplicação).\n");
- printf("\t2- Potência ou Raiz quadrada.\n");
- printf("\t3- Ver as raízes reais de uma equação de segundo ou terceiro grau.\n");
- printf("\t4- Fatorial de um número inteiro.\n");
- printf("\t5- Sair\n");
- scanf ("%d", &escolha);
- switch(escolha){
- case 1:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- printf("\tQual das quatro operações voce deseja realizar?\n\n");
- printf("\t1- Soma\n");
- printf("\t2- Subtração\n");
- printf("\t3- produto\n");
- printf("\t4- divisao\n");
- scanf("%d", &escolha2);
- switch(escolha2){
- case 1:
- soma();
- break;
- case 2:
- subtracao();
- break;
- case 3:
- produto();
- break;
- case 4:
- divisao();
- break;
- default:
- printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
- system("pause");
- system("cls");
- menu();
- break;
- }
- break;
- case 2:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- printf("\tQual voce deseja realizar?\n\n");
- printf("\t1- Potencia\n");
- printf("\t2- Raiz quadrada\n");
- scanf("%d", &escolha3);
- switch(escolha3){
- case 1:
- potencia();
- break;
- case 2:
- raiz();
- break;
- default:
- printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
- system("pause");
- system("cls");
- menu();
- break;
- }
- break;
- case 3:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- printf("\tQual equação voce deseja saber a raiz?\n\n");
- printf("\t1- Segundo grau\n");
- printf("\t2- Terceiro grau\n");
- scanf("%d", &escolha4);
- switch(escolha4){
- case 1:
- seggrau();
- break;
- case 2:
- eq_3grau();
- break;
- default:
- printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
- system("pause");
- system("cls");
- menu();
- break;
- }
- break;
- case 4:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- fatorial();
- break;
- case 5:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- system("exit");
- printf("\n\tAté a proxima...\n\n");
- break;
- default:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- printf("\n\tComando invalido!\n\n\n");
- printf("\tO que deseja fazer agora?\n\n");
- printf("\t1- Voltar ao menu.\n");
- printf("\t2- Encerrar o programa.\n");
- scanf("%d", &escolha5);
- switch(escolha5){
- case 1:
- system("cls");
- menu();
- break;
- case 2:
- system("cls");
- printf ("=============================");
- printf (" C A L C U L A D O R A ");
- printf ("=============================");
- printf ("\n\n");
- system("exit");
- printf("\n\tAté a proxima...\n\n");
- break;
- default:
- printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
- system("pause");
- system("cls");
- menu();
- break;
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement