-
October 25th, 2011, 09:50 PM
#1
[RESOLVED] help to convert a project from vectors to lists!!!!
I NEED TO CONVERT THIS CODE TO USE LISTS INSTEAD OF VECTORS IT'S URGENT!!! SOMEONE HELP ME!!! IT'S A CHALLENGE!!!
Code:
ESTUDIANTE.CPP
---------------
#include "Estudiante.h"
Estudiante::Estudiante()
{
idEstudiante = new string;
edad= new int;
nombre= new string();
direccion="JAJAJAJAJA";
email= new string();
carrera=new string();
promedio=new float;
}
Estudiante::~Estudiante()
{
}
Estudiante::Estudiante(string *idEstudiante, int *edad, string *nombre, string direccion, string *email, string *carrera, float *promedio){
this->idEstudiante=idEstudiante;
this->edad=edad;
this->nombre=nombre;
this->direccion=direccion;
this->email=email;
this->carrera=carrera;
this->promedio=promedio;
}
//Metodos Set...
void Estudiante::setIdEstudiante(string *idEstudiante){
this->idEstudiante=idEstudiante;
}
void Estudiante::setEdad(int *edad){
this->edad=edad;
}
void Estudiante::setNombre(string *nombre){
this->nombre=nombre;
}
void Estudiante::setDireccion(string direccion){
this->direccion=direccion;
}
void Estudiante::setEmail(string *email){
this->email=email;
}
void Estudiante::setCarrera(string *carrera){
this->carrera=carrera;
}
void Estudiante::setPromedioPon(float *promedio){
this->promedio=promedio;
}
// Metodos get...
string Estudiante::getIdEstudiante(){
return *idEstudiante;
}
int Estudiante::getEdad(){
return *edad;
}
string Estudiante::getNombre(){
return *nombre;
}
string Estudiante::getDireccion(){
return direccion;
}
string Estudiante::getEmail(){
return *email;
}
string Estudiante::getCarrera(){
return *carrera;
}
float Estudiante::getPromedioPon(){
return *promedio;
}
//Metodo toString..
string Estudiante::toString(){
stringstream e;
e<<"El ID es ";
e<<endl;
e<<*idEstudiante;
e<<endl;
e<<"El nombre es ";
e<<endl;
e<<*nombre;
e<<endl;
e<<"La edad es ";
e<<endl;
e<<*edad;
e<<endl;
e<<"La direccion es ";
e<<endl;
e<<direccion;
e<<endl;
e<<"El email es ";
e<<endl;
e<<*email;
e<<endl;
e<<"La carrera es ";
e<<endl;
e<<*carrera;
e<<endl;
e<<"El promedio ponderado es ";
e<<endl;
e<<*promedio;
e<<endl;
e<<"---------------------"<<endl;
return e.str();
}
ESTUDIANTE.H
-----------------
#ifndef ESTUDIANTE_H
#define ESTUDIANTE_H
#include <iostream>
#include <string>
#include "sstream"
#include <stdio.h>
#include <stdlib.h>
using namespace std;
class Estudiante
{
public:
Estudiante();
Estudiante(string *id, int *edad, string *nombre, string direccion, string *email, string *carrera, float *promedio);
virtual ~Estudiante();
void setIdEstudiante(string *id);
void setEdad(int *edad);
void setNombre(string *nombre);
void setDireccion(string direccion);
void setEmail(string *email);
void setCarrera(string *carrera);
void setPromedioPon(float *promedio);
string getIdEstudiante();
int getEdad();
string getNombre();
string getDireccion();
string getEmail();
string getCarrera();
float getPromedioPon();
string toString();
private:
string *idEstudiante;
int *edad;
string *nombre;
string direccion;
string *email;
string *carrera;
float *promedio;
};
#endif // ESTUDIANTE_H
ADMINESTUDIANTE.CPP
-----------------------------
#include "adminestudiante.h"
AdminEstudiante::AdminEstudiante()
{
}
AdminEstudiante::~AdminEstudiante()
{
}
AdminEstudiante::AdminEstudiante(int n)
{
this->n=n;
losEstudiantes=new Estudiante *[n];
for(int i=0;i<n;i++)
losEstudiantes[i]=new Estudiante();
posE=0;
}
bool AdminEstudiante::InserEstudiante(Estudiante *e){
if(posE<n){
losEstudiantes[posE]=e;
posE++;
return true;
}
else
return false;
}
int AdminEstudiante::buscarEstudiante(string id){
int pos=-1;
for(int i=0;i<n;i++){
if((losEstudiantes[i]->getIdEstudiante(). compare(id)==0)){
pos = i;}
}
return (pos);
}
Estudiante *AdminEstudiante::modificarEstudiante(int posE){
return (losEstudiantes[posE]);
}
void AdminEstudiante::eliminarEstudiante(int pos){
for (int i=pos; i<n-1;i++){
losEstudiantes[i]=losEstudiantes[i+1];
}
this->posE--;
}
string AdminEstudiante::listarEstudiante(int i){
return losEstudiantes[i]->toString();
}
ADMIN ESTUDIANTE.H
------------------------
#ifndef ADMINESTUDIANTE_H
#define ADMINESTUDIANTE_H
#include "Estudiante.h"
#include <iostream>
#include <string>
#include "sstream"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;
class AdminEstudiante
{
public:
AdminEstudiante();
virtual ~AdminEstudiante();
AdminEstudiante(int);
bool InserEstudiante(Estudiante *e);
int buscarEstudiante(string id);
Estudiante *modificarEstudiante(int posE);
void eliminarEstudiante(int posE);
string listarEstudiante(int i);
int getPosE();
//int getN(){return this->n;};
void setPosE(int);
int posE;
private:
int n;
Estudiante **losEstudiantes;
};
#endif // ADMINESTUDIANTE_H
MAIN.CPP
--------------
#include "Estudiante.h"
#include "Autor.h"
#include "Libro.h"
#include "adminestudiante.h"
#include "adminautor.h"
#include "adminlibro.h"
int main()
{
int n=20;
int o=20;
int p=20;
AdminEstudiante *listaEstudiante=new AdminEstudiante(n);
AdminAutor *listaAutor=new AdminAutor(o);
AdminLibro *listaLibro=new AdminLibro(p);
//menu para preg al administrador que desea mantener
int opcBiblio=0;
cout<<"Administrador Basico de una Biblioteca"<<endl<<endl;
cout<<"Que desea administrar?"<<endl;
cout<<"1. Estudiantes"<<endl;
cout<<"2. Autores"<<endl;
cout<<"3. Libros"<<endl;
cout<<"Digite una opcion: 1-3"<<endl;
cin>>opcBiblio;
system("cls");
//Menu de opciones de mantenimiento
for(;;){//for infinito
switch(opcBiblio){
//switch estudiante
case 1:{
system("cls");
int opc=0;
cout<<"Administrador de Estudiantes"<<endl;
cout<<"1. Insertar un Estudiante"<<endl;
cout<<"2. Modificar un Estudiante"<<endl;
cout<<"3. Elimnar un Estudiante"<<endl;
cout<<"4. Consultar Estudiantes"<<endl;
cout<<"5. Listar Estudiantes"<<endl;
cout<<"6. Salir del administrador"<<endl;
cout<<"Digite una opcion: 1-6"<<endl;
cin>>opc;
int estado=0;
while(estado==0){
switch(opc){
case 1:{//metodo insertar
//Variables para pedir e insertar el nuevo estudiante
system("cls");
string *idEstudiante = new string;
int *edad= new int;
string *nombre= new string();
string direccion="";
string *email= new string();
string *carrera=new string();
float *promedioPon=new float;
cout<<"Digite el nombre del nuevo estudiante: ";
cin>>*nombre;
cout<<endl;
cout<<"Digite el id del estudiante: ";
cin>>*idEstudiante;
cout<<endl;
cout<<"Digite la edad del estudiante: ";
cin>>*edad;
cout<<endl;
cout<<"Digite la direccion del estudiante: ";
cin>>direccion;
cout<<endl;
cout<<"Digite el email del estudiante: ";
cin>>*email;
cout<<endl;
cout<<"Digite la carrera que cursa el estudiante: ";
cin>>*carrera;
cout<<endl;
cout<<"Digite el promedio ponderado del estudiante: ";
cin>>*promedioPon;
cout<<endl;
Estudiante *e=new Estudiante(idEstudiante,edad,nombre,direccion,email,carrera,promedioPon);//Estudiante sobre cargado con las variable de arriba
system("cls"); //limpiar valores ingresados para el sobrecargado
if(listaEstudiante->InserEstudiante(e)==true)
cout<<"Estudiante insertado correctamente "<<endl;
else
cout<<"No se pudo insertar el nuevo estudiante "<<endl;
cout<<"Desea continuar insertando estudiantes?"<<endl;
cout<<"Digite 0 (cero) para Permanecer "<<endl;
cout<<"Digite 1 para Abandonar "<<endl;
cin>>estado;//para salir al while
break;
}
case 2:{//metodo modificar
system("cls");
string IdEstudiante;
cout<<"Dijite el Id del estudiante que desea modificar "<<endl;
cin>>IdEstudiante;
int posE=listaEstudiante->buscarEstudiante(IdEstudiante);
system("cls");
if(posE==-1)
cout<<"No se encuentra el estudiante "<<endl;
else{
cout<<"Estudiante encontrado; "<<endl<<endl;
string *nombre=new string;
cout<<"Digite el nuevo nombre del estudiante "<<endl;
cin>>*nombre;
listaEstudiante->modificarEstudiante(posE)->setNombre(nombre);
string *carrera=new string;
cout<<"Digite la nueva carrera del estudiante";
cin>>*carrera;
listaEstudiante->modificarEstudiante(posE)->setCarrera(carrera);
string *email=new string;
cout<<"Digite el nuevo email "<<endl;
cin>>*email;
listaEstudiante->modificarEstudiante(posE)->setEmail(email);
int *edad=new int;
cout<<"Digite la nueva edad "<<endl;
cin>>*edad;
listaEstudiante->modificarEstudiante(posE)->setEdad(edad);
string direccion="";
cout<<"Digite la nueva direccion del estudiante "<<endl;
cin>>direccion;
listaEstudiante->modificarEstudiante(posE)->setDireccion(direccion);
}
system("cls"); //Para limpiar la modificacion
cout<<"Desea continuar modificando estudiantes?"<<endl;
cout<<"Digite 0 (cero) para Permanecer "<<endl;
cout<<"Digite 1 para Abandonar "<<endl;
cin>>estado;//para salir al while
break;
}
case 3:{//metodo eliminar
system("cls");
string IdEstudiante;
cout<<"Dijite el ID del estudiante que desea eliminar "<<endl<<endl;
cin>>IdEstudiante;
int posE=listaEstudiante->buscarEstudiante(IdEstudiante);
if(posE==!(-1)){
listaEstudiante->eliminarEstudiante(posE);
cout<<"El estudiante de id: " <<IdEstudiante <<" fue eliminado correctamente "<<endl;}
else
cout<<"No se encontrĂ³ el id del estudiante "<<endl<<endl;
cout<<"Desea continuar eliminando estudiantes?"<<endl;
cout<<"Digite 0 (cero) para Permanecer "<<endl;
cout<<"Digite 1 para Abandonar "<<endl;
cin>>estado;//para salir al while
system("pause");
break;
}
case 4:{//consultar
system("cls");
string idEstudiante;
cout<<"Digite el id del estudiante que desea consultar: "<<endl;
cin>>idEstudiante;
cout<<endl;
int posE=listaEstudiante->buscarEstudiante(idEstudiante);
system("cls");//limpiar lo digitado
if(posE==-1)
cout<<"No se encuentra el estudiante "<<endl;
else{
cout<<listaEstudiante->listarEstudiante(posE);
cout<<endl;
}
system("pause");
system("cls");
cout<<"Desea continuar consultando estudiantes?"<<endl;
cout<<"Digite 0 (cero) para Permanecer "<<endl;
cout<<"Digite 1 para Abandonar "<<endl;
cin>>estado;//para salir al while
break;
}
case 5:{//listar
system("cls");
cout<<"Los estudiantes son: "<<endl;
cout<<"---------------------"<<endl;
for(int i=0;i<listaEstudiante->posE;i++)
cout<<listaEstudiante->listarEstudiante(i)<<endl;
return 0;//sale del for, sino se encicla
break;
}
default:{
exit(0);
}
}//del swith del estudiante
}//del while
break;
}//del case 1
// hasta aqui swith estudiante
case 2:{}
case 3:{}
default:{
exit(0);
}
}
}
return 0;
}
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|