It's WORK !

This commit is contained in:
Adrien Van 2017-02-04 20:20:27 +01:00
parent a5777da258
commit 87b42efe1f
2 changed files with 18 additions and 17 deletions

View File

@ -5,7 +5,7 @@
//D<>finition d'une constante N de valeur 10 (2 pts) //D<>finition d'une constante N de valeur 10 (2 pts)
#define N 10 #define N 10
#define __DEBUG__ //#define __DEBUG__
//Prototypes des fonctions d<>finies par apr<70>s (7 pts) //Prototypes des fonctions d<>finies par apr<70>s (7 pts)
FILE* OuvrirFichier (); FILE* OuvrirFichier ();
@ -58,7 +58,7 @@ int main()
//Affichage en binaire des N <20>l<EFBFBD>ments de tab (1 pt) //Affichage en binaire des N <20>l<EFBFBD>ments de tab (1 pt)
AfficherDonnees (tab);} AfficherDonnees (tab);}
} }
else printf("Au revoir!"); printf("Au revoir!");
getch(); getch();
return 0; return 0;
} }
@ -149,7 +149,7 @@ char ChaineVersOctet(char chaine[9])
void LireDonnees (FILE *fichier, char *tab) void LireDonnees (FILE *fichier, char *tab)
{ {
int i; int i;
char donnee[9]; char donnee[10];
char *p; char *p;
for(i=0; i<N; i++) for(i=0; i<N; i++)
{ {
@ -159,10 +159,11 @@ void LireDonnees (FILE *fichier, char *tab)
//Lecture d<>une cha<68>ne de caract<63>res dans le fichier et enregistrement //Lecture d<>une cha<68>ne de caract<63>res dans le fichier et enregistrement
//dans donnee. On suppose que le fichier ne comporte que des mots de 8 caract<63>res //dans donnee. On suppose que le fichier ne comporte que des mots de 8 caract<63>res
//0 ou 1 repr<70>sentant des octets binaires. (2 pts) //0 ou 1 repr<70>sentant des octets binaires. (2 pts)
fgets(donnee, sizeof(donnee), fichier); char * ptf = fgets(donnee, sizeof(donnee), fichier);
p = strchr(donnee, '\n'); p = strchr(donnee, '\n');
if(p) if(p)
*p=0; *p='\0';
#ifdef __DEBUG__ #ifdef __DEBUG__
printf("DEBUG : I : %d\n",i); printf("DEBUG : I : %d\n",i);
@ -188,15 +189,15 @@ void LireDonnees (FILE *fichier, char *tab)
void AfficherDonnees(char tab[]) void AfficherDonnees(char tab[])
{//D<>claration et <20>ventuellement initialisation des variables locales (3 pts) {//D<>claration et <20>ventuellement initialisation des variables locales (3 pts)
int i, j, m = 1; int i, j, m = 1;
char b[8]; //8 bit + \0 = 9 char b[9]; //8 bit + \0 = 9
for(i=0; i<N; i++) //parcour tab d'octet for(i=0; i<N; i++) //parcour tab d'octet
{ {
m = 1; m = 1;
printf("\n%2d) ",i+1); printf("\n%2d) ",i+1);
//Affichage en binaire de l<><6C>l<EFBFBD>ment i de tab (6 pts) //Affichage en binaire de l<><6C>l<EFBFBD>ment i de tab (6 pts)
for (j=8; j>=0; j--) for (j=8; j>0; j--)
{ {
if (tab[i-1] & m) if (tab[i] & m)
{ {
#ifdef __DEBUG__ #ifdef __DEBUG__
printf("DEBUG i%d j%d: DONNE tab[i] %c avec masque %x\n",i,j,tab[i], tab[i]&0xff&m); printf("DEBUG i%d j%d: DONNE tab[i] %c avec masque %x\n",i,j,tab[i], tab[i]&0xff&m);
@ -214,8 +215,8 @@ void AfficherDonnees(char tab[])
m<<=1; m<<=1;
} }
b[8]='\0'; b[8]='\0';
printf ("%s %c %c", b, b[0],b[7]); printf ("%s", b);
printf("\n");
} }
printf("\n"); printf("\n");
} }

View File

@ -1,11 +1,11 @@
01100001
01100010
01100011 01100011
01100100 01110010
01100011
01101100
01100101 01100101
01100110 01100110
01100111 01101101
01101000 01101100
01101001 01101001
01101011 01101111
01101100 01101100