Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Mensagens - kupfernikel

Páginas: [1]
1
ok, foi mal o link das imagens, estou no trabalho agora mas assim que chegar em casa vou editar esse post botando o código! Primeira postagem aqui, desculpa o erro de noob heheh.

Estou tentando fazer uma pilha.

Ai vai todos os codigos:

Dado.h
Código: [Selecionar]
#ifndef _DADO_H_
#define _DADO_H_


class Dado {
int  a;
public:

Dado () {a = 0;};
~Dado () {};
int getDado(){return a;};
void setDado(int b){a=b;};
};
#endif


Node.h
Código: [Selecionar]
#ifndef _NODE_H_
#define _NODE_H_
#include "Dado.h"

class Node {
private:
Dado d;
public:
Node * Next;
Node() {};
~Node() {};
static Node * montaNo (Dado _D);
static Dado desmontaNo (Node * _P);
void setDado (Dado _pD);
void setNode (Node *_ptr_Next);
};
#endif

Node.cpp
Código: [Selecionar]
#include "Node.h"

Node * Node::montaNo (Dado _D) {
Node * P = new Node;
if (P) {
P -> d = _D;
P -> Next = NULL;
}
return P;
}

Dado Node::desmontaNo (Node * _P) {
Dado D = _P -> d;
delete _P;
return D;
}

/*
void Node::setDado (Dado _pD) {
d = _pD;
}

void Node::setNode (Node *_ptr_Next) {
Node::Next = _ptr_Next;
}*/
Stack.h
Código: [Selecionar]
#ifndef _STACK_H_
#define _STACK_H_
#include "Node.h"
#include "Dado.h"
#include <iostream>

class Stack {
private:
Node * TOP;
public:
bool Push(Dado D);
Dado * Pop();
Stack() {TOP = NULL; };
~Stack() {};
//bool TaVazia(int *Top);
//void setTop(int *pTop);
};
#endif

Stack.cpp
Código: [Selecionar]
#include "Stack.h"

bool Stack::Push (Dado D) {
Node * P = Node::montaNo(D);
if (P) { // if (P != NULL); if (P != 0)
P -> Next = TOP;
TOP = P;
return true;
}
return false;
}

Dado * Stack::Pop () {
if (TOP) {
Node * P = TOP;
TOP = P -> Next; //TOP -> Next;
Dado * D = new Dado;
* D = Node::desmontaNo(P);
return D;
}
return NULL;
}

Main.cpp
Código: [Selecionar]
#include <iostream>
#include "Stack.h"
using namespace std;


int main () {
int a;
cout << "Digite os dados: \n";
cin >> a;
Dado A;

A.setDado(a);
Stack Pilha;
cout<<A.getDado()<<endl;

Pilha.Push(A);


return 0;
}

E por ultimo o terminal, o erro e o comando que usei :
Código: [Selecionar]
rafael@rafael-HP:~/prog/Pilha$ g++ main.cpp -o main
/tmp/ccflRrpA.o: In function `main':
main.cpp:(.text+0xa2): undefined reference to `Stack::Push(Dado)'
collect2: ld returned 1 exit status

Obs, usando o GCC acontece isso

Código: [Selecionar]
rafael@rafael-HP:~/prog/Pilha$ gcc main.cpp -o main
/tmp/cckWDduQ.o: In function `main':
main.cpp:(.text+0x15): undefined reference to `std::cout'
main.cpp:(.text+0x1a): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
main.cpp:(.text+0x29): undefined reference to `std::cin'
main.cpp:(.text+0x2e): undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
main.cpp:(.text+0x71): undefined reference to `std::cout'
main.cpp:(.text+0x76): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
main.cpp:(.text+0x7e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
main.cpp:(.text+0x86): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
main.cpp:(.text+0xa2): undefined reference to `Stack::Push(Dado)'
/tmp/cckWDduQ.o: In function `__static_initialization_and_destruction_0(int, int)':
main.cpp:(.text+0x127): undefined reference to `std::ios_base::Init::Init()'
main.cpp:(.text+0x12c): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cckWDduQ.o:(.eh_frame+0xeb): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

2
Ola.
Sou estudante de ciencia da computação e a pouco tempo estou usando ubuntu 12.04 para fazer os trabalhos de programação. O problema é que não estou conseguindo compilar um programa de maneira alguma na minha maquina, mas ele funcionou na maquina do laboratorio de informatica da faculdade! O erro e os codigos estao na imagem abaixo:

http://imgur.com/a/8BdKQ

O codigo esta dois comentarios abaixo

Páginas: [1]