Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - xboxone007

#1
Hola a todos,
miren estoy haciendo este ejercicio y tengo unos errores que no se como puedo solucionarlos. Esperaba que me pudieseis ayudar.
El ejercicio esta dividido en dos partes, la primera la tengo echa y funcionando pero la segunda me esta costando mucho mas.

Aquí os dejo las diferentes partes del ejercicio.

Enunciado:

Escribe una clase Vehículo con los siguientes atributos (privados):
• año: año de fabricación. Entero
• CapDepo: Capacidad del deposito en litros. Entero
• LitrosDepo: Litros en el deposito. Tiene que ser menor que CapDepo. Entero
• Kph: Km/h del vehiculo. Entero
• Propietario: cadena de caracteres de 25 posiciones
Y los siguientes métodos públicos:
• Imprimir ()
• LlenarDeposito (int nLitros)
• Todas las funciones necesarias para acceder al valor de los atributos y
modificarlos.
Además has de crear tres constructores: uno por defecto, otro con parámetros y otro de
copia.
Por ultimo crea un procedimiento principal donde

Crea dos clases derivadas de Vehículo que serán Coche y Moto. El coche tendrá como
atributos propios
• NumAsientos: numero de asientos. Entero
• Marca: marca del coche. Cadena de caracteres de 10 posiciones.
La moto tendrá como atributos propios:
• Cilindrada: Entero
• Tipo : cadena de caracteres de 20 posiciones que indicia le tipo de moto (trial,
cross, custom...)
En ambas clases crea los métodos que permitan acceder a los atributos privados y
solapa la función imprimir para que muestre la información propia aparte de la
general.

He logrado hacer diferentes archivos de encabezado ".h"y otros tanto     ".cpp" pero me corren exactamente 6 errores. Aquí os dejo el código por partes:

Primer los cuatro ".cpp":

Moto.cpp

#include "Moto.h"
#include <iostream>

using namespace std;

void Moto::Imprimir()
{
   cout << "Cilindrada de la Moto: " << cilindrada() << endl;
   cout << "Tipo de Moto: " << tipo() << endl;
}


Coche.cpp

#include "Coche.h"
#include <iostream>

using namespace std;

void Coche::Imprimir()
{
   cout << "Numero de asientos: " << this -> marca() << endl;
   cout << "Marca del Coche: " << this -> asientos() << endl;
}


Vehiculo.cpp

#include "Vehiculo.h"
#include <iostream>

using namespace std;

void Vehiculo::Imprimir()
{
   cout << "Propietario: " << this->GetPropietario() << endl;
   cout << "año de fabricacion: " << this->GetAño() << endl;
   cout << "Capacidad del deposito: " << this->GetCapDepo() << " Litros. ";
   cout << this->GetLitrosDepo() << " Litros actualmente" << endl;
   cout << "Velocidad maxima: " << this->GetKph() << " Km/h" << endl;
}

int Vehiculo::LlenarDeposito(int litros)
{
   this->SetLitrosDepo(this->GetLitrosDepo() + litros);
   return this->GetLitrosDepo();
}


Source.cpp

#include <iostream>
#include <iomanip>
#include "Vehiculo.h"

using namespace std;

int main(){

   Vehiculo vehiculoA;
   cout << "VEHICULO A - Constructor por defecto" << endl;
   vehiculoA.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;

   cout << "VEHICULO A - SetPropietario(\"Bruce Willis\")" << endl;
   vehiculoA.SetPropietario("Bruce Willis");
   vehiculoA.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;

   cout << "VEHICULO A - LlenarDeposito(50)" << endl;
   vehiculoA.LlenarDeposito(50);
   vehiculoA.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;
   
   cout << "VEHICULO A - LlenarDeposito(500)" << endl;
   vehiculoA.LlenarDeposito(500);
   vehiculoA.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;

   cout << "_____________________________________________________________________" << endl;

   Vehiculo vehiculoB(1987, 55, 180);
   cout << "VEHICULO B - Constructor(1987, 55, 180)" << endl;
   vehiculoB.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;

   cout << "VEHICULO B - SetPropietario(\"Jennifer Aniston\")" << endl;
   vehiculoB.SetPropietario("Jennifer Aniston");
   vehiculoB.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;

   cout << "_____________________________________________________________________" << endl;

   Vehiculo vehiculoC(vehiculoB);
   cout << "VEHICULO C - Constructor copia(Vehiculo B)" << endl;
   vehiculoC.Imprimir();
   cout << "-------------------------------" << endl;
   cout << endl;

   cout << endl << endl;
   system("Pause");
}


