Criando uma calculadora com o KDevelop

Este artigo é a versão em C++ de um simples programa de cálculo em linha de comando. Esta calculadora será capaz de efetuar as quatro operações básicas, mais a exponenciação e extração da raiz quadrada por meio de algoritmos.
Será usado neste artigo o IDE KDevelop 3.0.

[ Hits: 37.676 ]

Por: ronaldo em 25/01/2005


Visualizando o código-fonte final



Segue o código-fonte para conferência, lembrando que caso a execução do programa termine em erros, verifique as mensagens e tente resolvê-los, é interessante ressaltar que a maioria das mensagens de erro durante a execução são devidas a falhas na digitação.

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char *argv[ ])
{
  float x, y, z;
  char op, resp = 's';
  int a=1;
  
  cout << "\t\t\t\t\tCalc v0.1\n\n";
  cout << "\tOperadores validos:\n";
  cout << "\t\tAdição: '+'\n";
  cout << "\t\tSubtração: '-'\n";
  cout << "\t\tMultiplicação: '*'\n";
  cout << "\t\tExponenciação: 'e'\n";
  cout << "\t\tRadiciação: 'r'\n\n";
  
  while (resp != 'n')
  {
    cout << "Digite sua expressão: ";
    cin >> x >> op >> y;  
    
    switch(op)
    {
      case '+':
        cout << x + y << endl;
      break;
      case '-':
        cout << x - y << endl;
      break;
      case '*':
        cout << x * y << endl;
      break;
      case '/':
        cout << x / y << endl;
      break;
      case 'e':
        z = x;
        if (y == 0)
        {
          cout << 1 << endl;
        }
        else
        {
          while (a != y)
          {
            x = x * z;
      a++;
          }
          cout << x << endl;
        }
  break;
      case 'r': // este algoritmo de raiz só é capaz de extrair a raiz quadrada
        z = 0.0001;  // não importando o número digitado depois do 'r'
        while ((z * z) < x ) // a raiz quadrada é extraída utilizando-se
        {                    // o método de "força-bruta"
          z = z + 0.0001;
        }  
        while ((z * z) > x)
        {
        z = z - 0.00001;
        }
        cout << z - 0.00001 <<endl;
      break;
      default:
        cout << "Expressão invalida" << endl;
      break;
    }
    cout << "Deseja continuar [s/n]? ";
    cin >> resp;
    cout << endl;    
  }

  return EXIT_SUCCESS;
}
Página anterior     Próxima página

Páginas do artigo
   1. Iniciando um novo projeto
   2. Desenvolvendo o algoritmo
   3. Visualizando o código-fonte final
   4. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Introdução à linguagem C - Parte III

Introdução à ponteiros em C

Criando uma aplicação gráfica com o Qt Designer

Inteiros e Strings na linguagem C

Mais sobre recursividade em C/C++

  
Comentários
[1] Comentário enviado por removido em 25/01/2005 - 11:48h

Excelente exemplo de como se programa!!!
Com pequenos trabalhos assim desperta-se muitas futuras vocações em progamadores que dão os primeiros passos...
;-))

[2] Comentário enviado por ice em 26/01/2005 - 22:40h

Muito bom pros iniciantes que estão aprendendo a programar

[3] Comentário enviado por Ti_j@der em 30/01/2005 - 15:12h

Muito bom....assim q tiver um tempo vou testar....ok

[4] Comentário enviado por dadowolf em 23/04/2005 - 02:02h

Muito bom, principalmente porque estou migrando do Delhi para o Linux e quero aprender um pouco de C. Excelente Parabens!

[5] Comentário enviado por goiabis em 12/07/2006 - 20:37h

já vou testar esse


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts