elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / ayuda herencia c++ en: 2 Noviembre 2016, 23:50 pm
hola, disculpen la molestia pero necesito auyda con la materia de herencia y polimorfismo (mas herencia), lo que sucede es que hice un header llamado sistema.h y debo hacer 3 clases derivadas de la clase bus (vienen siendo semi cama, premium y salon cama) . en estas clases, tienen los mismos atributos pero solo se diferencian en la capacidad que tienen (semi cama 45, premium 20 y 30 salon cama) y no se como hacer que la otra clase sistema (que es un vector de bus) diferencie cuando es salon cama, semi cama y premium .  les agradeceria mucho su ayuda


Código
  1. #ifndef SISTEMA_H_
  2. #define SISTEMA_H_
  3.  
  4. class Bus {
  5. protected:
  6.    std::vector<std::string> asientos_;
  7.    std::string tipo_;
  8.    std::string origen_;
  9.    std::string destino_;
  10.    int precio_;
  11.    int hora_;
  12. public:
  13.    Bus(std::string tipo, size_t asientos, std::string origen, std::string destino, int precio, int hora) {
  14.        for (size_t i = 0; i < asientos; i++)
  15.        {
  16.            asientos_.push_back("");
  17.        }
  18.        tipo_ = tipo;
  19.        origen_ = origen;
  20.        destino_ = destino;
  21.        precio_ = precio;
  22.        hora_ = hora;
  23.    }
  24.  
  25.    void listarAsientos() {
  26.        std::cout << "Asientos disponibles: ";
  27.        for (size_t i = 0; i < asientos_.size(); i++)
  28.        {  
  29.            if(asientos_[i].size() == 0)
  30.            {
  31.                std::cout << i+1 << " ";
  32.            }
  33.        }
  34.        std::cout << std::endl;
  35.  
  36.        std::cout << "Asientos vendidos: ";
  37.        for (size_t i = 0; i < asientos_.size(); i++)
  38.        {
  39.            if(asientos_[i].size() != 0)
  40.            {
  41.                std::cout << i+1 << ": " << asientos_[i] << std::endl;
  42.            }
  43.        }
  44.        std::cout << std::endl;
  45.    }
  46.  
  47.    bool venderAsiento(int asiento, std::string rut) {
  48.        if(asientos_[asiento-1].size() == 0) {
  49.            asientos_[asiento-1] = rut;
  50.            return true;
  51.        }
  52.        return false;
  53.    }
  54.  
  55.    void info() {
  56.        std::cout << origen_ << "\t" << destino_ << "\t" << tipo_ << "\t" << hora_;
  57.    }
  58. };
  59.  
  60.  
  61.  
  62.  
  63. class semi_cama:public Bus {
  64. public:
  65.  
  66. }
  67.  
  68.  
  69. };
  70. class Sistema {
  71. protected:
  72.    std::vector<Bus> buses_;
  73. public:
  74.    Sistema(int buses) {
  75.        buses_.reserve(buses);
  76.    }
  77.  
  78.    void agendarBus(Bus bus) {
  79.        buses_.push_back(bus);
  80.    }
  81.  
  82.    void listarAgenda() {
  83.        std::cout << "Selector\tOrigen\t\tDestino\t\tTipo\t\tHora" << std::endl;
  84.        for (size_t i = 0; i < buses_.size(); i++)
  85.        {
  86.            std::cout << i+1 << "\t\t";
  87.            buses_[i].info();
  88.            std::cout << std::endl;
  89.        }
  90.    }
  91.  
  92.    void listarBus(int bus) {
  93.        buses_[bus-1].listarAsientos();
  94.    }
  95.  
  96.    bool venderPasaje(int bus, int asiento, std::string rut) {
  97.        if (buses_[bus-1].venderAsiento(asiento, rut) == false) {
  98.            std::cerr << "El asiento ya está vendido.\n";
  99.            return false;
  100.        }
  101.        return true;
  102.    }
  103. };
  104.  
  105. #endif
  106.  
2  Programación / Programación C/C++ / ayuda clases/arreglos dinamicos c++ en: 1 Octubre 2016, 23:16 pm
buenas, en la uni comenzamos a ver clases y memoria dinamica en c++, y nos pidieron crear un tipo de dato en una clase que maneja operaciones con un elemento string ingresado por el usuario (es como hacer otro tipo de dato similar a string que haga operaciones de insertar el string enviado por parametro al objeto, eliminar string, preguntar si pertenece , union ,interseccion y diferencia entre ellos).

hice el ver si esta adentro o no, pero no logro entender como hacer el insertar un string por parametro a un objeto de arreglo char. mi code es asi:

Código
  1. #include <iostream>
  2. #include <cassert>
  3. #include <cstdlib>
  4. #include <string.h>
  5. #include<vector>
  6.  
  7. using namespace std;
  8.  
  9. class setstring{
  10. char *objetos;
  11. int cantidad;
  12. int espacio;
  13. public:
  14. setstring(){     //hice un constructor por defecto
  15. espacio=1;
  16. objetos = new char [espacio];
  17. objetos [0]='\0';
  18. cantidad=0;
  19. }
  20. ~setstring () {
  21. delete [ ]objetos;}
  22.  
  23.  
  24. bool insert (string s)   //mi problema es aqui, no se que hacer.
  25. {
  26.  if(in(s)==false){
  27.  
  28. vector<string> obj ={objetos};          
  29. vector <string> obj2={s};
  30.  obj.push_back(s);
  31.  return true;}
  32. }
  33.  
  34. bool in(string s){
  35. if(strstr(objetos,s.c_str())!=0){
  36. return true;
  37. }
  38. else{
  39. return false;
  40. }
  41. }
  42. };
  43.  
3  Programación / Programación C/C++ / busqueda de palabras en un fichero en: 29 Junio 2016, 06:21 am
buenas a todos, necesito crear un programa que abra un fichero y busque palabras (en mi caso , debo buscar tragos y palabras positivas que los acompañen), hasta ahora solo he abierto el archivo, guardado en un string y transforme todas las minusculas a mayusculas para disminuir un poco la cantidad de palabras a buscar. (las palabras no las ingresa el usuario, debe hacerlo el programa.

no se que hacer he intentado pero o no me compila o no hace lo que debe  :( :(
( c++)
Código
  1.        #include <iostream>
  2. #include <fstream>
  3. #include <cctype>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <sstream>
  7.  
  8. using namespace std;
  9.  
  10. string lectura(ifstream &file);
  11. string mayusculas (string archivo);
  12.  
  13.  
  14. int main(){
  15. int contar;
  16. string contenedor, enmayusculas,copia;
  17. ifstream archivo ("tweets.txt");
  18. if(archivo.fail())
  19. {cout<<"error";
  20. return  1;  }
  21.  
  22. contenedor=lectura(archivo);
  23. enmayusculas=mayusculas(contenedor);
  24. copia=enmayusculas;
  25. cout<<copia;
  26. system ("pause");  
  27. return 0;
  28. }
  29.  
  30. string lectura (ifstream &file) {
  31. string entrada, contenido;
  32. while (getline(file,entrada))
  33. contenido=contenido + entrada ;
  34.  
  35. return contenido;
  36. }
  37.  
  38. string mayusculas (string archivo) {
  39. for(int i=0;i<archivo.size();i++){
  40. archivo[i]=toupper(archivo[i]);
  41. }
  42. return archivo;
  43. }
  44.  
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines