I valori numerici
chek.zpos = 100;
chek.zneg = 000;
chek.apos = 101;
chek.aneg = 001;
non sono da intendersi in binario, ma in decimale. Nel primo stai assegnando il valore cento.
Devi scrivere
chek.zpos = 4;
chek.zneg = 0;
chek.apos = 5;
chek.aneg = 1;
...
e cosi' via.
In questa riga
scanf("%d",n);
hai dimenticato l'operatore & per la variabile
scanf("%d", &n);
E' meglio che le struct stiano tutte fuori dal main e che il tipo di dati della enum sia unsigned int.

Rispondi quotando