LA – Ling C – Aula 11C – Dicas de projeto

Montagem do menu

O código abaixo irá mostrar o exemplo de um menu para chamada de funções. O mesmo deve ser adaptado para que seja atendido pelo projeto.


#include stdlib.h

int main (int arg, char * args[])
{
    //declaracao de variáveis
    int opcao;
    
    for (;;) //laco infinito
    {
        system("CLS"); //Limpa a telas
        printf("MENU PRINCIPAL\n");
        printf("\n[1] - Soma");
        printf("\n[2] - Subtracao");
        printf("\n[3] - Multiplicacao");
        printf("\n[4] - Divisao");
        printf("\n[5] - Sair");
        printf("\n\n");
        printf("Escolha opcao: ");
        fflush(stdin);
        scanf("%d",&opcao);
        
        switch (opcao)
        {
            case 1: 
            case 2:
            case 3:
            case 4: printf("\nCodigo nao implementado");
                    sleep(1000);
                    break;
            case 5: printf("\nSaida do sistema!");
                    sleep(1000);
                    return 0;
                    break;      
            default: printf("Opcao invalida!\n");
                    sleep(2000);
                    break;
        }
    } //fim do Laco infinito
    
    return 0;    
}

Remover arquivo .dat

Pode haver casos em que será necessário fazer a remoção (deleção) de arquivos de dados ou qualquer outro tipo de arquivo. O código abaixo testa se o arquivo existe, e caso positivo, faz a remoção do mesmo:


/*
  Projeto: Remove
    Arquivo: remover.c
    Descricao: remover arquivo
*/

#include stdio.h
#include stdlib.h

int main(int argc, char * argv[])
{
   
    if (remove("torres.dat") == 0)
    {
        printf("Arquivo excluido!");
    }
    else
    {
        printf("arquivo nao excluido!");    
    }
    
    system("Pause >> null");
    
    return 0;    
}

Posicionamento de cursor para printf e scanf

Considerando que as telas de terminais possuem tamanho de 80 linhas por 25 colunas, com a função gotoxy, é possível redirecionar o cursos de escrita e leitura para que a apresentação em tela fique melhor, com o código abaixo:


#include stdio.h
#include stdlib.h
#include windows.h

//referencia http://www.cplusplus.com/forum/beginner/4234/

void gotoxy( int column, int line ); 

int main (int argc, char * argv[])
{
    int valor1, valor2, valor3, soma;
    
    gotoxy(10,5); printf("Digite valor 1 ...:");
    gotoxy(10,6); printf("Digite valor 2 ...:");
    gotoxy(10,7); printf("Digite valor 3 ...:");
    
    gotoxy(30,5); scanf("%d", &valor1);
    gotoxy(30,6); scanf("%d", &valor2);
    gotoxy(30,7); scanf("%d", &valor3);
    
    soma = valor1 + valor2 + valor3;
    
    gotoxy(10,10); printf("A soma é: %d ", soma);
    
    system("pause >> null");
    
    return 0;    
}

void gotoxy( int column, int line )
{
  COORD coord;
  coord.X = column;
  coord.Y = line;
  SetConsoleCursorPosition(
    GetStdHandle( STD_OUTPUT_HANDLE ),coord);
}

 

Trabalhando com vários arquivos separados em vez de um único arquivo

Quando o projeto é grande, ou é necessário que as tarefas sejam divididas, é necessário trabalhar com mais de um arquivo, para posteriormente todos eles serem compilados em um único executável.

Para isso, é necessário criar um projeto console no Dev-C ou no Code Blocks.

No Dev-C, crie um novo Projeto, em console.

01_criacao_projeto_devC

O dev-c pedirá para que seja apontado a pasta raiz do projeto:

02_apontamento_projeto_devC

O Dev-C criou um arquivo main, a qual ele deve ser o principal, como por exemplo os menus.

03_criacao_projeto_e-arquivo_main_devC.jpg

Crie a estrutura lógica dentro do Dev-C, as pastas src (sources ou fontes), lib (library ou bibliotecas) e bin (binario ou executavel)

Os arquivos ficarão em uma única pasta fisicamente, porém locagicamente eles estarão seprados.

04_adicionando_pastas_devC

As pastas logicas ficarão parecidas como abaixo:

05_estruturaLogica_devC

Crie dentro de lib, os arquivos com os seguintes conteúdos.

Arquivo lib.h

06_arquivo_lib_h

Arquivo lib.c

07_arquivo_lib_c

No arquivo main, teremos que fazer a refernecia do arquivo h, entre aspas ” ”

07_arquivo_main_c

Salve todo o código e a compilação do mesmo.

 

 

 

 

 

 

 

 

 

 

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s