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.
O dev-c pedirá para que seja apontado a pasta raiz do projeto:
O Dev-C criou um arquivo main, a qual ele deve ser o principal, como por exemplo os menus.
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.
As pastas logicas ficarão parecidas como abaixo:
Crie dentro de lib, os arquivos com os seguintes conteúdos.
Arquivo lib.h
Arquivo lib.c
No arquivo main, teremos que fazer a refernecia do arquivo h, entre aspas ” ”
Salve todo o código e a compilação do mesmo.