UTNianos

Versión completa: Problema ejercicio punteros
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas tardes

Estoy haciendo el siguiente ejercicio con punteros pero al ejecutarlo me dice que la aplicacion se ha detenido. Estoy ejecutandolo con el dev++

Espero su ayuda, gracias


Este es el ejer

Se tomaron los datos provenientes de una placa de adquisición de datos. Esta placa detecta partículas emitidas codificadas de 0 a 15 e informa su nivel relativo de radiación. La información se entrega a la PC a través de los ports 300H y 301H de la manera que indica el dibujo.
El bit F valdrá 0 durante todo el experimento y se pondrá en 1 indicando su finalización. El bit S estará en 1 cada vez que se tiene un dato válido y pasará a 0 entre cada dato. Se asegura que los períodos en 1 y en 0 no son inferiores a 1 mseg.

En lugar de utilizar ports utilice un scanf [/code]



#include <stdio.h>
#include <conio.h>

struct NIVEL{
unsigned char F:1;
unsigned char S:1;
unsigned int R:10;
unsigned char C:4;
};

union TODO{
struct NIVEL N;
unsigned char A [1];};



struct DATO {
int acum;
int cont;
float prom;
};


main(){
char Y, Z;
union TODO T,*p;

struct DATO D [15],*q[15];
int i;
p=&T;
p->N.F=0;

printf (" %d", (p->N.F));



while (p->N.F==0){

p->A[0]=scanf ("%c", &Y);

if (p->N.S==1){

p->A[0]=scanf ("%c", &Z);


q[p->N.C]->acum=q[p->N.C]->acum+ (p->N.R);
q[p->N.C]->cont++;


}
}
for (i=0;i<15;i++){
q[i]->prom= q[i]->acum / q[i]->cont++;
}
//imprimo

for (i=0;i<15;i++){


printf("\n \n LA particula %d = %f" , q[i]->prom );
}


getch();


}

No entiendo que está pasando, que son los nombres de las variables?

Ponele nombres que revelen qué es cada cosa (expresivos).

char Y, Z;
union TODO T,*p;
struct DATO D [15],*q[15];
int i;
p=&T;

que carajo es cada cosa.
URLs de referencia