SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: pablo_ivan57 en Domingo 6 de Enero de 2008, 19:34
-
Hola, bueno tengo este problema que no se como sacarmelo de encima, lo que pasa es que en la parte con negrita del código, en el array y[j] solo guarda datos despues de que se ha pasado por esa instruccion una vez, es decir a la segunda,por lo que la posición
- [0] me queda en 0 y no con el valor que yo deseo. Proque pasa esto?
void Notas(float y[][LONG],int t,float z[][LONG])
{
int j=0,i=t,k,c; //t=0 en este caso, y es un array para guardar notas
float ptot=0,a,p;
printf("Ingrese la notas con pesos desiguales, primero la nota\ny luego el porcentaje de validez,-1 para acabar\n");
scanf("%d",&a);
while(a!=-1)
{
y[j]=a;
scanf("%f",&p);
z[j]=p;
ptot=ptot+p;
scanf("%f",&a);
fflush(stdin);
j++;
}
printf("Ahora ingrese las restantes\n");
for(k=j;k<n;k++)
{
scanf("%f",&a);
y[k]=a;
c=(100-ptot)/(n-j);
z[k]=c;
}
}
-
Porque cuando introduces ese valor a,se te queda en el buffer y no te lo mete cuando te interesa...ese yo creo que es el motivo...