• Matéria: Informática
  • Autor: andersoncarneirobrit
  • Perguntado 3 anos atrás

Para essa questão, suponha que um certo arquivo mantém, em sua primeira posição, a quantidade de registros armazenados. Após o indicativo da quantidade, são gravados os valores na forma . Desta forma, o arquivo consiste em:
... .

Para essa questão, analise o código a seguir e preencha as lacunas de modo a representar o processo de criação de um arquivo novo e gravação de três registros.
#include


void GravaArq(FILE *arq, int val_i,float val_f)
{
fwrite(&val_i,sizeof(____),1,arq);
fwrite(&val_f,sizeof(____),1,arq);
}




int main()
{
FILE *arq;
int qtd=3;
arq=fopen("exercicio.dat","___");
if(arq==NULL)
{
printf("Erro de abertura do arquivo (1).\n");
return 0;
}
fwrite(&qtd,sizeof(int),1,arq);
GravaArq(arq,0,2.1);
GravaArq(arq,10,45.21);
GravaArq(arq,20,345.87);
fclose(arq);
return 0;
}
Assinale a alternativa que você julgue ser a correta.


(). int ; float ; wb .

(). int ; float ; w .

(). float ; int ; wb .

(). int ; int ; w .

(). int ; int ; wb .

Respostas

respondido por: oryangestrifezze
15

Resposta:

int ; float ; wb .

Explicação:

pois precisa dos dois tipos de registro e wb - cria um arquivo binário para leitura e escrita.

respondido por: thimauricio
2

Resposta:

( sizeof(int)+sizeof(float))*2+sizeof(int).

Explicação: Acertei na prova

O terceiro registro corresponde ao deslocamento multiplicado por dois, pelo fato de que a numeração do registro se inicia em zero. Além do “ (sizeof(int)+sizeof(float))*2”, deve-se adicionar o deslocamento relativo ao valor da quantidade de registros, localizado no início do arquivo.

Perguntas similares