Ir ao conteúdo
  • Cadastre-se

RogRub

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Preciso desenvolver um programa chamado FORMARQ em linguagem C, cujo objetivo é converter tipos de arquivo, isto é, um arquivo é lido, e é gerado um segundo arquivo, cujo conteúdo é função do conteúdo do primeiro, mas em outro formato. O FORMARQ deverá dar suporte a 3 tipos de conversão: TIPO: NOME: DESCRIÇÃO: 1 Invert CN = ~CV (Caracter novo é o complemento de um do caracter velho) 2 Cript O usuário fornece uma palavra para funcionar como chave, isto é, o código ASCII de cada caracter da chave é máscara para uma operação XOR (ou exclusivo) com o byte lido do arquivo lido. Por exemplo: Conteúdo do arquivo de entrada: BOM DIA, PESSOAL. Chave: GAVETA. Arquivo de saída: ´B´ ^ ´G´, ´O´ ^ ´A´, ´M´ ^ ´V´, ´ ´ ^ ´E´, ´D´ ^ ´T´, ´I´ ^ ´A´, ´A´ ^ ´G´, (volta ao 1º caracter da chave) ´,´ ^ ´A´, ´ ´ ^ ´V´, ´P´ ^ ´E´, ´E´ ^ ´T´, ´S´ ^ ´A´, ´S´ ^ ´G´, ´O´ ^ ´A´, ´A´ ^ ´V´, ´L´ ^ ´E´ ´.´ ^ ´T´. O caminho de volta é simples: o usuário fornece a chave e as mesmas operações serão feitas, fazendo com que o arquivo original seja recuperado. 3 Unix To DOS Arquivos texto no DOS, o ‘\n’ é representado pelo par de caracteres CR/LF, isto é, 0x0D seguido por 0x0A, enquanto que no UNIX, basta o caracter LF, isto é, 0x0A. Neste modo, os arquivos texto para UNIX deverão ser convertidos para o padrão DOS, ou seja, sempre que for lido um 0x0A, inserir antes um 0x0D. Pode-se desejar também a conversão oposta, isto é, de DOS para UNIX. O FORMARQ deve ser chamado pela linha de comando pela seguinte sintaxe: FORMARQ <nome_do_arquivo> [C][D] [chave] I: O tipo de conversão deve ser o Invert. C: O tipo de conversão deve ser o Cript. D: Arquivo texto UNIX, gerar arquivo texto DOS. U: Arquivo texto DOS, gerar arquivo texto UNIX. Obs.: A chave só deverá ser exigida para a conversão Cript. Levar isso em consideração na hora de consistir os parâmetros de entrada. O usuário deve escolher somente um dos métodos de conversão. Conversão Invert: É um tipo de conversão que se for feita duas vezes, o arquivo volta à forma original. Assim, adotaremos o seguinte critério: o arquivo resultante da 1ª conversão deverá ter como extensão “.INV”. Se for invertido o arquivo “dados.dat”, deverá ser gerado o arquivo “dados.inv”. Se for invertido o arquivo “dados.inv”, será gerado o arquivo “dados.dnv”, igual ao original (“.DNV” é a extensão do arquivo “desinvertido”). Conversão Cript: Deve gerar um arquivo com extensão “.CRP”. O caminho inverso pode ser feito: criptografar o criptografado com a mesma chave. Ex.: foi criptografado o arquivo “dados.dat”, gerando assim o arquivo “dados.crp”. Para descriptografar, vamos criptografar novamente”dados.crp” com a mesma chave, gerando assim o arquivo “dados.drp”. (“.DRP” é a extensão do arquivo “descriptografado”). Obs.: a chave é como uma senha para o usuário. Unix To Dos: Seja qual for a extensão do arquivo texto para UNIX,, o arquivo para DOS deverá ter como extensão “.DOS”. Ao se fazer o processo inverso, o arquivo para UNIX deverá ter a extensão “.UNX”. Todas essas características devem ser checadas antes de proceder qualquer conversão, e sempre que for constatada qualquer anormalidade, o programa FORMARQ deve ser cancelado, notificando o usuário com mensagens. Ex.: o arquivo de entrada não existe. O usuário deve escolher um único tipo de conversão, caso contrário, cancelar o programa, notificando o usuário com mensagens. Além disso, o tipo de conversão escolhido deve estar entre os citados. Ex.: FORMARQ dados.dat G O tipo de conversão G não existe, portanto, o programa deve ser cancelado.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!