Ahora pondré los ".h"que son tres:

Moto.h

#include <string>

class Moto{

private:
     char* tipo;
     int cilindrada;

public:
     void Imprimir();
     void Settipo(char*);
     char* Gettipo();
}


Coche.h

[COLOR="teal"]#include <string>

class Coche{

private:
     char* marca;
    int asientos;

public:
     void Imprimir();
     void SetMarca(char*);
     char* GetMarca();
}[/color]

Vehiculo.h

#include <string>

class Vehiculo{

private:
   int año;
   int capDepo;
   int litrosDepo;
   int kph;
   char propietario[25];

public:
   Vehiculo(){
      SetAño(2000);
      SetCapDepo(100);
      SetLitrosDepo(0);
      SetKph(300);
      SetPropietario("");
   }

   Vehiculo(int _año, int _cap, int _kph){
      SetAño(_año);
      SetCapDepo(_cap);
      SetLitrosDepo(0);
      SetKph(_kph);
      SetPropietario("");
   }

   Vehiculo(const Vehiculo &v){
      SetAño(v.año);
      SetCapDepo(v.capDepo);
      SetLitrosDepo(v.litrosDepo);
      SetKph(v.kph);
      SetPropietario((char*) v.propietario);
   }

//PUBLIC METHODS==========
public:
   void Imprimir();
   int LlenarDeposito(int litros);

//GETTERS=================
public:
   int GetAño(){
      return año;
   }
   int GetCapDepo(){
      return capDepo;
   }
   int GetLitrosDepo(){
      return litrosDepo;
   }
   int GetKph(){
      return kph;
   }
   char* GetPropietario(){
      return propietario;
   }

//SETTERS=================
public:
   void SetAño(int _año){
      año = _año;
   }
   void SetCapDepo(int _cap){
      capDepo = _cap;
   }
   void SetLitrosDepo(int _litros){
      litrosDepo = _litros;
      if (litrosDepo > GetCapDepo())
         SetLitrosDepo(GetCapDepo());
   }
   void SetKph(int _kph){
      kph = _kph;
   }
   void SetPropietario(char* _propietario){
      strcpy_s(propietario, _propietario);
   }
};


Y esto es los que sucede cuando genero el código:

1>Compilando...
1>Coche.cpp
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iostream(12) : error C2143: error de sintaxis : falta ';' delante de 'namespace'
1>c:\users\007\desktop\app\programacion c++\tema 9\ejercicio 2\ejercicio 2\coche.cpp(8) : error C2064: el término no se evalúa como una función con 0 argumentos
1>c:\users\007\desktop\app\programacion c++\tema 9\ejercicio 2\ejercicio 2\coche.cpp(9) : error C2064: el término no se evalúa como una función con 0 argumentos
1>Moto.cpp
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iostream(12) : error C2143: error de sintaxis : falta ';' delante de 'namespace'
1>c:\users\007\desktop\app\programacion c++\tema 9\ejercicio 2\ejercicio 2\moto.cpp(8) : error C2064: el término no se evalúa como una función con 0 argumentos
1>c:\users\007\desktop\app\programacion c++\tema 9\ejercicio 2\ejercicio 2\moto.cpp(9) : error C2064: el término no se evalúa como una función con 0 argumentos
1>Source.cpp
1>Vehiculo.cpp
1>Generando código...
1>El registro de compilación se guardó en el "file://c:\Users\007\Desktop\App\Programacion C++\Tema 9\Ejercicio 2\Ejercicio 2\Debug\BuildLog.htm"
1>Ejercicio 2 - 6 errores, 0 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

