¿Cómo gestiono un array en C y C++?

Con una consulta, espero que me pueda ayudar por favor.
Fíjese que me dejaron una práctica en c++, y es un sistema de una librería, en donde se ingresa y se eliminan libros. Como practica el máximo de libros es 5.
Debe de funcionar así: Muestra el menu, el usuario elige si ingresa, busca o elimina un libro, si elige ingresar un libro inmediatamente pide Nombre, año, autor, clasificación, al terminar de ingresar los datos muestra los datos del libro ingresado y muestra nuevamente el menu.
Yo ya tengo el menu y la clase libro con sus funciones de set_autor get_autor...
Lo que no he podido hacer es que cuando ingrese los datos de un libro, este los guarde en la posición de un array.

1 Respuesta

Respuesta
1
Por supuesto que puedo ayudarle. ¿Pero me hace el favor de enviarme todo el código que ya hayas escrito?
Gracias por responder.
Acá le mando todo el código que llevo, aunque creo que se mira un poco desordenado, también le envío la dirección de mi skydrive donde se pueden descargar.
http://cid-7c30dac87c5e822f.skydrive.live.com/browse.aspx/.Documents
Por favor si me pudiera ayudar.
Clase pricipal.cpp
// - Importación de librerías que se utilizaran en el programa, iostream, string, math
// - Importación de las clases creadas, Libro y Utile que contienen sus atributos y métodos
#include <iostream>
#include <string>
using namespace std;
// declaracion de clase libro
class libro {    
// variables globales que son utilizadas durante todo el programa
 string clasificacion;
 string titulo;
 string autor;
 string descripcion;
 string edicion;
 int anio;
 string pais;
 int precio;
// declaracion de variables publicas que son accedidas desde otras clases
     public:
// Método constructor que sirve como un inicializador de variables y es llamado cuando, se le llama
// cuando se crean objetos en la clase 
 libro()
 {
  clasificacion = "";
  titulo = "";
  autor = "";
  descripcion = "";
  edicion = "";
  anio = 0;
  pais = "";
  precio = 0;
 }
//.......................................................................................
//  Metodos que van a proporcionar valores, segun los parametros que retornen
 void setClasificacion(string clas) { //metodo que lleva como parametro una cadena clas
  clasificacion = clas;  //variable clasificacion hace referencia a clas
 }
 void setTitulo(string titl) {
  titulo = titl;
 }
 void setAutor(string aut) {
  autor = aut;
 }
 void setDescripcion(string descrip) {
  descripcion = descrip;
 }
 void setEdicion(string edic) {
  edicion = edic;
 } 
 void setAnio(int an) {
  anio = an;
 }
 void setPais(string pai_s) {
  pais = pai_s;
 }
 void setPrecio(int prec) {
  precio = prec;
 }
//.......................................................................................
//.......................................................................................
//  Metodos que van a obtener valores y los devolveran cuando se les pida
 string getClasificacion()  //metodo que obtiene la informacion de clasificacion
 {
  return clasificacion; //devuelve el valor de la variable clasificacion
 }
 string getTitulo()
 {
  return titulo;
 }
 string getAutor()
 {
  return autor;
 }
 string getDescripcion()
 {
  return descripcion;
 }
 string getEdicion()
 {
  return edicion;
 }
 int getAnio()
 {
  return anio;
 }  
 string getPais()
 {
  return pais;
 }
 int getPrecio()
 {
  return precio;
 }
//...
/*Variables y funciones que se declaran, y serán accedidas solo por esta clase y por ninguna,
aunque hereden de ella*/
private:
/*Variables y funciones que se declaran, y serán accedidas solo por esta clase y por las clases
que heredan, es decir "las hijas"*/
protected:
};
Clase Libro.hpp
// - Importacion de librerias que se utilizaran en el programa, iostream, string, math
// - Importacion de las clases creadas, Libro y Utile que contienen sus atributos y metodos
#include <iostream>
#include <string>
using namespace std;
// declaracion de clase libro
class libro {    
// variables globales que son utilizadas durante todo el programa
 string clasificacion;
 string titulo;
 string autor;
 string descripcion;
 string edicion;
 int anio;
 string pais;
 int precio;
// declaracion de variables publicas que son accedidas desde otras clases
     public:
// Metodo constructor que sirve como un inicializador de variables y es llamado cuando, se le llama
// cuando se crean objetos en la clase 
 libro()
 {
  clasificacion = "";
  titulo = "";
  autor = "";
  descripcion = "";
  edicion = "";
  anio = 0;
  pais = "";
  precio = 0;
 }
//.......................................................................................
//  Metodos que van a proporcionar valores, segun los parametros que retornen
 void setClasificacion(string clas) { //metodo que lleva como parametro una cadena clas
  clasificacion = clas;  //variable clasificacion hace referencia a clas
 }
 void setTitulo(string titl) {
  titulo = titl;
 }
 void setAutor(string aut) {
  autor = aut;
 }
 void setDescripcion(string descrip) {
  descripcion = descrip;
 }
 void setEdicion(string edic) {
  edicion = edic;
 } 
 void setAnio(int an) {
  anio = an;
 }
 void setPais(string pai_s) {
  pais = pai_s;
 }
 void setPrecio(int prec) {
  precio = prec;
 }
//.......................................................................................
//.......................................................................................
//  Metodos que van a obtener valores y los devolveran cuando se les pida
 string getClasificacion()  //metodo que obtiene la informacion de clasificacion
 {
  return clasificacion; //devuelve el valor de la variable clasificacion
 }
 string getTitulo()
 {
  return titulo;
 }
 string getAutor()
 {
  return autor;
 }
 string getDescripcion()
 {
  return descripcion;
 }
 string getEdicion()
 {
  return edicion;
 }
 int getAnio()
 {
  return anio;
 }  
 string getPais()
 {
  return pais;
 }
 int getPrecio()
 {
  return precio;
 }
//...
/*Variables y funciones que se declaran, y serán accedidas solo por esta clase y por ninguna,
aunque hereden de ella*/
private:
/*Variables y funciones que se declaran, y serán accedidas solo por esta clase y por las clases
que heredan, es decir "las hijas"*/
protected:
};
Pues primero te hago un pequeño comentario: ya que las variables 'autor', 'titulo', etc. son varaibles que se pueden ser cambiadas y obtenidas desde fuera de la clase, yo consideraría que deberían ser public, y así ahorrarte tener que hacer las funciones getTitulo, setTitulo, etc.
Y ahora te comento como debería ser el programa:
//En el código principal, en la declaración de variables globales debería haber algo así:
#define MAXLIBROS 100;
libro *misLibros[MAXLIBROS];
int i=0;
//cuando en el menú se elige la opción ingresar libro debería haber algo asi:
if(i<MAXLIBROS){
  misLibros = new libro;
  i++;
}
else
  cout<<"Máximo de libros alcanzado";
//y el constructor de la clase libro yo lo pondría así
libro(){
  cout<<"\nIntroduce la clasificación: ";
  cin>>clasificacion;
  cout<<"\nIntroduce el título: ";
  cin>>titulo;
  cout<<"\nIntroduce el autor: ";
  cin>>autor;
  cout<<"\nIntroduce una descripcion: ";
  cin>>descripcion;
  cout<<"\nIntroduce la edición: ";
  cin>>edicion;
  cout<<"\nIntroduce el año: ";
  cin>>anio;
  cout<<"\nIntroduce el país: ";
  cin>>pais;
  cout<<"\nIntroduce el precio: ";
  cin>>precio;
 }
//------------------------------------------------------
Por supuesto, este código no ha sido probado por lo tanto si tiene algún problema coméntemelo
Me gustaría saber si le sirvió de ayuda.
Si, gracias por su ayuda! Y perdón por agradecerle hasta ahora, y es que solo entregue la practica y tuve un problema de salud, entonces ya no pude responderle.
Gracias por su ayuda, ya que pude sacar un buen punteo en la práctica.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas