Advertisement
FelipeApolina12

Untitled

Dec 1st, 2022 (edited)
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.08 KB | Source Code | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <locale.h>
  5.  
  6. void seggrau()
  7. {
  8.    
  9.     float a,b,c,delta, x1, x2,Raiz_Segundo_Grau[2];
  10.   int p=0;
  11.  printf("Digite os coeficientes da funcao: ");
  12.   scanf("%f %f %f",&a,&b,&c);
  13.   if(a!=0){
  14.  
  15.     printf("\nf(x) = %8.2fx² + %8.2fx + %8.2f\n", a, b, c);
  16.  
  17.     delta = b*b - 4 * a * c;
  18.  
  19.     if(delta < 0)
  20.     {
  21.         printf("\nDELTA = %8.2f\nNão possui raízes reais!\n\n", delta);
  22.     }
  23.     else
  24.     {
  25.         if(delta == 0)
  26.         {
  27.             x1 = -b / (2 * a);
  28.             printf("\nDELTA = %8.2f \nx'   = %8.2f\n\n", delta, x1);
  29.           Raiz_Segundo_Grau[p]=x1;
  30.   p+=1;
  31.         }
  32.         else
  33.         {
  34.             x1 = (-b - sqrt(delta)) / (2 * a);
  35.             x2 = (-b + sqrt(delta)) / (2 * a);
  36.             printf("\nDELTA = %8.2f \nx'   = %8.2f\nx''  = %8.2f\n\n", delta, x1, x2);
  37.           Raiz_Segundo_Grau[p]=x1;
  38.   p+=1;
  39.   Raiz_Segundo_Grau[p]=x2;
  40.         }
  41.     }}
  42.   else{
  43.     printf("O primeiro coeficiente tem que ser diferente de 0.");
  44.   }
  45.   system("pause");
  46.   system("cls");  
  47.   menu();
  48.    
  49. }
  50. void fatorial(){
  51.   float n1,Fatorial[5],fat;
  52.   int o=0;
  53.   printf("Digite o numero: ");
  54.   scanf("%f",&n1);
  55.   if(n1==0){
  56.      printf("O resultado e 0.");
  57.   }
  58.   for(fat=1;n1>1;n1=n1-1){
  59.     fat=fat*n1;
  60.   }
  61.   printf("Fatorial igual a = %.2f",fat);
  62.   Fatorial[o]=fat;
  63.   o+=1;
  64.  
  65.   system("pause");
  66.   system("cls");  
  67.   menu();
  68. }
  69. void potencia(){
  70.   float n1,n2,Potencia[5],x;
  71.   int m=0,i;
  72.   printf("Digite os numeros: ");
  73.   scanf("%f %f",&n1,&n2);
  74.  
  75.   if(n1==0){
  76.     printf("O resultado e 0.");
  77.   }
  78.   if(n2==0){
  79.     printf("O resultado e 1.");
  80.   }
  81.   if(n2>0){
  82.     x=n1;
  83.   for(i=2;i<=n2;i++){
  84.     n1=n1*x;}}
  85.   else{
  86.       if(n2<0){
  87.         x=n1;
  88.         for(i=2;i<=n2;i++){
  89.           n1=(1/n1)*(1/x);}
  90.         }
  91.       }
  92.     printf("%.2f ^ %.2f = %.2f",x,n2,n1);
  93.   Potencia[m]=n1;
  94.   m+=1;
  95.  
  96.   system("pause");
  97.   system("cls");
  98.   menu();
  99.     }
  100.  
  101. void raiz(){
  102.   float n1,Raiz[5];
  103.   int n=0;
  104.   printf("Digite o numero: ");
  105.   scanf("%f",&n1);
  106.   if(n1>=0){
  107.    printf("Raiz quadrada de %.2f e = %.2f",n1,sqrt(n1));
  108.   Raiz[n]=sqrt(n1);
  109.   n+=1;}
  110.   else{
  111.     printf("Digite apenas numeros e positivos.");
  112.   }
  113.   system("pause");
  114.   system("cls");
  115.   menu();
  116. }
  117. void soma(){
  118.   float n1,n2,Soma[5];
  119.   int i=0;
  120.   printf("Digite os numeros: ");
  121.   scanf("%f %f",&n1,&n2);
  122.   printf("%.2f + %.2f = %.2f",n1,n2,n1+n2);
  123.   Soma[i]=n1+n2;
  124.   i+=1;
  125.  
  126.   system("pause");
  127.   system("cls");  
  128.   menu();
  129.  
  130. }
  131.  
  132. void subtracao(){
  133.   float n1,n2,Subtracao[5];
  134.   int j=0;
  135.   printf("Digite os numeros: ");
  136.   scanf("%f %f",&n1,&n2);
  137.   printf("%.2f - %.2f = %.2f",n1,n2,n1-n2);
  138.   Subtracao[j]=n1-n2;
  139.   j+=1;
  140.  
  141.   system("pause");
  142.   system("cls");  
  143.   menu();
  144. }
  145.  
  146. void produto(){
  147.   float n1,n2,Produto[5];
  148.   int k=0;
  149.   printf("Digite os numeros: ");
  150.   scanf("%f %f",&n1,&n2);
  151.   printf("%.2f * %.2f = %.2f",n1,n2,n1*n2);
  152.   Produto[k]=n1*n2;
  153.   k+=1;
  154.  
  155.   system("pause");
  156.   system("cls");  
  157.   menu();
  158. }
  159.  
  160. void divisao(){
  161.   float n1,n2,Divisao[5];
  162.   int l=0;
  163.   printf("Digite os numeros: ");
  164.   scanf("%f %f",&n1,&n2);
  165.   if(n2==0){
  166.    printf("Não tem resposta.");
  167.   }
  168.   printf("%.2f / %.2f = %.2f",n1,n2,n1/n2);
  169.   Divisao[l]=n1/n2;
  170.   l+=1;
  171.  
  172.   system("pause");
  173.   system("cls");  
  174.   menu();
  175. }
  176. void eq_3grau()
  177. {
  178.      system("cls");
  179.      float a,b,c,d;
  180.      float r,q,s,discrim,dum1 ,term1, r13, t;
  181.      float x1,x2,x3;
  182.      float x11=0, x22=0,x33=0;  
  183.      
  184.      do{
  185.      printf("Digite o valor de a: "); scanf("%f",&a);
  186.      if(a==0)
  187.          printf("O coeficiente do cubo não pode ser 0.\n\n");
  188.      }while(a==0);
  189.      
  190.      printf("Digite o valor de b: "); scanf("%f",&b);
  191.      printf("Digite o valor de c: "); scanf("%f",&c);
  192.      
  193.      do{
  194.      printf("Digite o valor de d: "); scanf("%f",&d);
  195.      if(d==0)
  196.         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");
  197.     }while(d==0);
  198.    
  199.      b /= a;  
  200.      c /= a;  
  201.      d /= a;  
  202.    
  203.      q = (3*c - (b*b))/9;
  204.      r = -(27*d) + b*(9*c - 2*(b*b));
  205.      r /= 54;
  206.      
  207.      discrim = q*q*q + r*r;
  208.      printf("\n\ndiscri  =  %.20f\n\n", discrim);
  209.      x1 = 0;  
  210.      term1 = (b/3.0);    
  211.  
  212.      
  213.      if (discrim > 0)
  214.      {  
  215.         printf("\n\nO discriminante eh maior que zero");
  216.         s = r + sqrt(discrim);
  217.         s = (s < 0) ? -cbrt(-s) : cbrt(s);
  218.         t = r - sqrt(discrim);
  219.         t = (t < 0) ? -cbrt(-t) : cbrt(t);
  220.         x1= -term1 + s + t;
  221.         term1 += (s + t)/2.0;
  222.         x33 = x22 = -term1; //parte real
  223.         term1 = sqrt(3.0)*(-t + s)/2;
  224.         x2 = term1;
  225.         x3 = -term1;
  226.        
  227.     printf("\n\nx1 = %.8f\n", x1);
  228.     printf("x2 = %.8f + %.8f*i\n", x22,x2);
  229.     printf("x3 = %.8f + %.8f*i\n", x33, x3);
  230.     }
  231.      
  232.     if (discrim == 0)
  233.     {
  234.         printf("\n\nO discriminante eh igual a zero");
  235.         r13 = (r < 0) ? -cbrt(-r) : cbrt(r);
  236.         x1 = -term1 + 2.0*r13;
  237.         x3 = x2 = -(r13 + term1);
  238.        
  239.     printf("\n\nx1 = %.8f\n", x1);
  240.     printf("x2 = %.8f\n", x2);
  241.     printf("x3 = %.8f\n", x3);
  242.     }
  243.    
  244.     if(discrim < 0)
  245.     {
  246.         printf("\n\nO discriminante eh menor que zero");
  247.     q = -q;
  248.     dum1 = q*q*q;
  249.     dum1 = acos(r/sqrt(dum1));
  250.     r13 = 2.0*sqrt(q);
  251.     x1 = -term1 + r13*cos(dum1/3.0);
  252.     x2 = -term1 + r13*cos((dum1 + 2.0*M_PI)/3.0);
  253.     x3 = -term1 + r13*cos((dum1 + 4.0*M_PI)/3.0);
  254.    
  255.     printf("\n\nx1 = %.8f\n", x1);
  256.     printf("x2 = %.8f\n", x2);
  257.     printf("x3 = %.8f\n", x3);
  258.     }    
  259.   system("pause");
  260.   system("cls");
  261.   menu();
  262. }
  263.  
  264.  
  265. int main(void) {
  266.   setlocale(LC_ALL, "Portuguese");
  267.  
  268.   menu();
  269.   return 0;
  270. }
  271. void menu(){
  272.   int escolha, escolha2, escolha3, escolha4, escolha5;
  273.  
  274.   printf ("=============================");
  275.   printf ("    C A L C U L A D O R A    ");
  276.   printf ("=============================");
  277.   printf ("\n\n");
  278.   printf ("\tQual operação voce deseja realizar?\n\n");
  279.     printf("\t1- Uma das quatro operações aritméticas básicas(soma, subtração, divisão e multiplicação).\n");
  280.     printf("\t2- Potência ou Raiz quadrada.\n");
  281.     printf("\t3- Ver as raízes reais de uma equação de segundo ou terceiro grau.\n");
  282.     printf("\t4- Fatorial de um número inteiro.\n");
  283.     printf("\t5- Sair\n");
  284.   scanf ("%d", &escolha);
  285.  
  286.   switch(escolha){
  287.  
  288.     case 1:
  289.       system("cls");
  290.   printf ("=============================");
  291.   printf ("    C A L C U L A D O R A    ");
  292.   printf ("=============================");
  293.   printf ("\n\n");
  294.       printf("\tQual das quatro operações voce deseja realizar?\n\n");
  295.         printf("\t1- Soma\n");
  296.         printf("\t2- Subtração\n");
  297.         printf("\t3- produto\n");
  298.         printf("\t4- divisao\n");
  299.       scanf("%d", &escolha2);
  300.     switch(escolha2){
  301.      
  302.       case 1:
  303.         soma();
  304.         break;
  305.       case 2:
  306.         subtracao();
  307.         break;
  308.       case 3:
  309.         produto();
  310.         break;
  311.       case 4:
  312.         divisao();
  313.         break;
  314.       default:
  315.         printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
  316.         system("pause");
  317.         system("cls");
  318.         menu();
  319.         break;        
  320.     }
  321.     break;
  322.    
  323.     case 2:
  324.       system("cls");
  325.   printf ("=============================");
  326.   printf ("    C A L C U L A D O R A    ");
  327.   printf ("=============================");
  328.   printf ("\n\n");
  329.       printf("\tQual voce deseja realizar?\n\n");
  330.         printf("\t1- Potencia\n");
  331.         printf("\t2- Raiz quadrada\n");
  332.       scanf("%d", &escolha3);
  333.     switch(escolha3){
  334.      
  335.       case 1:
  336.         potencia();
  337.         break;
  338.       case 2:
  339.         raiz();
  340.         break;
  341.       default:
  342.         printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
  343.         system("pause");
  344.         system("cls");
  345.         menu();
  346.         break;
  347.     }
  348.     break;
  349.    
  350.     case 3:
  351.     system("cls");
  352.   printf ("=============================");
  353.   printf ("    C A L C U L A D O R A    ");
  354.   printf ("=============================");
  355.   printf ("\n\n");
  356.        printf("\tQual equação voce deseja saber a raiz?\n\n");
  357.         printf("\t1- Segundo grau\n");
  358.         printf("\t2- Terceiro grau\n");
  359.       scanf("%d", &escolha4);
  360.     switch(escolha4){
  361.      
  362.       case 1:
  363.         seggrau();
  364.         break;
  365.       case 2:
  366.         eq_3grau();
  367.         break;
  368.       default:
  369.         printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
  370.         system("pause");
  371.         system("cls");
  372.         menu();
  373.         break;
  374.     }
  375.     break;
  376.  
  377.     case 4:
  378.     system("cls");
  379.   printf ("=============================");
  380.   printf ("    C A L C U L A D O R A    ");
  381.   printf ("=============================");
  382.   printf ("\n\n");
  383.     fatorial();
  384.     break;
  385.  
  386.     case 5:
  387.       system("cls");
  388.   printf ("=============================");
  389.   printf ("    C A L C U L A D O R A    ");
  390.   printf ("=============================");
  391.   printf ("\n\n");
  392.     system("exit");
  393.     printf("\n\tAté a proxima...\n\n");
  394.     break;
  395.  
  396.      default:
  397.         system("cls");
  398.   printf ("=============================");
  399.   printf ("    C A L C U L A D O R A    ");
  400.   printf ("=============================");
  401.   printf ("\n\n");
  402.         printf("\n\tComando invalido!\n\n\n");
  403.         printf("\tO que deseja fazer agora?\n\n");
  404.         printf("\t1- Voltar ao menu.\n");
  405.         printf("\t2- Encerrar o programa.\n");
  406.       scanf("%d", &escolha5);
  407.     switch(escolha5){
  408.      
  409.       case 1:
  410.         system("cls");
  411.         menu();
  412.         break;
  413.       case 2:
  414.         system("cls");
  415.   printf ("=============================");
  416.   printf ("    C A L C U L A D O R A    ");
  417.   printf ("=============================");
  418.   printf ("\n\n");
  419.     system("exit");
  420.     printf("\n\tAté a proxima...\n\n");
  421.     break;
  422.       default:
  423.         printf("\nComando invalido, você ira retornar para o menu inicial!\n\n");
  424.         system("pause");
  425.         system("cls");
  426.         menu();
  427.         break;
  428.     }
  429.     break;
  430.    
  431.   }
  432.  
  433. }
Tags: trabalho
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement