Dev - C++ - Problema con ejercicio del libro "Como programar en c++" de paul deitel 9° edicion

 
Vista:
Imágen de perfil de Maximiliano

Problema con ejercicio del libro "Como programar en c++" de paul deitel 9° edicion

Publicado por Maximiliano (2 intervenciones) el 12/03/2018 14:24:47
Hola buenas estoy haciendo un ejercicio de este libro, el 3.13 y me salen varios errores. El ejercicio enseña a crear un programa de caificaciones para un curso, y ahora la consigna del libro es crear el programa separando el main, el archivo header dividido en dos, la interfaz que contiene los prototipos de funciones y por otra parte las implementaciones de las funciones, osea que serian tres archivos, el main, las implementaciones y la interfaz con los prototipos de funciones, pero al compilar me marca varios errores.

Este es el archivo header llamado LibroCalificaciones.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<string>
//este archivo presenta la interfaz sin revelar
//las implementaciones de sus funciones miembro
 
class LibroCalificaciones
{
      public:
 
             explicit LibroCalificaciones( std::string );
 
             void establecerNombreCurso( std::string );
 
             std::obtenerNombreCurso() const;
 
             void mostrarMensaje() const;
 
             private:
                     std::string nombreCurso;
};



Este archivo se llama LibroCalificaciones.cpp y contiene las implementaciones de las funciones:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include"LibroCalificaciones.h"
//este archivo contiene las implementaciones
using namespace std;
 
 
LibroCalificaciones::LibroCalificaciones( string nombre )
: nombreCurso( nombre )
{
}
 
void LibroCalificaciones::establecerNombreCurso( string nombre)
{
    nombreCurso = nombre;
}
 
string LibroCalificaciones::obtenerNombreCurso() const
{
    return nombreCurso;
}
 
void LibroCalificaciones::mostrarMensaje() const
{
    cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso()
    << "!" << endl;
}


Y este archivo es el main , se llama "Fig03_13.cpp" que deberia ejecutarse sin problemas usando la clase del header llamado "LibroCalificaciones ,h"


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include"LibroCalificaciones.h"
//demostraciond e clase despues de separar
//interfaz de su implementacion
using namespace std;
 
int main()
{
    LibroCalificaciones libroCalificaciones1("CS101 introduccion a la programacion en c++");
    LibroCalificaciones libroCalificaciones2("CS102 Estructura de datos en c++");
 
    cout << "libroCalificaciones1 creado para el curso: "
    <<libroCalificaciones1.obtenerNombreCurso()
    <<"\nlibroCalificaciones2 creado para el curso: "
    << libroCalificaciones2.obtenerNombreCurso()
    << endl;
 
system("PAUSE");
return 0;
}


al compilar me tira estos mensajes, el primero en la linea dos del archivo que contiene el main, parece q hay un error con el archivo header. Y luego me tira errores en la linea 11 del archivo header tambien en la linea de la funcion "void establecerNombreCurso( std::string );"

2 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\Fig03_13.cpp In file included from F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\Fig03_13.cpp

11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h ISO C++ forbids declaration of `obtenerNombreCurso' with no type

11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h invalid use of `::'

11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h `const' and `volatile' function specifiers on `obtenerNombreCurso' invalid in field declaration

11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h field `LibroCalificaciones::obtenerNombreCurso' invalidly declared function type



Espero que me puedan dar una mano, esty tratando de incorporar este lenguaje en mi cabeza y esto la verdad que no lo entiendo.... Desde ya muchas gracais!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con ejercicio del libro "Como programar en c++" de paul deitel 9° edicion

Publicado por Thanatos (199 intervenciones) el 12/03/2018 18:12:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef LIBRO_CALIFICACIONES_HPP
#define LIBRO_CALIFICACIONES_HPP
 
#include <string>
 
class LibroCalificaciones
{
    public:
        explicit LibroCalificaciones(const std::string &);
 
        void establecerNombreCurso(const std::string &);
        std::string obtenerNombreCurso() const;
        void mostrarMensaje();
    private:
        std::string nombreCurso;
};
 
#endif  // LIBRO_CALIFICACIONES_HPP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "LibroCalificaciones.hpp"
#include <iostream>
 
LibroCalificaciones::LibroCalificaciones(const std::string &nombre)
    : nombreCurso(nombre)
{ }
 
void LibroCalificaciones::establecerNombreCurso(const std::string &nombre)
{
    nombreCurso = nombre;
}
 
std::string LibroCalificaciones::obtenerNombreCurso() const
{
    return nombreCurso;
}
 
void LibroCalificaciones::mostrarMensaje()
{
    std::cout << "Bienvenido al libro de calificaciones de "
              << nombreCurso << "!\n";
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "LibroCalificaciones.hpp"
#include <iostream>
 
using namespace std;
 
int main()
{
    LibroCalificaciones libro1("CS101 Introduccion a la programacion en C++");
    LibroCalificaciones libro2("CS102 Estructuras de datos en C++");
 
    cout << "libro1 creado para el curso: "
         << libro1.obtenerNombreCurso()
         <<"\nlibro2 creado para el curso: "
         << libro2.obtenerNombreCurso()
         << endl;
 
    getchar();
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Erick
Val: 57
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con ejercicio del libro "Como programar en c++" de paul deitel 9° edicion

Publicado por Erick (21 intervenciones) el 21/03/2018 18:38:26
Lo que pasa es que no estabas incluyendo librerias, y los identificadores, como toda libreria va, el Dev-C++ tienes que crear una clase o un cabecera y te genera los identificadores como el que modifico aqui y compañer. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar