// Cristiane Gomes Bim MAT a0014525 // Capitulo 12 Exercicio 01 // Prog para criar 256 comb de um byte e gravar em disco. #include #include #include struct byte { int a:1; int b:1; int c:1; int d:1; int e:1; int f:1; int g:1; int h:1; }; union Elemento { char ch; struct byte bit; }ascii; void f(int n,char *p); void main(void) { int c; unsigned char area[12]; FILE *arq; clrscr(); if( (arq = fopen("a:\Cap12Ex1.dat","wt")) == NULL ) { printf ( "ERRORRRRRR"); exit(1); } printf("\n\n\tCriando Arquivo a:\Cap12Ex1.dat com as 256 combina‡oes..."); printf("\n\n\tPressione uma tecla...\n\n"); getch(); for(c=0;c<256;c++) { f(c,area); area[10]= 0x0D; area[11]= 0x0A; fputs(area,arq); printf("%s %x %d\n",area,area[0],c); } fclose(arq); } void f(int n, char *p) { int i,j,aux[8]; for (i = 0; i < 8; i++) aux[i] = 0; j = 0; while (n != 0) { aux[j] = (n % 2); n = (n / 2); j++; } ascii.bit.a=aux[0]; ascii.bit.b=aux[1]; ascii.bit.c=aux[2]; ascii.bit.d=aux[3]; ascii.bit.e=aux[4]; ascii.bit.f=aux[5]; ascii.bit.g=aux[6]; ascii.bit.h=aux[7]; for (i = 0; i < 10; i++) p[i] = ascii.ch; } UUUUUUUUUU 55 85 VVVVVVVVVV 56 86 WWWWWWWWWW 57 87 XXXXXXXXXX 58 88 YYYYYYYYYY 59 89 ZZZZZZZZZZ 5a 90 [[[[[[[[[[ 5b 91 \\\\\\\\\\ 5c 92 ]]]]]]]]]] 5d 93 ^^^^^^^^^^ 5e 94 __________ 5f 95 `````````` 60 96 aaaaaaaaaa 61 97 bbbbbbbbbb 62 98 cccccccccc 63 99 dddddddddd 64 100 eeeeeeeeee 65 101 ffffffffff 66 102 gggggggggg 67 103 hhhhhhhhhh 68 104 iiiiiiiiii 69 105 2 Gravar em disco 256 combinações de um byte