C/Visual C - El struct no se reconoce?

 
Vista:

El struct no se reconoce?

Publicado por Julian (11 intervenciones) el 19/02/2019 01:53:02
Tengo un struct llamado "venta" en un momento coloco un "if" porque debo colocar los nombres de forma alfabeticamente, pero al momento cuando escribo el struct dentro del "if" me dice que no esta declarada la variable del struct: Gracias por leer y atender

Lenguaje C:

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
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <string.h>
 
struct venta {
    char x[20];
 
    float a;
    int b;
};
 
int main()
{
    int i;
    char mayor;
 
    struct venta P;
    struct venta Q;
    struct venta R;
    struct venta Z;
 
    printf("Ingrese el Producto1:\n");
    printf( "Nombre: " );
    scanf( "%s", P.x );
    printf( "Precio: " );
    scanf( "%f", &P.a );
    printf( "Unidades: " );
    scanf( "%d", &P.b );
    printf("-Nombre: %s\n Precio: %f\n Unidades: %d\n", P.x, P.a, P.b);
 
 
    printf("Ingrese el Producto2:\n");
    printf( "Nombre: " );
    scanf( "%s", Q.x );
    printf( "Precio: " );
    scanf( "%f", &Q.a );
    printf( "Unidades: " );
    scanf( "%d", &Q.b );
    printf("-Nombre: %s\n Precio: %f\n Unidades: %d\n", Q.x, Q.a, Q.b);
 
 
    printf("Ingrese el Producto3:\n");
    printf( "Nombre: " );
    scanf( "%s", R.x );
    printf( "Precio: " );
    scanf( "%f", &R.a );
    printf( "Unidades: " );
    scanf( "%d", &R.b );
    printf("-Nombre: %s\n Precio: %f\n Unidades: %d\n", R.x, R.a, R.b);
 
 
    printf("Ingrese el Producto4:\n");
    printf( "Nombre: " );
    scanf( "%s", Z.x );
    printf( "Precio: " );
    scanf( "%f", &Z.a );
    printf( "Unidades: " );
    scanf( "%d", &Z.b );
    printf("-Nombre: %s\n Precio: %f\n Unidades: %d\n", Z.x, Z.a, Z.b);
 
    for (i = 0; i < 4; i++) {
 
    if(punto[i].x > mayor){   //aqui es donde salta el error
        mayor = punto[i].x;
 
     }
    }
 
    return 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
sin imagen de perfil
Val: 72
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

El struct no se reconoce?

Publicado por Juanki (31 intervenciones) el 19/02/2019 09:49:37
Hola

Cuando preguntes por en error, por favor, pon el error que tienes!! Aunque no lo creas, eso nos ayuda mucho a ayudarte.

Estoy con el móvil, pero no veo donde declaras la variable punto, será ese el error.

Un saludo
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

Correccion

Publicado por Julian (11 intervenciones) el 19/02/2019 17:24:09
ah perdon, le cambie nombre, donde dice "punto" en el codigo cambialo por "venta".

Bueno el error que aparece dice: Use of undeclared identifier 'venta'

Lo que pasa es que ya esta declarado en el struct mismo, por lo que no entiendo porque no lo toma
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
sin imagen de perfil
Val: 88
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Correccion

Publicado por Thanatos (29 intervenciones) el 19/02/2019 18:41:55
En las líneas 62 y 63 estás intentando acceder a P, Q, R y Z como si fueran los elementos de un array de estructuras. Como no has declarado un array de estructuras, el compilador te indica que el identificador no está declarado.

No entiendo lo que intentas hacer de la línea 60 a la 66. Todo lo anterior podrías hacerlo así (usando un array de estructuras):

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
#include <stdio.h>
#include <string.h>
 
enum { N_VENTAS = 4 };
 
struct Venta {
    char producto[20];
    float precio;
    int unidades;
};
 
int main(void) {
    struct Venta ventas[N_VENTAS] = { 0 };  // array de 4 elementos de tipo struct Venta.
 
    for (int i = 0; i < N_VENTAS; ++i) {
        printf("Ingrese los datos de la venta #%i:\n", i + 1);
 
        printf("Producto: ");
        scanf("%s", ventas[i].producto);
 
        printf("Precio:   ");
        scanf("%f", &ventas[i].precio);
 
        printf("Unidades: ");
        scanf("%d", &ventas[i].unidades);
 
        printf("\n");
    }
 
    printf("Las ventas realizadas son:\n");
    for (int i = 0; i < N_VENTAS; ++i) {
        printf(
            "Venta #%i:        \n"
            "Producto --> %s   \n"
            "Precio ----> %.2f \n"
            "Unidades --> %i   \n\n",
            i + 1, ventas[i].producto, ventas[i].precio, ventas[i].unidades
        );
    }
 
    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