¿Como solucionaría esos errores?

Muchas gracias de antemano, y un gran saludo :D
#2
Hola a todos estoy haciendo este ejercicio:

Escribir un programa que lea un número, que indica cuántos números enteros serán
guardados en un vector, crear el vector para almacenar el tamaño exacto de los datos y
entonces leer los enteros que serán guardados en el vector. Posteriormente se han de
mostrar los elementos en orden inverso y liberar la memoria que se ha reservado.

y he logrado hacer esta código pero no se como puedo seguir, no entiendo mucho los vectores.

Este es el código que he logrado hacer:

#include <iostream>

using namespace std;

int main(){
cout << "MEMORIA DINAMICA_____________" << endl << endl;

int length;
cout << "Cuantos numeros quieres introducir? " ;
cin >> length;
int* cadena = new int[length];

cout <<endl;
system("PAUSE");
}


Muchas gracias por vuestra ayuda y un saludo...
#3
Hola a tod@, tengo que escribir un programa que lea un número, que indica cuántos números enteros serán guardados en un vector, crear el vector para almacenar el tamaño exacto de los datos y entonces leer los enteros que serán guardados en el vector. Posteriormente se han de mostrar los elementos en orden inverso y liberar la memoria que se ha reservado.

Pero no se como hacerlo, la verdad sea dicha. Me preguntaba si me podrías ayudar de alguna forma como por ejemplo pasándome el código inacabado para que yo lo intente acabar hasta conseguir la resolución del ejercicio.
En otras ocasiones en este foro me habéis ayudado muchísimo.

Un saludo y muchísimas gracias de antemano  :)
#4
Hola a todos, miren tengo que hacer estos estos ejercicio pero no logro que se me quede la programación y ya tengo el tiempo muy justo. Me preguntaba si me podríais ayudar, sois mi ultima baza.

Esto son los ejercicio.


-Ejercicio 1:
Escribir un programa con una función que calcule la longitud de una cadena de
caracteres. El nombre de la función será LongitudCadena, debe devolver un int, y como
parámetro de entrada debe tener un puntero a char.
En esta función no se pueden usar enteros para recorrer el array, usar sólo punteros y
aplicar aritmética de punteros.
En main probar con distintos tipos de cadenas: arrays y punteros.

-Ejercicio 2:
Escribir un programa que lea un número, que indica cuántos números enteros serán
guardados en un vector, crear el vector para almacenar el tamaño exacto de los datos y
entonces leer los enteros que serán guardados en el vector. Posteriormente se han de
mostrar los elementos en orden inverso y liberar la memoria que se ha reservado.

Sobre el ejercicio uno logre hacer esto:

#include <iostream>

using namespace std;

int LongitudCadena(char*);

int main(){
cout << "CALCULAR LONGITUD CADENA_____________" << endl << endl;

cout << "CON ARRAY" << endl;
char cadena[10];
cout << "Introduce una cadena de texto: ";
cin >> cadena;
cout << "La cadena introducida tiene " << LongitudCadena(cadena) << " caracteres" << endl;;
cout <<endl;

cout << "CON PUNTEROS" << endl;
char *cadena2 = new char[10];
cout << "Introduce una cadena de texto: ";
cin >> cadena2;
cout << "La cadena introducida tiene " << LongitudCadena(cadena2) << " caracteres";

cout <<endl;
system("PAUSE");
}

int LongitudCadena(char* cadena){
int longitud = 0;

return longitud;
}

Me salen estos errores:

1>------ Operación Generar iniciada: proyecto: Demo, configuración: Debug Win32 ------
1>Compilando...
1>CPP.cpp
1>c:cpp.cpp(19) : warning C4305: '=' : truncamiento de 'double' a 'float'
1>c:cpp.cpp(25) : error C2065: 'gt' : identificador no declarado
1>c:cpp.cpp(25) : error C2065: 'x' : identificador no declarado
1>El registro de compilación se guardó en el "file://c:Debug\BuildLog.htm"
1>Ejer - 2 errores, 1 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

Muchísimas gracias de antemano a todo el que me ayude y un saludo.