Dev - C++ - Contador de cantidad de datos en un struct

 
Vista:

Contador de cantidad de datos en un struct

Publicado por Jo50 (3 intervenciones) el 30/06/2019 18:12:37
Hola. Estoy intentando contar la cantidad de datos de un struct y guardarlo en la variable cantPoli, pero me salta error en la parte de while(rPoli [i] != NULL). Si alguien me propone algún otro método se los agradezco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
typedef signed short ushort;
 
struct tsPolinomio {
    float Polinomio;
    ushort Grado;
    tvCoef vCoef;
};
 
ushort calcPoli(float rPoli){
    ushort ctPol = 0;
 
    while(rPoli [i] != NULL)
        ctPol++;
 
 
    return ctPol;
}
 
main(){
    tsPolinomio rPolinomio;
    ushort cantPoli = calcPoli(rPolinomio.Polinomio);
    double vrPolinomios[cantPoli] = {0};
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Contador de cantidad de datos en un struct

Publicado por Alfil (1444 intervenciones) el 30/06/2019 18:45:07
Sería de mucha ayuda conocer el propósito del programa ...

while(rPoli [i] != NULL)

La variable i no esta definida

rPoli [i] != NULL, aunque la posición i no exista nunca va a ser igual a NULL, en todo caso tendrá un valor indeterminado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Contador de cantidad de datos en un struct

Publicado por jo50 (3 intervenciones) el 30/06/2019 19:35:51
Lo que intento hacer es calcular un polinomio que cuyo datos están en un archivo.txt.
1
2
X  Grado  Coeficientes
3   3       5.1 5 6

debo guardarlo estos datos en un struct y calcular el polinomio desde el struct y lo que intento hacer es crear un vector que su tamaño sea la misma cantidad de datos de un struct para poder guardar los cálculos en ese vector
vPoli[cantPolinomios];


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const int MAX_ELEM = 50;
const int  MAX_GRADO = 15;
typedef signed short ushort;
typedef double tvCoef[MAX_GRADO];
typedef double tvPolinomio[MAX_ELEM];
 
 
struct tsPolinomio {
    float Polinomio;
    ushort Grado;
    tvCoef vCoef;
};
 
bool LeerPoli(ifstream &aPoli, tsPolinomio &rPoli){
    freopen("Polinomios.txt", "n", stdin);
 
    cin >> rPoli.Polinomio >> rPoli.Grado;
    for(ushort i=0; i<rPoli.Grado; i++){
        cin >> rPoli.vCoef[i];
    }
 
    return aPoli.good();
}
 
ushort calcPoli(tsPolinomio rPoli){
    ushort ctPol = 0;
 
    for(ushort i=0; i<MAX_ELEM; i++){
    if(rPoli.Polinomio != 0)
        ctPol++;
    }
 
    return ctPol;
}
 
void ProcDatosEnTbl(double vrPoli[], tsPolinomio rPoli, ushort ctPol){
 
}
 
void OrdxBur(tvPolinomio vrPoli[], ushort ctPoli){
}
 
 
main(){
    tsPolinomio rPolinomio;
    ushort cantPoli;
    tvPolinomio vrPolinomio = {0};
 
 
    ifstream aPolinomios("Polinomios.txt");
    while(LeerPoli(aPolinomios,rPolinomio))
        ProcDatosEnTbl(vrPolinomio,rPolinomio,cantPoli);
    OrdxBur(vrPolinomios, cantPoli);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar