Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Calculadora básica em linha de comando

Para exemplificar melhor o uso de linha de comando utilizando a linguagem C, vamos criar uma calculadora aritmética básica de inteiros. Vamos utilizar o exemplo criado em C: Módulo e adaptá-lo para utilização de argumentos sejam passados pela linha de comando.

A sintaxe será bem simples; sendo dois argumentos representando dois números como operandos e um último argumento que informa qual a operação desejamos realizar.

Sintaxe: linha de comando
main.exe operando1 operando2 operacao
Linha de comando
main.exe 4 2 +
main.exe 4 2 x
main.exe 4 2 /
main.exe 4 2 -
Exemplo 1 : Parte 1 - Operações
//main.c
#include <stdio.h>
#include <stdlib.h> // para conversão de tipos

int adicao(int a, int b)
{
    return a + b;
}
int subtracao(int a, int b)
{
    return a - b;
}

int multiplicacao(int a, int b)
{
    return a * b;
}

int divisao(int a, int b)
{
    return a / b;
}

Na parte 1 acima, no topo de nossso arquivo main.c, criamos nossas funções que irão realizar os operações aritméticas básicas de nossa calculadora. Validações e outras tratamentos foram omitidos para melhor compreensão do exemplo.

Exemplo 1 : Parte 2 - main
//main.c
void main( int argc, char *argv[] )  
{
    if(argc == 4 )
    {
        int parametro1 = atoi(argv[1]); //conversão de string p/ inteiro
        int parametro2 = atoi(argv[2]);
        
        char operacao = *argv[3];
        
        int resultado = 0;
        //necessário verifica se operação é válida antes
        switch(operacao){
            case '+':
            resultado = adicao(parametro1,parametro2);
            break;
            case 'x':
            resultado = multiplicacao(parametro1,parametro2);
            break;
            case '/':
            resultado = divisao(parametro1,parametro2);
            break;
            case '-':
            resultado = subtracao(parametro1,parametro2);
            break;
        }
        printf("argumento: %d %d\n", parametro1,parametro2);
        printf("operação: %d %c %d \n", parametro1,operacao,parametro2);
        printf("Resultado: %d\n", resultado);
    }
    else
    {
        printf("numero de argumento errados.\n");
    }
}

Na parte 2 acima, dentro de nossa função main, temos o tratamento básico da linha de comando, conversão de operandos e a execução das operações.

Executando nossa calculadoras utilizando a entrada abaixo, temos:

Entrada
main.exe 1 2 + 
Saída
3

Algumas funções da biblioteca <stdlib.h> utilizadas no exemplo acima foram estudados com mais detalhes em C String: Conversão, sendo a leitura recomendada.

  1. 07/10/2024 - revisão 2 - Ajustes pontuais
  2. 29/09/2023 - revisão 1 - Correção em referências, erros gramaticais
  3. 19/05/2023 - versão inicial