¿Cómo ejecuto en codeblocks?

Iniciado por noob2012, 21 Mayo 2013, 01:15 AM

0 Miembros y 1 Visitante están viendo este tema.

noob2012

Hola a todos, soy nuevo con este compilador, quería saber qué pasos tengo que seguir para ejecutar estos 3 archivos.

// Fig. 4.8: LibroCalificaciones.h
// Definición de la clase LibroCalificaciones que determina el promedio de una clase.
// Las funciones miembro se definen en LibroCalificaciones.cpp
#include <string> // el programa usa la clase string estándar de C++
using std::string;

// definición de la clase LibroCalificaciones
class LibroCalificaciones
{
public:
   LibroCalificaciones( string ); // el constructor inicializa el nombre del curso
   void establecerNombreCurso( string ); // función para establecer el nombre del curso
   string obtenerNombreCurso(); // función para obtener el nombre del curso
   void mostrarMensaje(); // muestra un mensaje de bienvenida
   void determinarPromedioClase(); // promedia las calificaciones escritas por el usuario
private:
   string nombreCurso; // nombre del curso para este LibroCalificaciones
}; // fin de la clase LibroCalificaciones


// Fig. 4.9: LibroCalificaciones.cpp
// Definiciones de funciones miembro para la clase LibroCalificaciones que resuelve
// el programa del promedio de la clase con repetición controlada por contador.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include "LibroCalificaciones.h" // incluye la definición de la clase LibroCalificaciones

// el constructor inicializa a nombreCurso con la cadena que se suministra como argumento
LibroCalificaciones::LibroCalificaciones( string nombre )
{
   establecerNombreCurso( nombre ); // valida y almacena nombreCurso
} // fin del constructor de LibroCalificaciones

// función para establecer el nombre del curso;
// asegura que el nombre del curso tenga cuando menos 25 caracteres
void LibroCalificaciones::establecerNombreCurso( string nombre )
{
   if ( nombre.length() <= 25 ) // si nombre tiene 25 caracteres o menos
      nombreCurso = nombre; // almacena el nombre del curso en el objeto
   else // si nombre es mayor de 25 caracteres
   { // establece nombreCurso a los primeros 25 caracteres del parámetro nombre
      nombreCurso = nombre.substr( 0, 25 ); // selecciona los primeros 25 caracteres
      cout << "El nombre \"" << nombre << "\" excede la longitud maxima (25).\n"
         << "Se limito nombreCurso a los primeros 25 caracteres.\n" << endl;
   } // fin de if...else
} // fin de la función establecerNombreCurso

// función para obtener el nombre del curso
string LibroCalificaciones::obtenerNombreCurso()
{
   return nombreCurso;
} // fin de la función obtenerNombreCurso

// muestra un mensaje de bienvenida al usuario de LibroCalificaciones
void LibroCalificaciones::mostrarMensaje()
{
   cout << "Bienvenido al libro de calificaciones para \n" << obtenerNombreCurso() << "!\n"
      << endl;
} // fin de la función mostrarMensaje

// determina el promedio de la clase, con base en las 10 calificaciones escritas por el usuario
void LibroCalificaciones::determinarPromedioClase()
{
   int total; // suma de las calificaciones introducidas por el usuario
   int contadorCalif; // nuúmero de la calificación a introducir a continuación
   int calificacion; // el valor de la calificacion introducida por el usuario
   int promedio; // promedio de calificaciones

   // fase de inicialización
   total = 0; // inicializa el total
   contadorCalif = 1; // inicializa el contador del ciclo

   // fase de procesamiento
   while ( contadorCalif <= 10 ) // itera 10 veces
   {
      cout << "Escriba una calificacion: "; // pide la entrada
      cin >> calificacion; // recibe como entrada la siguiente calificación
      total = total + calificacion; // suma la calificación al total
      contadorCalif = contadorCalif + 1; // incrementa el contador por 1
   } // fin de while

   // fase de terminación
   promedio = total / 10; // la división de enteros produce un resultado entero

   // muestra el total y el promedio de las calificaciones
   cout << "\nEl total de las 10 calificaciones es " << total << endl;
   cout << "El promedio de la clase es " << promedio << endl;
} // fin de la función determinarPromedioClase

// Fig. 4.10: fig04_10.cpp
// Crea un objeto LibroCalificaciones e invoca a su función determinarPromedioClase.
#include "LibroCalificaciones.h" // incluye la definición de la clase LibroCalificaciones

int main()
{
   // crea un objeto LibroCalificaciones llamado miLibroCalificaciones y
   // pasa el nombre del curso al constructor
   LibroCalificaciones miLibroCalificaciones( "CS101 Programacion en C++" );

   miLibroCalificaciones.mostrarMensaje(); // muestra el mensaje de bienvenida
   miLibroCalificaciones.determinarPromedioClase(); // busca el promedio de 10 calificaciones
   return 0; // indica que el programa terminó correctamente
} // fin de main

noob2012

#1
Desde ya agradezco la ayuda

leosansan

#2
Cita de: noob2012 en 21 Mayo 2013, 01:18 AM
Desde ya agradezco la ayuda

Creo que aquí te lo aclaranbien:

http://www.elrincondelc.com/nuevorincon/foros/viewtopic.php?t=19908

Saluditos!. ... ..

noob2012


Hice todos los pasos que me indicaste pero me sale error de compilación.



amchacon

"Undefinided reference" significa que no se ha encontrado la implementación de una función. Ergo:

- Te has olvidado de linkar alguna librería (por los nombres me da a mi que no es eso).
- Te has olvidado algun cpp
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

noob2012

Cita de: amchacon en 22 Mayo 2013, 00:29 AM
"Undefinided reference" significa que no se ha encontrado la implementación de una función. Ergo:

- Te has olvidado de linkar alguna librería (por los nombres me da a mi que no es eso).
- Te has
olvidado algun cpp

¿Que librería me pude haber olvidado man?, por favor ayúdame!!!

noob2012

El ejemplo lo saque de un libro, no falta ningun cpp!!, tiene que ser entonces una librería u otra cosa

amchacon

Te digo y te aseguro que esta vez no se refiere a ninguna librería (Que librería tiene una clase LibroCalificaciones?).

Se te ha olvidado añadir un cpp al proyecto de codeblocks (ponerlo en la carpea no vale). Prueba también a darle a "reconstruir todo" (no confundir con compilar).
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

KaL3o

date una pasada por este link, seguramente te ayudara a resolver el problema

http://www.jusuchyne.com/codingchyne/2011/03/codeblocks-failed-to-find-the-header-file/

salu2 :)
Todos los caminos se vuelven a juntar. Pero nunca de la misma forma.