Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con arreglo de registros!!

Estas en el tema de Ayuda con arreglo de registros!! en el foro de C/C++ en Foros del Web. Hola Tengo un problema con arreglos de registros, en una parte de mi codigo. Este es una parte de mi codigo: #define n 100 struct ...
  #1 (permalink)  
Antiguo 20/10/2009, 20:41
 
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 15 años
Puntos: 0
Pregunta Ayuda con arreglo de registros!!

Hola
Tengo un problema con arreglos de registros, en una parte de mi codigo.
Este es una parte de mi codigo:


#define n 100
struct r_articulo
{
int cod_art;
char nom_art[65];
int can_art;
float precio_art;
};

r_articulo articulo[n];

int main
{
r_articulo rart;
r_articulo articulo[0];
cin>>rart.nom_art;
articulo[0].nom_art=rart.nom_art;

Bueno el problema esta cuando asigno el contenido de rart.nom_art (una cadena de caractes) al arreglo.
¿como debo solucionarlo?
Tambien quisiera que me ayuden con mas ejemplos de arreglo de registros.
Gracias por su futura ayuda
.:
  #2 (permalink)  
Antiguo 20/10/2009, 20:57
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
De acuerdo Respuesta: Ayuda con arreglo de registros!!

Hola,

en c++ existe una función que es la strcpy(destino, origen) donde ambos parámetros son cadenas de caracteres y de esta manera solucionas el problema de la asignación con este tipo de datos.


Le hago unas observaciones a tu código

Código c++:
Ver original
  1. #define n 100
  2. struct r_articulo
  3. {
  4.    int cod_art;
  5.    char nom_art[65];
  6.    int can_art;
  7.    float precio_art;
  8. };
  9.  
  10. r_articulo articulo[n];
  11.  
  12. int main
  13. {
  14.    cout << "INGRESE EL CODIGO: ";
  15.    cin>> articulo[0].cod_art;
  16.    cout << "INGRESE EL NOMBRE: ";
  17.    cin>> articulo[0].nom_art; //aqui como se trata de una cadena de caracteres
  18.                                              //también puedes usar el gets(articulo[0].nom_art)
  19.                                              // y te tomará incluso los espacios en blanco
  20.    cout << "INGRESE LA CANTIDAD: ";
  21.    cin>> articulo[0].can_art;
  22.    cout << "INGRESE EL PRECIO: ";
  23.    cin>> articulo[0].precio_art;
  24. }


De esta manera te evitas la cuestión de la asignación y además creando nuevas variables que lo único que hacen es ocupar espacio en memoria, pudiendo hacerlo sin crearlas. Espero te sea de ayuda.



Pdta.: La función se encuentra en la librería string.h
__________________
En programación hay mil y un formas de hacer lo mismo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:19.