int main(){
	char *nome = "arquivo6", *bufferLeitura;
	cry_desc_t* descritor;
	uint32_t bytesLidos;
	int i, retorno;

	retorno = initfs(nome, 19);
	assert(retorno != FALHA);
	printf("Inicialização do arquivo hospedeiro com 19 blocos: OK\n");

	descritor = cry_openfs(nome);
	assert(descritor != NULL);
	printf("Abertura do arquivo hospedeiro: OK\n");
	
	leTodosOsDescritores(descritor);
	leTodosOsArquivosAbertos(descritor);

	retorno = cry_open(descritor, "arquivo1", LEITURAESCRITA, 'a');
	assert(retorno != FALHA);
	printf("Abertura de 1 arquivo: OK\n");

	for(i = 0; i < 4; i++){
		escreve(1, TAMANHOESCRITA1); 
	}
	printf("Escrito um bloco em 4 vezes no único arquivo do sistema: OK\n");
	printf("Descritores e tabela de arquivos abertos do sistema atual:\n");

	leTodosOsDescritores(descritor);
	leTodosOsArquivosAbertos(descritor);

	return 0;
}
Beispiel #2
0
void ordI(int *vet,int size){
  escreve("nao_ordenado.txt",vet,size,1);
  clock_t time;
  int *temp = malloc( sizeof(int) * size);
  memmove((int*)temp,(int*)vet,sizeof(int)*size);
  time= clock();
  quickSort(temp,0,size-1);
  time = clock() - time;
  printf("Quicksort ordenou %d elementos, em %.3f segundos\n",size,(double)time/CLOCKS_PER_SEC);
  escreve("quick_ordenado.txt",temp,size,1);
  memmove((int*)temp,(int*)vet,sizeof(int)*size);
  time = clock();
  insertSort(temp,size);
  time = clock() - time;
  printf("Insertsort Ordenou %d elementos, em %.3f segundos\n",size,(double)time/CLOCKS_PER_SEC);
  escreve("insert_ordenado.txt",temp,size,1);

}
Beispiel #3
0
JanelaOpcoes::JanelaOpcoes(QWidget *parent, Definicoes *def)
{
    tela = new QDialog(parent);
    tela->setWindowTitle(TITULO_OPCOES);
    tela->setGeometry(0, 0, 500, 500);
    this->def = def;
    escreve();
    tela->show();
}
int interface_stdin( void ) {
	no *T = malloc(sizeof(no));
	if ( T ) inicializada(T) = 0;
	
	char 	c; 		/* comando dentre {i, r, b} */
	int 	v, 		/* parametro da {insercao, remocao, busca} */
		i=0, j=0; 	/* controle do buffer, para nao repetir strings 
			   	 * i: indica numero de comandos {i, r, b} chamados,
			   	 * j: indica o numero de impressoes.
			   	 * Portanto, sempre deve valer i=j. */
	
	do {
		scanf("%c", &c);
		switch (c) {
			case 'i':
				scanf("%d", &v);
				T = inserir(T, v);
				i++; 	/* um comando executado implica i <- i + 1,
					 * comentarios posteriormente suprimidos. */
			break;
			case 'r':
				scanf("%d", &v);
				T = balancia(remover(T, v));
				i++;
			break;
			case 'b':
				scanf("%d", &v);
				i++;
			break;
		}

		if ( c == 'i' || c == 'r' || c == 'b' )
			printf("%c %d\n", c, v);

		/* j eh o numero de iteracoes, que deve ser concordante com i, 
		 * senao, j sera decrementado posteriormente e nada sera impresso. */
		j++;

		/* previne impressoes duplicadas. */
		if ( i != j ) 
			j--;
		/* Se o comando for {insercao, remocao}, imprime a arvore */
		else if ( c != 'b' ) {
			escreve(T, PRE_ORDER);
			printf("\n");
		/* Se o comando for de busca, imprime os no's percorridos. */
		} else 
			imprime_lista(busca(T, calloc(AVL_ALTURA_MAX, sizeof(int)), v));
	} while ( c != 'q' && !feof(stdin) );

	finaliza(T); /* Destroi T. */

	return EXIT_SUCCESS;
}
Beispiel #5
0
Linha::Linha(istream &is, ostream &os)
{
  cout << "[Criando " << tipo() << "]\n";
  cout << "Para que uma " << tipo() << " exista, precisamos:\n\n\t> Dois pontos\n\t";
  cout << "> Um ponto e um vetor diretor\n\n";
  cout << "Logo,\n\n";

  while (!le(is));

  cout << tipo() << " criada com sucesso.\n";

  if (&os != &cout)
    escreve(os);
}
Beispiel #6
0
Cubo::Cubo(istream &is, ostream &os)
{
  cout << "[Criando " << tipo() << "]\n";
  cout << "Para que um " << tipo() << " exista, precisamos:\n\n";
  cout << "\t> Um ponto central para o cubo (\"centro\")\n";
  cout << "\t> A distancia entre todas as extremidades (\"raio\")\n";
  cout << "Logo,\n\n";

  while (!le(is));

  cout << tipo() << " criado com sucesso.\n";

  if (&os != &cout)
    escreve(os);
}
int interface_arquivo(FILE *fp) {
	if ( !fp ) return EXIT_FAILURE;

	no *T = malloc(sizeof(no));
	if ( T ) inicializada(T) = 0;

	char 	comando,				/* comando dentre {i, r, b} */
		*linha = malloc(256 * sizeof(char));	/* linha que contem o `comando' e o `valor' */
	int 	valor;					/* parametro do comando */

	do {
		fgets(linha, 16, fp);
		if ( !interpreta_linha(linha, &comando, &valor) || feof(fp) ) comando = 'q';
		if ( comando != 'q' ) printf("%c %d\n", comando, valor); 
		switch (comando) {
			case 'i':
				T = inserir(T, valor);
			break;
			case 'r':
				T = balancia(remover(T, valor));
			break;
			/* Comando `b' (busca) eh tratado posteriormente ao final da iteracao, 
			 * pois a arvore nao eh impressa. 
			 */
		}

		if ( comando != 'q' && comando != 'b' ) { /* Se o comando nao for para sair, imprime a lista */
			escreve(T, PRE_ORDER);
			printf("\n");
		} else if ( comando == 'b' ) /* Se o comando for de busca, imprime os no's percorridos. */
			imprime_lista(busca(T, calloc(AVL_ALTURA_MAX, sizeof(int)), valor));
	} while ( comando != 'q' ); 

	finaliza(T); /* Destroi T. */
	
	return EXIT_SUCCESS;
}
Beispiel #8
0
int main()
{
    char carac;
    
    TRISD = 0;
    TRISE = 0;
    TRISA = 0;
    TRISB = 0b00000111;
    TRISC = 0b00000001;

    I2C1_Init(100000);
    Delay_ms(100);
    UART1_Init(19200);
    Delay_ms(100);

    escreve(0,11);

    init_timer();//começa a escutar as teclas

    adcon1 = 0x0F;

    preenche_mapa_digitos();
    limpa_display();
        
    Sound_Init(&PORTC, 2);//PORTC.F2

    limpa_display();
    popula_displays_palavra("CLIC");
    carac = le_carac();
    while(carac == 255)
    {
       semente++;
       carac = le_carac();
    }
    limpa_display();

    if (carac == '1')
    {
       escreve(127, 0);
       pontuacao_record = 0;
       popula_displays_palavra("NO");
       Delay_ms(1000);
       popula_displays_palavra("RECO");
       Delay_ms(1500);
    }
    else
    {
       pontuacao_record = le(127);
       popula_displays_palavra("RECO");
       Delay_ms(1000);
       limpa_display();
       Delay_ms(500);
       popula_displays_num(pontuacao_record);
       Delay_ms(1500);
    }
    
    srand(semente);
    limpa_display();
    Delay_ms(500);
    popula_displays_palavra("PLAY");
    Delay_ms(1500);
       
    while(!errou)
    {
       sequencia_num[nivel_atual] = rand() & 0b00000011;
       imprime_sequencia_num();
       errou = !le_sequencia_jogador();

       if (errou)
       {
         limpa_display();
         popula_displays_palavra("FAIL");
         toca_som(300, 450);
         toca_som(600, 450);
         Delay_ms(2000);
         
         popula_displays_palavra("SCOR");
         Delay_ms(1500);
         popula_displays_num(nivel_atual);
         Delay_ms(1500);
         limpa_display();
         
         if (nivel_atual > pontuacao_record)
         {
          escreve(127, nivel_atual);//novo record
          popula_displays_palavra("UHUL");
          Delay_ms(1000);
          popula_displays_palavra("NOVO");
          Delay_ms(1000);
          popula_displays_palavra("RECO");
          Delay_ms(1000);
          limpa_display();
         }
       }
       else
       {
         nivel_atual++;
         limpa_display();
         popula_displays_palavra("GOOD");
         Delay_ms(1000);
       }
    }
}
Beispiel #9
0
void salva(void)
{
   printf("\nDigite o nome do cursor:");
   flushall();
   gets(nome);
   if(nome[0]>=65){
   if ((s=fopen("let.h","r+"))==NULL)
   {  printf("\nArquivo nao pode ser criado.");
      return; }
   do
   {
      ch = fgetc(s);
   } while (ch != EOF);
   fprintf(s,"\n\nstruct imagem %s = { {\n",nome);
   for(i=0;i<16;i++){
      for(j=0;j<16;j++){
      ch=escreve();
      if(ch=='0')
	 ch='f';
      else if(ch=='1')
	 ch='e';
      else if(ch=='2')
	 ch='d';
      else if(ch=='3')
	 ch='c';
      else if(ch=='4')
	 ch='b';
      else if(ch=='5')
	 ch='a';
      else if(ch=='6')
	 ch='9';
      else if(ch=='7')
	 ch='8';
      else if(ch=='8')
	 ch='7';
      else if(ch=='9')
	 ch='6';
      else if(ch=='a')
	 ch='5';
      else if(ch=='b')
	 ch='4';
      else if(ch=='c')
	 ch='3';
      else if(ch=='d')
	 ch='2';
      else if(ch=='e')
	 ch='1';
      else if(ch=='f')
	 ch='0';
      if(j==0 || j==4 || j==8 || j==12){
	if(j==0)
	   if(i==0 || i==4 || i==8 || i==12)
	      fprintf(s, "0x%c",ch);
	   else
	      fprintf(s, ",0x%c",ch);
	else{
	     fprintf(s, "%c",ch);}}}
      if(i==3 || i==7 || i==11 || i==15)
	fprintf(s,",\n");}
   fprintf(s,"\n");
   for(i=0;i<16;i++){
      for(j=0;j<16;j++){
      if(j==0 || j==4 || j==8 || j==12){
	if(j==0)
	   if(i==0 || i==4 || i==8 || i==12)
	      fprintf(s, "0x%c",escreve());
	   else
	      fprintf(s, ",0x%c",escreve());
	else{
	     fprintf(s, "%c",escreve());}}}
      if(i==3 || i==7 || i==11)
	fprintf(s,",\n");}
   fprintf(s,"},7,7};        ");
   fclose(s); }
}