quarta-feira, 16 de dezembro de 2009

Linguagem de programação C, programa que grava log em arquivo de texto.

Para programadores iniciantes, segue um execício que tive que fazer quando cursava a disciplina de linguagem de programação avançada na faculdade.

O enunciado do exercício pede para o programa gravar um log com nome, dia, mês e ano e a ação do usuário, segue o código parcialmente comentado.

Para quem nunca programou mas quer brincar um pouco, basta fazer download do Dev C++ clicando aqui.

Obs: Não consegui colar o código com a identação.


#include
#include

FILE *fp; //criação do arquivo texto

void writelog() //função que escreve no arquivo
{
int parametros;
int b;
char string[100];
char nome[30];
int dia, mes, ano;

fp=fopen ("writelog.txt", "a+"); //abertura do arquivo de texto

if (!fp)
printf ("Erro na abertura do arquivo.\n");
else
printf ("Sucesso na abertura do arquivo\n");

printf ("Entre com seu nome\n");

fflush(stdin);
gets (nome);

printf ("Dia\n");

scanf("%d",&dia);

printf ("Mes\n");

scanf("%d",&mes);

printf ("Ano\n");

scanf("%d",&ano);

b=1;
while (b==1)
{
printf ("Selecione o parametro:\n\n 350\n 351\n 500\n 650\n 651\n 701\n 702\n 704\n 800\n 4 - Sair\n");
scanf ("%d",¶metros);

switch (parametros)
{


case 350: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "iniciou o sistema\n"); break;
case 351: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "entrou no sistema"); break;
case 500: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "erro no sistema"); break;
case 650: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "terminou o sistema"); break;
case 651: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "saiu do sistema"); break;
case 701: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "abriu um arquivo"); break;
case 702: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "salvou um arquivo"); break;
case 704: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "listou um arquivo"); break;
case 800: fprintf(fp,"\n %s %d %d %d %s %s","Em", dia,mes,ano,nome, "enviou um arquivo"); break;
case 4: b=0 ;break;
default : printf ("\n opcao invalida");
}
}


}


int main(int argc, char *argv[])
{

int menu;
int a;

a=1;
while (a==1)
{
printf (" 1 - Entrar no programa\n 2 - Sair\n\n");
scanf ("%d",&menu);

switch (menu)
{
case 1: writelog(); break;
case 2: a=0; break;
default : printf ("\n opcao invalida");
}
}

system("PAUSE");
return 0;
}


O programa funciona bem, porém existem formas mais facéis de fazer o mesmo, amanhã posto um código mais limpo do mesmo.

Abraços!

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...
Web Analytics