SOFTCALC

Publicado por DEMIS CARLOS FONSECA GOMES 27/05/2004

[ Hits: 5.576 ]

Homepage: www.portonaweb.com

Download Calculadora SOFTCALC.cpp




Uma Calculadora com Multi-Funções. Soma,

  



Esconder código-fonte

/* Programa que executa as funcoes de uma calculadora,
Por Dêmis Carlos Fonseca Gomes
demiscarlos@hotmail.com
Ciencia da Computacao
2ș Periodo 
Universidade Federal do Tocantins
Palmas-TO.
*/
#include<stdio.h>
#include<conio.h>
#include<conio.c>
#include<math.h>
#include<stdlib.h>
main()
{
float an,rd,x,y,z,i,r,x1,x11,x2,x22,R,ang,h,pri,razao,n,esfera;
int a,b,c,det,a11,a12,a21,a22,o,pi,d;
printf("\n\n\n");
printf("xxxxxx  xxxxxx  xxxxxx  xxxxxx xxxxxx  xxxxxx  xx      xxxxxx\n");
printf("xxxxxx  xxxxxx  xxxxxx  xxxxxx xxxxxx  xxxxxx  xx      xxxxxx\n");
printf("xx      xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("xx      xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("xx      xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("xx      xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("xx      xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("xxxxxx  xx  xx  xxxxx     xx   xx      xxxxxx  xx      xx\n");
printf("xxxxxx  xx  xx  xxxxx     xx   xx      xxxxxx  xx      xx\n");
printf("    xx  xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("    xx  xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("    xx  xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("    xx  xx  xx  xx        xx   xx      xx  xx  xx      xx\n");
printf("xxxxxx  xxxxxx  xx        xx   xxxxxx  xx  xx  xxxxxx  xxxxxx\n");
printf("xxxxxx  xxxxxx  xx        xx   xxxxxx  xx  xx  xxxxxx  xxxxxx\n\n\n");
printf("\tDesenvolvido por Demis Carlos Fonseca Gomes\n\n");
printf("\t\nCaso este programa nao esteja rodando em tela cheia pressione alt+enter\n\n");
printf("\t\nPressione ENTER para continuar");
getchar();
system("cls");
printf("\t_-_-_-_-_-_-_-_ Demis Carlos Softwares _-_-_-_-_-_-_-_-_\n\n\n");
printf("\t+ - + - + - + - + - Calculadora + - + - + - + - + - + \n\n\n");
printf("\tDigite < 1 > para somar         < 2 > para subtrair\n");
printf("\t       < 3 > para multiplicar   < 4 > para dividir\n");
printf("\t       < 5 > para raiz quadrada < 6 > para Funcao do 2 grau\n");
printf("\t       < 7 > para det matriz    < 8 > para o fatorial\n");
printf("\t       < 9 > numero ao quadrado < 10 > para ver calendario\n");
printf("\t       < 11 >area do quadrado   < 12 > area do retangulo\n");
printf("\t       < 13 >area do paralelogramo < 14 > area do triangulo\n");
printf("\t       < 15 >area do losango    < 16 > area do trapezio\n");
printf("\t       < 17 >area do circulo    < 18 > area do setor circular\n");
printf("\t       < 19 >Prog Aritmetica    < 20 > area da esfera\n");
printf("\t       < 0 > para encerrar o programa\n\n"); 
printf("\tInstrucao: Apos digitar o valor tecle ENTER, nao digite letras\n\n\n");
printf("\tDigite uma  das opcoes acima:  ");
scanf("%f",&i);
system("cls");
while (i!=0)
{
if (i>20 && i!=0)
    {
     printf("\n\nOpcao Invalida/ Digite as opcoes de 1 a 19 ou 0 para encerrar o programa\n\n\n\n");
     printf("\n\nTecle enter para voltar ao menu de opcoes\n");
     getch();
    }
if (i==1)
{
    z=x+y;
    printf("\tDigite o primeiro numero: ");
    scanf("%f",&x);
    printf("\tmais\n");
    printf("\t        o segundo numero: ");
    scanf("%f",&y);
    z=y+x;
    printf("\nO resultado e: ""%0.1f\n",z);
   printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
    }
if (i==2)
{
    z=x-y;
    printf("\tDigite o primeiro numero: ");
    scanf("%f",&x);
    printf("\tmenos\n");
    printf("\t        o segundo numero: ");
    scanf("%f",&y);
    z=x-y;
    printf("\nO resultado e: ""%0.1f\n\n",z);
    printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
}
if (i==3)
{
    z=x*y;
    printf("\tDigite o primeiro numero: ");
    scanf("%f",&x);
    printf("\tmultiplicado\n");
    printf("\t      pelo segundo numero: ");
    scanf("%f",&y);
    z=x*y;
    printf("\nO resultado e: ""%0.1f\n",z);
    printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
}
if (i==4)
{
    z=x/y;
    printf("\tDigite o primeiro numero: ");
    scanf("%f",&x);
    printf("\tdividido\n");
    printf("\t     pelo segundo numero: ");
    scanf("%f",&y);
    z=x/y;
    printf("\nO resultado e: ""%0.1f  \n",z);
   printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
}
if (i==5)
{
    printf("\tVoce deseja a raiz de: ");
    scanf("%f",&r);
    r=sqrt(r);
    printf("\nA raiz desse numero e: %0.0f (ou aproximadamente)\n",r);
    printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
}
if (i==6)
{
    printf("\tCalculo para resultados inteiros\n\n");
    printf("\tDigite o valor de b: ");
    scanf("%d",&b);
    printf("\tDigite o valor de a: ");
    scanf("%d",&a);
    printf("\tDigite o valor de c: ");
    scanf("%d",&c);
    d=b*b-4*(a*c);
    printf("\nDelta vale ""%d",d);
    rd=sqrt(d);
    printf("\nA raiz de delta eh: %0.1f",rd);
    x1=-b+rd;
    x11=x1/2*a;
    printf("\nX1 vale ""%0.1f",x11);
    x2=-b-rd;
    x22=x2/2*a;
    printf("\nX2 vale ""%0.1f\n",x22);
    printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
    }
    if (i==7)
    {
    printf("\tMatriz com 2 linhas e 2 colunas");
    printf("\nDigite um numero para a linha 1 e coluna 1: ");
    scanf("      %d", &a11);
    printf("\nDigite um numero para a linha 1 e coluna 2: ");
    scanf("   %d", &a12);
    printf("\nDigite um numero para a linha 2 e coluna 1: ");
    scanf("   %d", &a21);
    printf("\nDigite um numero para a linha 2 e coluna 2: ");
    scanf("   %d", &a22);
    det=a11*a22-a12*a21;   
    printf("\nA matriz e  \n");
    printf("\t%d  %d\n\t%d  %d\n" ,a11 ,a12 ,a21 ,a22);
    printf("\nDeterminate= %d\n", det);
   printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
    }
    if (i==8)
    {
    printf("\n\n\n");
    printf("\t\2\2\2\2\2\2\n");
    printf("\t\2\2\2\2\2\2\n");
    printf("\t\2\2\n");
    printf("\t\2\2\n");
    printf("\t\2\2\2\2\2\2\n");
    printf("\t\2\2\2\2\2\2    \2\2\2\2\2\2    \2\2\2\2\2\2   \2\2\2\2\2\2   \2\2\2\2\2\2   \2\2   \2\2\2\2\2\2   \2\2\n");
    printf("\t\2\2        \2\2  \2\2      \2\2     \2\2  \2\2   \2\2  \2\2   \2\2   \2\2  \2\2   \2\2\n");
    printf("\t\2\2        \2\2\2\2\2\2      \2\2     \2\2  \2\2   \2\2\2\2     \2\2   \2\2\2\2\2\2   \2\2\n");
    printf("\t\2\2        \2\2  \2\2      \2\2     \2\2  \2\2   \2\2  \2\2   \2\2   \2\2  \2\2   \2\2\n");
    printf("\t\2\2        \2\2  \2\2      \2\2     \2\2\2\2\2\2   \2\2  \2\2   \2\2   \2\2  \2\2   \2\2\2\2\2\2\n\n\n"); 
    printf("Tecle enter para continuar\n");
    getch();
    system("cls");
    int n;
    long fn,i;
    i=2;
    printf("\n\nVoce deseja o fatorial de: \n");
    scanf("%d",&n);
    for(fn=1;i<=n;i++)
        fn=fn*i;
    printf("\n\nSeu fatorial e: ""%d\n\n",fn);
    printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
    }
    if (i==9)
    {
         printf("\tDigite o numero: ");
         scanf("%f",&x);   
         z=x*x;
         printf("\nEste numero elevado a dois eh ""%0.1f\n\n",z);
        printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
    if (i==10)
    {
    int ds,     /* Dia da semana                       */
      nd,       /* Numero de dias do mes               */
      dia,      /* Variavel para impressao do dia      */
      mes,      /* Numero do mes                       */
      ano,      /* Ano                                 */
      c_ds,     /* Contador do dia da semana           */
      c_dia,    /* Contador do dia a ser impresso      */
      c_mes,    /* Contador de meses                   */
      c_ano,    /* Contador de anos                    */
      i_semana; /* Contador auxiliar para a impressÆo  */
  /* Inicializacao das variaveis */
  dia=1;
  ds=2;         /* ds=2 pois 1/1/1900 e segunda feira */
  c_ds=1;
  c_dia=1;
  c_mes=1;
  c_ano=1900;   /* Inicializa a contagem a partir de 1900 */
  printf("Digite o mes:  ");
  scanf("%d", &mes);
  while(mes<1||mes>12)
    {
    printf("\nMes inexistente\n");
    printf("Digite o mes:  ");
    scanf("%d", &mes);
    }  
  printf("Digite o ano (a partir de 1900):  ");
  scanf("%d", &ano);
  while(ano<1900)
    {
    printf("\nDigite ano maior que 1900:  ");
    scanf("%d", &ano);
    }
 while (c_ano<ano){
     if (c_ano%4==0 && (c_ano%100!=0 || c_ano%400==0)){
        ds=ds+2;            /* Se o ano for bissexto */
        c_ano=c_ano+1;      /* somar 2 ao ds. */
     if (ds==8)
        ds=1;
                            /* Como sao apenas 7 os dias */
     if (ds==9)             /* da semana, a variavel ds  */
        ds=2;               /* so pode variar de 1 a 7   */
        }
     else {                 /* Se o ano nao for bissexto */
        ds=ds+1;            /* somar um ao ds */
        c_ano=c_ano+1;
     if (ds==8)
        ds=1;
        }
  }
   while (c_mes<mes){        /* Contagem dos meses */
     if (c_mes==1 || c_mes==3 || c_mes==5 || c_mes==7 || c_mes==8 ||
         c_mes==10 || c_mes==12)
        nd=31;              /* Meses que tem 31 dias */
     else if (c_mes==2)     /* Se o mes for fevereiro... */
     if (ano%4==0 && (ano%100!=0 || ano%400==0))
        nd=29;
     else
        nd=28;              /* ...verificar se o ano e bissexto */
     else
        nd=30;
     while (c_ds<=nd){
        ds=ds+1;            /* Contagem de ds em cada mes */
        c_ds=c_ds+1;
        if (ds==8)
           ds=1;
     }
     c_ds=1;
     c_mes=c_mes+1;
  }

   if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12)
     nd=31;                 /* Meses com 31 dias */
  else if (mes==2)
  if (ano%4==0 && (ano%100!=0 || ano%400==0))
     nd=29;
  else                      /* Verifica se o ano e bissexto */
     nd=28;                 /* para determinar se fevereiro */
                            /* tem 28 ou 29 dias.           */
  else
     nd=30;                 /* Senao, o mes tem 30 dias. */

  system("cls");
  textcolor(12);
  printf("\n\n\n D  S  T  Q  Q  S  S\n");
  textcolor(18);
  while (ds>1){
        printf("   ");
        ds--;
        c_dia++;
  }
  while (dia<=nd){       /* O dia nao pode ultrapassar
                               o numero de dias do mes      */
        if (c_dia==7){
           if (dia>=10){
              printf("%d\n", dia);  /* Se chegar ao sabado...  */
              dia=dia+1;            /*   imprime e pula linha  */
              c_dia=1;
           }
           else {
              printf(" %d\n", dia); /* Se o digito for <10...  */
              dia=dia+1;            /* da espaco antes de imp. */
              c_dia=1;
           }
        }
        else if (dia>=10){       /* Se nao chegou ao sabado */
           printf("%d ", dia);   /* nao pode pular linha    */
           dia=dia+1;
           c_dia=c_dia+1;
           }
        else {
           printf(" %d ",dia);   /* Se o digito for <10...  */
           dia=dia+1;            /* da espaco antes de imp. */
           c_dia=c_dia+1;
           }
           }
           printf("\n\nTecle enter para voltar ao menu de opcoes\n");
           getch();
  }
  if (i==11)
    {
         printf("________________\n");
         printf("|               |\n");
         printf("|               |\n");
         printf("|               |\n");
         printf("|               |\n");
         printf("________________\n");
         printf("      lado\n\n");
         printf("\tDigite o valor do lado: ");
         scanf("%f",&x);   
         z=x*x;
         printf("\nA area deste quadrado eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
     if (i==12)
    {
         printf("________________    <\n");
         printf("|               |   <\n");
         printf("|               |   <--altura\n");
         printf("-----------------   <\n");
         printf("      base\n\n");
         printf("\tDigite o valor da base: ");
         scanf("%f",&x);
         printf("\tDigite o valor da altura: ");
         scanf("%f",&y);
         z=x*y;
         printf("\nA area deste retangulo eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
     if (i==13)
    {
         printf("     ________________  <\n");
         printf("    /               /  <\n");
         printf("   /               /   <\n");
         printf("  /               /    <-- altura\n");
         printf(" /               /     <\n");
         printf("-----------------      <\n");
         printf("      base\n\n");
         printf("\tDigite o valor da base: ");
         scanf("%f",&x);
         printf("\tDigite o valor da altura: ");
         scanf("%f",&y);
         z=x*y;
         printf("\nA area deste paralelogramo eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
     if (i==14)
    {
         printf("        /\\   <\n");
         printf("       /  \\  <-- altura\n");
         printf("      /    \\ <\n");
         printf("      ------ <\n");
         printf("       base\n");
         printf("\tDigite o valor da base: ");
         scanf("%f",&x);
         printf("\tDigite o valor da altura: ");
         scanf("%f",&y);
         z=(x*y)/2;
         printf("\nA area deste triangulo eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
     if (i==15)
    {
         printf("        /\\   <\n");
         printf("       /  \\  <\n");
         printf("      /    \\ <\n");
         printf("      \\    / <-- D\n");
         printf("       \\  /  <\n");
         printf("        \\/   <\n");
         printf("      |_____|\n");
         printf("         d\n");
         printf("\tDigite o valor da distancia D: ");
         scanf("%f",&x);
         printf("\tDigite o valor da distancia d: ");
         scanf("%f",&y);
         z=(x*y)/2;
         printf("\nA area deste losango eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
     if (i==16)
    {
         printf("       base menor\n");
         printf("       ________          <\n");
         printf("      /         \\       <\n");
         printf("     /             \\    <\n");
         printf("    /                \\  <-- altura\n");
         printf("   /___________________\ <\n");
         printf("        base maior\n");
         printf("\tDigite o valor da base maior: ");
         scanf("%f",&x);
         printf("\tDigite o valor da base menor: ");
         scanf("%f",&y);
         printf("\tDigite o valor da altura: ");
         scanf("%f",&h);
         z=(x+y)*h/2;
         printf("\nA area deste trapezio eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
     if (i==17)
    {
         printf("       oo  oo\n");
         printf("     oo      oo\n");
         printf("    oo        oo\n");
         printf("    oo    -R-->oo\n");
         printf("     oo      oo\n");
         printf("       oo  oo\n\n");
         pi=180;
         printf("\tDigite o valor do raio: ");
         scanf("%f",&R);
         z=pi*(R*R);
         printf("\nA area deste circulo eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
      if (i==18)
    {
         printf("       oo  oo\n");
         printf("     oo      oo\n");
         printf("    oo_____   oo\n");
         printf("    oo     \\  oo\n");
         printf("     oo     \\oo\n");
         printf("       oo  oo\n\n");
         pi=180;
         printf("\tDigite o valor do raio: ");
         scanf("%f",&R);
         printf("\tDigite o valor do angulo: ");
         scanf("%f",&ang);
         z=pi*(R*R)*(ang)/360;
         printf("\nA area deste setor circular eh ""%0.1f\n\n",z);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
     }
      if (i==20)
{
    printf("\tDigite o raio ");
    scanf("%f",&r);
    pi=3,14;
    esfera=4*pi*(r*r);
    printf("\nO resultado e: ""%0.1f\n\n",esfera);
    printf("\n\nTecle enter para voltar ao menu de opcoes\n");
    getch();
}
     if (i==19)
    {
         printf("\tDigite qualquer valor se o ultimo termo tiver sido informado\n");
         printf("\tse nao, digite 123): ");
         scanf("%f",&x);
         if (x!=123)
         {
         printf("\tDigite o ultimo termo:\n");
         scanf("%f",&an);
         printf("\tDigite o valor do primeiro termo: ");
         scanf("%f",&pri);
         printf("\tDigite o valor da razao: ");
         scanf("%f",&razao);
         n=((an-pri)+razao)/razao;
         printf("\nEsta P.A. vale ""%0.1f\n\n",n);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
         }
         if (x==123)
         {
         printf("\tDigite o termo que deseja obter(primeiro, segundo...:\n");
         scanf("%f",&n);
         printf("\tDigite o valor do primeiro termo: ");
         scanf("%f",&pri);
         printf("\tDigite o valor da razao: ");
         scanf("%f",&razao);
         an=pri+(n-1)*razao;
         printf("\nEsta P.A. vale ""%0.1f\n\n",an);
         printf("\n\nTecle enter para voltar ao menu de opcoes\n");
         getch();
         }
         }
        
system("cls");
printf("\t_-_-_-_-_-_-_-_ Demis Carlos Softwares _-_-_-_-_-_-_-_-_\n\n\n");
printf("\t+ - + - + - + - + - Calculadora + - + - + - + - + - + \n\n\n");
printf("\tDigite < 1 > para somar         < 2 > para subtrair\n");
printf("\t       < 3 > para multiplicar   < 4 > para dividir\n");
printf("\t       < 5 > para raiz quadrada < 6 > para Funcao do 2 grau\n");
printf("\t       < 7 > para det matriz    < 8 > para o fatorial\n");
printf("\t       < 9 > numero ao quadrado < 10 > para ver calendario\n");
printf("\t       < 11 >area do quadrado   < 12 > area do retangulo\n");
printf("\t       < 13 >area do paralelogramo < 14 > area do triangulo\n");
printf("\t       < 15 >area do losango    < 16 > area do trapezio\n");
printf("\t       < 17 >area do circulo    < 18 > area do setor circular\n");
printf("\t       < 19 >Prog Aritmetica    < 20 > area da esfera\n");
printf("\t       < 0 > para encerrar o programa\n\n"); 
printf("\tInstrucao: Apos digitar o valor tecle ENTER\n\n");
printf("\tDigite uma das opcoes acima: ");
scanf("%f",&i);
system("cls");
}
    if (i==000)
    {
    }
    
printf("\n\n\n\n\n\n\n\t _-_-_-_-_-_-_-_ Demis Carlos Softawares _-_-_-_-_-_-_-_-_\n\t");
printf("            Cientista da Computacao    63 363-2448 \n\n\t");
printf("            Demis Carlos agradece\n");
printf(" \t____________________________________________________\n");
printf("\n\tRespeite as Ideias alheias nao faca copias ilegais\n");
printf(" \t____________________________________________________\n");
printf("           Pressione qualquer tecla para sair");
getch();
}

Scripts recomendados

Raiz quadrada aproximada

Determinando resultado de uma partida futebol (iniciante)

Calculadora simples em C

Cálculo de Energia de um Corpo

Retorna o número elevado ao quadrado


  

Comentários
[1] Comentário enviado por truloco em 02/11/2004 - 18:08h

Muito legal os módulos de calculo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts