Duda con un ejercicio

Iniciado por goll9d, 12 Mayo 2012, 05:36 AM

0 Miembros y 1 Visitante están viendo este tema.

goll9d

Disculpen pero tengo una duda.
Estoy aprendiendo c++, y no logro comprender porque me da un error.
Código (cpp) [Seleccionar]

#include<stdio.h>
#include<conio.h>
#include<iostream>

using namespace std;

struct llena{
int edad;
char nombre;
};

int main(){
llena l;
printf("Digite el nombre de la persona: "); scanf("%s",&l.nombre);
printf("Digite la edad de la persona: "); scanf("%d", &l.edad);
printf("El nombre es: %s",&l.nombre);
printf("la edad es: %d",&l.edad);
getch();
return(0);
}


Mi problema es con la edad y no logro entender el porque.
Agradezco toda la ayuda que me puedan brindar  ;) ;)

Don Lucky

Define la cantidad de caracteres del char.
Yo no entiendo mucho de esto igual pero la función struct no esta al pedo, osea si la sacas llegas a lo mismo.

Ah y borra los & en los printf.

Belial & Grimoire

 

#include<stdio.h>
#include<conio.h>
#include<iostream>

using namespace std;

struct llena{
int edad;
char nombre;
};

int main(){
llena l;
printf("Digite el nombre de la persona: "); scanf("%s",&l.nombre);
printf("Digite la edad de la persona: "); scanf("%d", &l.edad);
printf("El nombre es: %s",&l.nombre);
printf("la edad es: %d",l.edad);
getch();
return(0);
}


es la referencia de l.edad que daba el error, quitaselo
.                                 

durasno

Hola! nombre tiene q ser un arreglo, y como ya te dijeron el & en los printf esta demas. Ademas la variable l esta mal declarada, el tipo de dato no es llena es struct llena (es un tipo de dato "compuesto")
#include<stdio.h>
#include<conio.h>
#include<iostream>

using namespace std;

struct llena{
int edad;
char nombre[20]; // declaro nombre como un arreglo
};

int main(){
struct llena l; // tipo de dato struct llena
printf("Digite el nombre de la persona: "); scanf("%s",l.nombre);
printf("Digite la edad de la persona: "); scanf("%d", &l.edad);
printf("El nombre es: %s",l.nombre);
printf("la edad es: %d",l.edad);
getch();
return(0);
}



Saludos
Ahorrate una pregunta, lee el man

goll9d

gracias ya esta solucionado y si tienen razon los & en el printf estan de mas
Código (cpp) [Seleccionar]

printf("El nombre es: %s",l.nombre);
printf("la edad es: %d",l.edad);


y según escuche es mejor manejar un vector tipo char que un string y con eso me funciona bien
Código (cpp) [Seleccionar]
char nombre[20];

y struct no es necesario cuando la declaro
Código (cpp) [Seleccionar]
struct llena{
int edad;
char nombre[20];
};


Código (cpp) [Seleccionar]
llena l;

les agradezco mucho la ayuda.Gracias  ;-) ;-)