コード例 #1
0
/*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);
}
コード例 #2
0
ファイル: mna.c プロジェクト: guidattoli/trabalho.moreirao
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;
}
コード例 #3
0
/*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;
}
コード例 #4
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;
}