Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: warfire_15 en 27 Mayo 2012, 04:09 AM

Título: Procesamiento de una estructura en c++
Publicado por: warfire_15 en 27 Mayo 2012, 04:09 AM
HOLA! Aquí muestra un programa que lee los datos insertados por el usuario y los asigna a una estructura llamada "alumno". Al arrojarme los resultados me arroja números al azar. Quisiera saber yo que es lo que está mal. De antemano muchísimas gracias. De esto depende mi nota de la escuela.

#include <stdio.h>
#include <conio.h>
#include <string.h>
struct alumno{
int grupo;
int numero;
char nombre[30];
int edad;} alumno;
int main(){

// captura campos
printf("Escribe su grupo:\n"); scanf("%d",&alumno.grupo);getchar();
printf("Escribe su numero en clase:\n"); scanf("%d",&alumno.numero);getchar();
printf("Escribe su nombre:\n");gets(alumno.nombre);getchar();
printf("Escribe su edad:\n");scanf("%d",&alumno.edad);getchar();


//area de operaciones
alumno.edad = alumno.edad;

//area de salida
printf("GRUPO =%d\n",&alumno.grupo);
printf("NUMERO =%d\n",&alumno.numero);
printf("NOMBRE =%s\n",&alumno.nombre);
printf("MESES =%d\n",&alumno.edad);
}
Título: Re: Procesamiento de una estructura en c++
Publicado por: exel en 27 Mayo 2012, 07:27 AM
error:
printf("GRUPO =%d\n",&alumno.grupo);
printf("NUMERO =%d\n",&alumno.numero);
printf("NOMBRE =%s\n",&alumno.nombre);
printf("MESES =%d\n",&alumno.edad);


Los argumentos del formato no deben ser apuntados, solo los de los arreglos (es alumno.nombre y NO &alumno.nombre).

solucion:
printf("GRUPO =%d\n",alumno.grupo);
printf("NUMERO =%d\n",alumno.numero);
printf("NOMBRE =%s\n",alumno.nombre);
printf("MESES =%d\n",alumno.edad);


Las lineas #include <conio.h> y #include <string.h> no las necesitas. Y algunas llamadas a getchar() estan de más.

Saludos