Relatorio Programa
Monografias: Relatorio Programa. Pesquise 861.000+ trabalhos acadêmicosPor: fabianonascosta • 3/7/2014 • 4.827 Palavras (20 Páginas) • 281 Visualizações
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á.
...