Ir ao conteúdo
  • Cadastre-se

specter98

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por specter98

  1. Corrigi isso mas mesmo assim ainda da erro , eu tento compilar so os metodos pra ver se o compilador diz algo , aqui esta os metodos corrigidos 

    #include <iostream>
    #include <stdlib.h>
    #include "grade.hpp"
    
    Grade::Grade(){
    int i;
    int j;
    NumLinha = 50;
    NumColuna = 50;
    
    Matriz =(char**)malloc(NumLinha*sizeof(sizeof(char*)));
    
    for(i = 0; i < NumLinha; i++){
    
    Matriz[i] = (char*)malloc(NumColuna*sizeof(char));
    
    }
    
    for(i = 0;i < NumLinha;i++){
    
    for(j = 0; j < NumColuna;j++){
    
    Matriz[i][j] = '-' ;
    
    }
    
    }
    
    }
    
    
    Grade::Grade(int NumLinha , int NumColuna){
    int i;
    int j;
    this->NumLinha = NumLinha;
    this->NumColuna = NumColuna;
    
    
    Matriz =(char**)malloc(NumLinha*sizeof(sizeof(char*)));
    
    for(i = 0; i < NumLinha; i++){
      Matriz[i] = (char*)malloc(NumColuna*sizeof(char));
    
    }
    
    for(i = 0;i < NumLinha;i++){
    
    for(j = 0; j < NumColuna;j++){
    
    Matriz[i][j] = '-' ;
    
    }
    
    }
    
    }
    
    
    Grade::~Grade(){
    
    free(Matriz);
    
    Matriz=NULL;
    
    }
    
    
    int Grade::getNumLinha(){
    
    return NumLinha;
    
    }
                          
     int Grade::getNumColuna(){
    
    return NumColuna;
    
    }
    
    int Grade::getCoordenadaX(){
    
    return CoordenadaX;
    
    }
    
    void Grade::setCoordenadaX(int CoordenadaX){
    
    this->CoordenadaX = CoordenadaX;
    
    }
    
    
    int Grade::getCoordenadaY(){
    
    return CoordenadaY;
    
    }
    
    void Grade::setCoordenadaY(int CoordenadaY){
    
    this->CoordenadaY = CoordenadaY;
    
    }
                           
    void Grade::ReviveCelula()
    {
    int i;
    char Parada;
    cout << "Insira as coordenadas inicias" << endl;
    
    do{
    
    while(i < 10)
    {
    
     cout << "Linha: "<< endl;
     setCoordenadaX(CoordenadaX);
    
     cout << "Coluna: "<<endl;
     setCoordenadaY(CoordenadaY);
    
    if((getCoordenadaX()*getCoordenadaY()) < (NumLinha*NumColuna))
    {
    
     Matriz[getCoordenadaX()][getCoordenadaY()]='+' ;
    
    }else {
    
    cout << "Coordenada invalida" << endl;
    
    }
    
    i++;
    
    }
    cout << "Continuar inserindo novas coordenadas?" << endl;
    cout << "Digite S ou N" << endl;
    cin >> Parada ;
    
    }while(Parada !='N');
    
    }
    
           

    .CPP  

     

    e  o erro que aparece e esse :

     

    /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: na função `_start':
    (.text+0x20): referência indefinida para `main'
    collect2: error: ld returned 1 exit status

     

    • Curtir 1
  2. .HPP

    :

    #ifndef GRADE_HPP
    #define GRADE_HPP
    using namespace std;
    class Grade {
        private:
            char **Matriz;
            int CoordenadaX;
            int CoordenadaY;
            int NumLinha;
            int NumColuna;
    
        public:
            Grade();
            Grade(int NumLinha, int NumColuna);
            ~Grade();
            int getNumLinha();
            int getNumColuna();
            int  getCoordenadaX();
            void setCoordenadaX(int CoordenadaX);
            int  getCoordenadaY();
            void setCoordenadaY(int CoordenadaY);
            void ReviveCelula();
    };
    
    #endif


    @TYSQUARE89

    adicionado 26 minutos depois
    #include <iostream>
    #include <stdlib.h>
    #include "grade.hpp"
    
    Grade::Grade(){
    int i;
    int j;
    NumLinha = 50;
    NumColuna = 50;
    
    Matriz =(char**)malloc(NumLinha*sizeof(sizeof(char*)));
    
    for(i = 0; i < NumLinha; i++){
    
    Matriz[i] = (char*)malloc(NumColuna*sizeof(char));
    
    }
    
    for(i = 0;i < NumLinha;i++){
    
    for(j = 0; j < NumColuna;j++){
    
    Matriz[i][j] = '-' ;
    
    }
    
    }
    
    }
    
     Grade::Grade(int NumLinha , int NumColuna){
    int i;
    int j;
    this->NumLinha = NumLinha;
    this->NumColuna = NumColuna;
    
    
    Matriz =(char**)malloc(NumLinha*sizeof(sizeof(char*)));
    
    for(i = 0; i < NumLinha; i++){
    
    Matriz[i] = (char*)malloc(NumColuna*sizeof(char));
    
    }
    
    for(i = 0;i < NumLinha;i++){
    
    for(j = 0; j < NumColuna;j++){
    
    Matriz[i][j] = '-' ;
    
    }
    
    }
    
    }
    
    
    Grade::~Grade(){
    
    free(Matriz);
    
    Matriz=NULL;
    
    }
    
                                  
     int Grade::getNumlinha(){
    
    return NumLinha;
    
    }
    
    int Grade::getNumColuna(){
    
    return NumColuna;
    
    }
    
    int Grade::getCoordenadaX(){
    
    return CoordenadaX;
    
    }
    
    void Grade::setCoordenadaX(int CoordenadaX){
    
    this->CoordenadaX = CoordenadaX;
    
    }
    
     
    
    int Grade::getCoordenadaX(){
    
    return CoordenadaY;
    
    }
    
    void Grade::setCoordenadaY(int CoordenadaY){
    
    this->CoordenadaY = CoordenadaY;
    
    }
    
    
    
     

    .CPP

    adicionado 27 minutos depois
    #ifndef GRADE_HPP
    #define GRADE_HPP
    
    using namespace std;
    
    class Grade {
    
        private:
            char **Matriz;
            int CoordenadaX;
            int CoordenadaY;
            int NumLinha;
            int NumColuna;
    
    
        public:
    
            Grade();
            Grade(int NumLinha, int NumColuna);
            ~Grade();
            int getNumLinha();
            int getNumColuna();
            int  getCoordenadaX();
            void setCoordenadaX(int CoordenadaX);
            int  getCoordenadaY();
            void setCoordenadaY(int CoordenadaY);
            void ReviveCelula();
    
    };
    
    
    
    
    #endif

    .HPP

  3. Quando eu tento compilar só os metodos da classe da um erro :

    Codigo:

    #include <iostream>
    #include <stdlib.h>
    #include "grade.hpp"
    Grade::Grade(){
    int i;
    int j;
    NumLinha = 50;
    NumColuna = 50;
    Matriz =(char**)malloc(NumLinha*sizeof(sizeof(char*)));
    for(i = 0; i < NumLinha; i++){
    Matriz = (char*)malloc(NumColuna*sizeof(char));
    }
    for(i = 0;i < NumLinha;i++){
    for(j = 0; j < NumColuna;j++){
    Matriz[j] = '-' ;
    }
    }
    }

     

    Erro:

    /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: na função `_start':
    (.text+0x20): referência indefinida para `main'
    collect2: error: ld returned 1 exit status
     

    fiz uma main simples so pra testar , e piora

    inclue <iostream>
    #include "grade.cpp"
    using namespace std;
    int main()
    {
    Grade grade1;
    return 0;
    }


     

    erro:

     

    /tmp/ccFd2GKV.o: na função `Grade::Grade()':
    grade.cpp:(.text+0x0): múltipla definição de `Grade::Grade()'
    /tmp/cceMo1wz.o:main.cpp:(.text+0x0): definido primeiramente aqui
    /tmp/ccFd2GKV.o: na função `Grade::Grade()':
    grade.cpp:(.text+0x0): múltipla definição de `Grade::Grade()'
    /tmp/cceMo1wz.o:main.cpp:(.text+0x0): definido primeiramente aqui
    /tmp/cceMo1wz.o: na função `main':
    main.cpp:(.text+0x111): referência indefinida para `Grade::~Grade()'
    collect2: error: ld returned 1 exit status
     

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...