TODOPIC
Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: dragondgold en 15 de Febrero de 2012, 23:27:33
-
Hola estoy en el camino del aprendizaje con C++. Estoy haciendo un programa simple con clases, como para empezar a practicar por ahora me ha resultado fácil pero no logro compilar el programa :(.
El main.cpp es:
#include <iostream>
using namespace std;
#include "Abecedarios.h"
void menu ()
{
cout << "Ingrese una opcion: " << endl
<< "1 - Insertar letra" << endl
<< "2 - Eliminar letra" << endl
<< "3 - Mostrar" << endl
<< "4 - Terminar" << endl << endl;
}
int main()
{
int opcion;
Abecedarios a;
cout << "Este programa acomoda las letras que el usuario va introduciendo" << endl;
menu();
cin >> opcion;
while(opcion != 4)
{
int opcion;
cin >> opcion;
switch(opcion)
{
case 1:
char c;
cout << "Inserte la letra a agregar" << endl;
cin >> c;
a.InsertarLetra(c);
break;
case 2:
case 3:
a.Mostrar();
break;
}
}
}
El Abecedarios.h que es el header de la clase es:
#ifndef ABECEDARIOS_H
#define ABECEDARIOS_H
class Abecedarios
{
public:
Abecedarios();
void InsertarLetra(char);
void Mostrar();
private:
char Buffer[30];
};
#endif // ABECEDARIOS_H
Y el Abecedarios.cpp de la clase:
#include <iostream>
#include "Abecedarios.h"
Abecedarios::Abecedarios()
{
for(int n = 0;n < 30; ++n)
{
Buffer[n] = 0;
}
}
void Abecedarios::Mostrar()
{
cout << "El buffer contiene: " << Buffer << endl;
}
void Abecedarios::InsertarLetra(char c)
{
int n,count;
for(n = 0;c < Buffer[n] && n < 30;++n);
for(count = 28; count >= n;--count)
{
Buffer[count+1] = Buffer[count];
}
Buffer[n] = c;
}
El compilador me tira el error en Abecedario.cpp diciendo que cout y endl no estan definidos sin embargo ya coloque el #include <iostream> como puede ser ? En el libro también coloca las librerias así y no entiendo por qué no funciona, debería.
Si me pudieran ayudar se los agradecería :)
Muchas gracias y saludos !! :)
-
Te falta el espacio std: using namespace std;
-
Haaaaaaaa muchas gracias !!!!! Era justamente eso te lo agradezco :) A proposito cual es la función de eso ?
-
'using namespace' Hace publico los miembros de un espacio de nombres.
Si tienes varias funciones con el mismo nombre, puedes separarlas en espacios.
Te adjunto un ejemplo. Debes renombrarlo a .cpp, no me permitió subir con esa extensión.
-
Mas claro imposible Fabian muchisimas gracias :)