/*funcao responsavel por carregar imagem @param ALLEGRO_DISPLAY *janela - janela onde ira desenhar a imagem int a - altura da imagem itn l - largura da imagem int *maxCor - inteiro que representa tonalidade de cor maxima char *tipo - tipo de PGM unsigned char ** data - matriz onde sera armazenado os bits */ int carregaImagem (ALLEGRO_DISPLAY *janela, int *altura,int *largura, int *maxCor, char *tipo, unsigned char ***data) { FILE *arquivo; /*ponteiro para o arquivo de imagem no disco*/ arquivo = abreArquivo("r+b", janela); if(arquivo==NULL) return -1; /*pega tamanho e tipo da imagem(cabecalho)*/ if(getCabecalho(arquivo, altura, largura, maxCor, tipo)==-1) { return -1; } if(strcmp(tipo,"P5")!=0) { printf("Versao da imagem PGM invalida ou nao suportada!\n"); return -1; } /*aloca memoria para a matriz*/ *data = alocaMatriz(*altura, *largura); /*armazena os bits na matriz*/ if(armazenaDados(arquivo, *data, *altura, *largura, *maxCor)==-1) { return -1; } /*destroy ponteiro*/ fclose(arquivo); }
int main(int argc, char *argv[]) { FILE * escrita; FILE * leitura; int quantidadeNos, quantidadeElementos, tamanhoMatriz, contador; elementosNet vetorComponentes[NUMERO_MAX_COMPONENTES+1]; simulacao informacoes; double complex sistemaLinear[NUMERO_MAX_COMPONENTES+1][NUMERO_MAX_COMPONENTES+1]; char variaveis[NUMERO_MAX_COMPONENTES+1]; quantidadeNos=quantidadeElementos=0; if(abreArquivo(argv[1],leitura)) exit(ERRO_ABRIR_ARQUIVO); printf("passei aqui 1!"); geraVetorElementos(leitura,&vetorComponentes,quantidadeNos,quantidadeElementos, &informacoes); tamanhoMatriz = quantidadeNos + quantidadeElementos + 1; printf("passei aqui 2!"); for(contador=0;contador<quantidadeElementos;contador++) printf("Nome :%s\nValor : %lf\n",vetorComponentes[contador].nome,vetorComponentes[contador].valor); printf("\n"); printf("\n"); return OK; }
/*funcao responsavel por gravar a imagem no disco @param ALLEGRO_DISPLAY *janela - janela onde ira desenhar a imagem char tipo - tipo de PGM int altura - altura da matriz (qtd de linhas) int largura - larguda da matriz (qtd de colunas) int maxCor - inteiro que representa tonalidade de cor maxima unsigned char ** data - matriz onde sera armazenado os bits */ int gravaImagem(ALLEGRO_DISPLAY *janela, char *tipo, int altura, int largura, int maxCor, unsigned char **data){ FILE *out = abreArquivo("w+b", janela); if(out==NULL) return 0; if(putCabecalho(out, tipo, altura, largura, maxCor)==-1) return-1; if(gravaDados(out, data,altura,largura,maxCor)==-1) return-1; fclose(out); printf("Imagem Salva!\n"); return 0; }
int criaXML() { FILE *xmlAutomato=NULL , *BancoArquivos=NULL; int i=0, j=0, k=0, idArquivo=0; char buffer='\0'; char tag[3][100] = {"","",""} , tipo[25] = "" , tagFinal[100]="" , caminhoArquivo[100]; xmlAutomato = fopen("Files/Automato.xml", "wb+"); if (xmlAutomato == NULL) { abreArquivo(&xmlAutomato, "Automato.xml", "wt+"); } printf("criou xml..."); BancoArquivos = fopen("Files/bancoArquivos.txt", "rt+"); if (BancoArquivos == NULL) { printf("Banco de arquivos nao existe"); } fprintf(xmlAutomato, "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"); fprintf(xmlAutomato, "\n<Automato>"); fprintf(xmlAutomato, "\n<Alfabeto"); for (i=0;i<26;i++) fprintf(xmlAutomato, " s%d=\"%c\"", i, (char)97+i); fprintf(xmlAutomato, "/>"); while (!feof(BancoArquivos)) { idArquivo++; printf("Incluir novo registro..."); for(k=0;k<3;k++) { memset(&tag[k], '\0', 100); } memset(tipo, '\0',25); memset(caminhoArquivo, '\0',100); recuperaRegistros(BancoArquivos, tag, tipo, caminhoArquivo); fprintf(xmlAutomato, "\n\t<Arquivo id=\"%d\" tipo=\"%s\" caminho=\"Files/%s\">",idArquivo, tipo, caminhoArquivo); for (j=0;j<3;j++) { fprintf(xmlAutomato, "\n\t\t<Palavra id=\"%d\">",j); fflush(xmlAutomato); printf("\nTAG J: %s", &tag[j]); strcpy(tagFinal, &tag[j]); for (i=0;i<1000;i++) { if (tagFinal[i] == '\0') break; fprintf(xmlAutomato, "\n\t\t\t<q id=\"%d\" qp=\"q%d\">%c</q>",i,i+1, tagFinal[i]); printf("<q%d>%c</q>",i, tagFinal[i]); } fprintf(xmlAutomato, "\n\t\t</Palavra>"); } fprintf(xmlAutomato, "\n\t</Arquivo>"); printf("\n%s %s %s %s", &tag[0], &tag[1], &tag[2], tipo); fflush(BancoArquivos); buffer = fgetc(BancoArquivos); if (feof(BancoArquivos)) break; } fprintf(xmlAutomato, "\n</Automato>"); fclose(xmlAutomato); fclose(BancoArquivos); return 0; }