online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
// En aulas: // g++ Cola.cpp -c // g++ TestCola.cpp Cola.o -o TestCola // ./TestCola #include <iostream> using namespace std; #include <cstdlib> // rand #include "Cola.h" int main () { Cola cola; int i; for (i = 11; i < 100; i += 11) { cout << "Insertando " << i << ": Cola = "; cola.encolar(i); cola.mostrar(); cout << endl; } cout << endl; while ( ! cola.estaVacia()) { cout << "Eliminando " << cola.consultarPrimero() << ": Cola = "; cola.desencolar(); cola.mostrar(); cout << endl; int unDatoCualquiera = rand() % 100; cout << "Insertando " << unDatoCualquiera << ": Cola = "; cola.encolar(unDatoCualquiera); cola.mostrar(); cout << endl; cout << "Eliminando " << cola.consultarPrimero() << ": Cola = "; cola.desencolar(); cola.mostrar(); cout << endl; } }
class Cola { struct Nodo { int dato; Nodo * siguiente; Nodo(int); }; Nodo * primero; Nodo * ultimo; public: Cola(); void encolar(int); void desencolar(); int consultarPrimero() const; void mostrar() const; bool estaVacia() const; };
#include <iostream> #include <string> using namespace std; #include "Cola.h" Cola::Nodo::Nodo(int d) : dato{d}, siguiente{nullptr} { } Cola::Cola() : primero{nullptr}, ultimo{nullptr} { } void Cola::encolar(int d) { Nodo * nuevo = new Nodo(d); if (primero == nullptr) // Tambien valdria if (estaVacia()); asi nos ahorramos la llamada primero = nuevo; else ultimo->siguiente = nuevo; ultimo = nuevo; } void Cola::desencolar() { if (primero == nullptr) throw string("Intentando desencolar en una cola vacia"); Nodo * aux = primero; primero = primero->siguiente; delete aux; if (primero == nullptr) ultimo = nullptr; } int Cola::consultarPrimero() const { if (primero == nullptr) throw string("Intentando consultar el primero en una cola vacia"); return primero->dato; } void Cola::mostrar() const { cout << "["; for (Nodo * aux = primero; aux != nullptr; aux = aux->siguiente) { cout << aux->dato; if (aux != ultimo) cout << ", "; } cout << "]"; } bool Cola::estaVacia() const { return primero == nullptr; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue