Actividad Aprendizaje 3
Actividad Aprendizaje 3
Actividad Aprendizaje 3
-Código: 219114813.
CONCEPTO SI NO ACOMULACION
Bajé el trabajo de
internet o alguien me -100pts 0pts 0
lo pasó (aunque sea
de forma parcial)
Incluí el código fuente
en formato de texto +25pts 0pts 25
(sólo si funciona
cumpliendo todos los
requerimientos)
Incluí las impresiones
de pantalla (sólo si +25pts 0pts 25
funciona cumpliendo
todos los
requerimientos)
Incluí una portada
que identifica mi +25pts 0pts 25
trabajo (nombre,
código, materia,
fecha, título)
Incluí una descripción
y conclusiones de mi +25pts 0pts 25
trabajo
100pts
Introducción acerca de la forma en que fue abordado el problema:
Se me facilito un poco mas ya que me base en la anterior tarea y fue un poco más fácil
implementar todo lo de orientado a objetos como las clases y así, y me costo un poco mas con la
Lista.
CODIGO FUENTE:
Song.hpp
#ifndef SONG_HPP_INCLUDED
#define SONG_HPP_INCLUDED
#include<string>
class Song {
private:
std::string name;
std::string autor;
std::string interpreter;
int ranking;
public:
Song();
Song(const &Song);
};
#endif // SONG_HPP_INCLUDED
Song.cpp
#include "song.hpp"
Song::Song() {
Song::Song(const& Song) {
return name;
return autor;
return interpreter;
return ranking;
string cadenaDatos;
cadenaDatos+="| ";
cadenaDatos+=to_string(ranking);
cadenaDatos+="\t|";
cadenaDatos+=name;
cadenaDatos+="\t|";
cadenaDatos+=interpreter;
cadenaDatos+="\t|";
cadenaDatos+=autor;
cadenaDatos+="\t|";
return cadenaDatos;
name = n;
}
autor = a;
interpreter = i;
ranking = r;
listaex.hpp
#ifndef LISTAEX_HPP_INCLUDED
#define LISTAEX_HPP_INCLUDED
#include<exception>
#include<string>
private:
std::string msg;
public:
return msg.c_str();
};
#endif // LISTAEX_HPP_INCLUDED
Lista.hpp
#ifndef LISTA_HPP_INCLUDED
#define LISTA_HPP_INCLUDED
#include <iostream>
#include <stdlib.h>
#include <string>
#include "song.hpp"
class Listta {
private:
int Lacounter;
public:
Listta();
Listta(const Listta&);
bool isEmpty();
bool isFull();
int getFirstPos();
int getLastPos();
std::string toString();
void print();
void deleteAll();
};
#endif // LISTA_HPP_INCLUDED
Lista.cpp
#include "lista.hpp"
#include "listaex.hpp"
int i(0);
LaSong[i] = l.LaSong[i];
i++;
Lacounter = l.Lacounter;
}
Listta::Listta() : Lacounter(-1) {}
Listta::Listta(const Listta& l ) {
copyAll(l);
bool Listta::isEmpty() {
bool Listta::isFull() {
if(isFull()) {
int i(Lacounter);
while(i > p ) {
LaSong[i+1] = LaSong[i];
i--;
LaSong[p+1] = s;
Lacounter++;
}
if(!isValidPos(p)) {
int i(p);
LaSong[i] = LaSong[i+1];
i++;
Lacounter--;
int Listta::getFirstPos() {
if(isEmpty()) {
return -1;
return 0;
int Listta::getLastPos() {
return Lacounter;
return -1;
return p - 1;
}
return -1;
return p + 1;
int Listta::getCounter() {
return Lacounter;
if(!isValidPos(p)) {
return LaSong[p].toString();
string Listta::toString() {
string result;
int i(0);
i++;
return result;
}
void Listta::print() {
int i(0);
cout<<LaSong[i++].toString()<<"\n\n";
i++;
void Listta::deleteAll() {
Lacounter = -1;
copyAll(l);
return *this;
Menu.hpp
#ifndef MENU_HPP_INCLUDED
#define MENU_HPP_INCLUDED
#include <iostream>
#include <string>
#include"lista.hpp"
class Menu {
private:
public:
void mainMenu(Listta&);
};
#endif // MENU_HPP_INCLUDED
Menu.cpp
#include<iostream>
#include <random>
#include <chrono>
#include <string>
#include"menu.hpp"
#include"song.hpp"
#include"lista.hpp"
int o,w,opcion,elementoo;
string str;
Song LaSong;
do {
cin>>opcion;
auto semilla=chrono::system_clock::now().time_since_epoch().count();
default_random_engine generator(semilla);
switch(opcion) {
case 1:
cin>>opcion;
if(opcion == 1) {
uniform_int_distribution<int>distribution(0,50);///Ranking
LaSong.setRanking(rnum);
cout<<"\nNombre: ";
fflush(stdin);
getline(cin,str);
LaSong.setName(str);
cout<<"\nInterprete: ";
fflush(stdin);
getline(cin,str);
LaSong.setInterpreter(str);
cout<<"\nAutor: ";
fflush(stdin);
getline(cin,str);
LaSong.setAutor(str);
LaListta.agregarSong(LaListta.getLastPos(),LaSong);
cout<<endl;
if(opcion == 2) {
cout<<"(Despues del punto de interes)\nPosicion: ";
fflush(stdin);
cin>>o;
uniform_int_distribution<int>distribution(0,50);///Ranking
LaSong.setRanking(rnum);
cout<<"\nNombre: ";
fflush(stdin);
getline(cin,str);
LaSong.setName(str);
cout<<"\nInterprete: ";
fflush(stdin);
getline(cin,str);
LaSong.setInterpreter(str);
cout<<"\nAutor: ";
fflush(stdin);
getline(cin,str);
LaSong.setAutor(str);
LaListta.agregarSong(w,LaSong);
cout<<endl;
break;
case 2:
cout<<"Posicion: ";
fflush(stdin);
cin>>o;
LaListta.eliminarData(o);
system("cls");
break;
case 3:
cout<<"Posicion: ";
fflush(stdin);
cin>>o;
cout<<"\n"<<LaListta.retrieve(o)<<"\n"<<endl;
break;
case 4:
cout<<"\n"<<LaListta.retrieve(LaListta.getFirstPos())<<"\n"<<endl;
break;
case 5:
cout<<"\n"<<LaListta.retrieve(LaListta.getLastPos())<<"\n"<<endl;
break;
case 6:
cout<<"Posicion: ";
fflush(stdin);
cin>>o;
cout<<"\n"<<LaListta.retrieve(LaListta.getPrevPos(o))<<"\n"<<endl;
break;
case 7:
cout<<"Posicion: ";
fflush(stdin);
cin>>o;
cout<<"\n"<<LaListta.retrieve(LaListta.getNextPos(o))<<"\n"<<endl;
break;
case 8:
LaListta.deleteAll();
break;
case 9:
cout<<"\n\n"<<"TERMINASTE EL PROGRAMA."<<"\n"<<endl;
break;
default:cout<<"Opcion invalida.\n\n";
while(opcion != 9);
Main.cpp
#include<stdlib.h>
#include<iostream>
#include"menu.hpp"
#include"song.hpp"
#include"lista.hpp"
#include"listaex.hpp"
int main() {
Menu theMenu;
Listta LaListta
theMenu.mainMenu(LaListta);
return 0;
}
Impresiones de pantallas que muestren la ejecución satisfactoria del programa:
Resumen personal del trabajo realizado: programa de lista de canciones, se me hizo un poco
complicado, aun no termino de entender todo muy bien espero seguir mejorando :p.