Disculpen pero tengo una duda.
Estoy aprendiendo c++, y no logro comprender porque me da un error.
#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 ;) ;)
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.
#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
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
gracias ya esta solucionado y si tienen razon los & en el printf estan de mas
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
char nombre[20];
y struct no es necesario cuando la declaro
struct llena{
int edad;
char nombre[20];
};
llena l;
les agradezco mucho la ayuda.Gracias ;-) ;-)