TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Relatorio Programa

Monografias: Relatorio Programa. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  3/7/2014  •  4.827 Palavras (20 Páginas)  •  259 Visualizações

Página 1 de 20

1. Introdução

Neste programa vamos criar funções para tratar tipos de palavras especificas inserida em um arquivo de texto, para fazer isto eu irei utilizar a linguagem de programação C. Vou dar uma descrição daquilo que eu utilizei para fazer essas funções, basicamente leio o arquivo linha por linha e a cada vez que isso acontece, ela é inserida em um vetor e passada para uma função onde essa função ira percorrer todo o vetor ate achar o seu final, durante esse processo de leitura do vetor, irei fazer comparações para exibir para o usuário o tipo de palavra que a função especificar, vou demonstrar de forma para melhorar o entendimento o que falei anteriormente.

2. Descrevendo Funções

2.1 - int main().

Função principal do programa na qual será exibido o menu principal e de onde todas as funções serão chamadas. Abaixo irei mostrar trechos dos códigos e comentar um pouco sobre cada um deles.

//char numeros [10] = {'0','1','2','3','4','5','6','7','8','9'};

//char opBasicos [5] = {'\+','\-','\*','\/','\%'};

//char opAtribuicao [10]= {'\+','\-','\*','\/','\%','\<','\>','\&','\^','\|'};

//char opCompara [9][2] = {'\<','\=','\>','\=','\>',' ','\>',' ','\!','\=','\=','\=','\!',' ','\&','\&','\|','\|'};

//char restricoes [22] = {'\(','\)','\{','\}','\/','\\','\^','\~','\&','\!','\|','\;','0','1','2','3','4','5','6','7',

'8','9'};

//char palaReservadas [32][50] = {

"auto","break","case","char" ,"const","continue", "default",”do”,

"double","else","enum","extern","float","for","goto","if",

"int","long","register","return","short","signed","sizeof","static",

"struct","switch","typedef","union","unsigned","void","volatile","while"

};

Esses vetores e matrizes foram usados para tratar restrições impostas nas funções de reconhecimento de caracteres em um arquivo de texto. Podemos notar que foi utilizado antes dos caracteres o ‘\’ pois esses caracteres são especiais no C.

//int op = -1;

//while (op != 0){

//char programa[1000];

//FILE *file;

//file = fopen("programa.txt","r");

//if(file == NULL){

//printf("nao foi possivel abrir o arquivo.\n");

//getchar();

//exit(0);

//}

//printf("\n\nDigite o numero da funcao que deseja ser executada: \n\n 1 - Numero inteiro.\n 2 - Operadores Basicos.\n 3 - Simbolo de atribuicao.\n 4 - Simbolo de fim de expressao.\n 5 - Comentario.\n");

//printf(" 6 - Identificadores.\n 7 - Numeros decimais.\n 8 - Estrutura(Inicio...Fim).\n 9 - Operadores de comparacao.\n\n ");

//scanf("%d",&op);

//switch (op){

Nesta parte foi criado um ponteiro do tipo FILE para referenciar um arquivo de texto chamado programa.txt, utilizando a função fopen passaremos como parâmetro o nome e o tipo de função que será feita no arquivo, no caso reader, então o ponteiro file ira apontar para o arquivo, logo após isso acontecer ele fará uma verificação se o arquivo realmente existe, ou seja, se o nome estiver errado ele mostrara a mensagem que esta dentro do printf.

Aqui será a parte do menu que exibira no inicio do programa, sendo controlado pela variável op, a variável programa[1000] armazenaram cada linha de resultado buscado do arquivo e então será passada pelas funções dentro dos cases.

//int comem = 0;

Existe somente uma variável global chamada comem que ira controlar quando começa um comentário e aonde ele termina.

2.2 - Funções Auxiliares

2.2.1 - int verificaComentario(char programa[1000], int i)

Código da função:

//int verificaComentario(char programa[1000], int i){

//if(programa[i] == '/' && programa[i+1] == '/'){

//comem = 2;

//}else

//if(programa[i] == '/' && programa[i+1] == '*'){

//comem = 1;

//}else

//if(programa[i] == '*' && programa[i+1] == '/' && comem == 1){

//comem = 0;

//i+=2;

//}

//return i;

//}

Essa função recebe dois parâmetros, o vetor programa e a posição onde ele está.

...

Baixar como (para membros premium)  txt (16.4 Kb)  
Continuar por mais 19 páginas »
Disponível apenas no TrabalhosGratuitos.com