Dev - C++ - Necesito ayudo con un programa !!

   
Vista:

Necesito ayudo con un programa !!

Publicado por Agustin (1 intervención) el 02/06/2016 22:04:48
Buenas estoy haciendo un programa basico para mostrar los datos ingresados pero cuando quiero mostrar los resultados en forma de lista los nombres me lo toma bien pero los datos EDAD Y PROMEDIO me aparece basura en vez del numero correcto. Alguien sabe donde el error?

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
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 5
struct listas{
	char nom[20];
	int edad[N];
	float promedio[N];
    };
 
int main( ){
 
	int i;
	struct listas vec[N];
 
	for (i=0; i<N; i++){
		fflush(stdin);
		printf ("Ingresar nombre [%d]: ", i);
		gets(vec[i].nom);
		fflush(stdin);
		printf ("Ingresar edad [%d]: ", i);
		scanf("%d", vec[i].edad);
		fflush(stdin);
		printf ("Ingresar promedio [%d]: ", i);
		scanf("%d", vec[i].promedio);
	}
 
	printf("\n nombre 		edad 	 prom ");
 
	for(i=0; i<N; i++)
	printf("\n %-10s%8d%10f", vec[i].nom, vec[i].edad,  vec[i].promedio);
}
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

Necesito ayudo con un programa !!

Publicado por Thanatos (72 intervenciones) el 03/06/2016 00:56:02
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
#include <stdio.h>
 
#define N 5
 
struct listas {
    char nom[20];
    int edad[N];
    float promedio[N];
};
 
void limpiarBuffer(void);
 
int main() {
    int i;
    struct listas vec[N];
 
    printf("Ingrese los siguientes datos:\n");
    for (i = 0; i < N; i++) {
        printf("\n- Persona %d -\n", i + 1);
        printf("nombre: ");
        (void) fgets(vec[i].nom, 20, stdin);
        printf ("edad: ");
        scanf("%d", vec[i].edad);
        printf("promedio: ");
        scanf("%f", vec[i].promedio);
        limpiarBuffer();
    }
 
    for (i = 0; i < N; i++)
        printf("\nNombre ----> %sEdad ------> %d\nPromedio --> %.2f\n",
                vec[i].nom, *vec[i].edad, *vec[i].promedio);
    return 0;
}
 
void limpiarBuffer() {
    int c;
    while((c = getchar()) != '\n' && c != EOF) { }
}
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