Ir ao conteúdo
  • Cadastre-se
Silvio Costa_755745

Copila no windows e nao copila linux! [C++]

Recommended Posts

Bom dia pessoal , Eu desenvolvi um programa que era de trabalho final da diciplica tudo certinho pelo windows compliando do jeito que eu queria , porém o professor deixou a criterio que tinha que apresentar pelo linux logo que copilei o programa no linux está dando erro, porém sou iniciante em c++ e nao consigo indentificar o erro. O programa era sobre Brasileirao , analisar as rodadas do brasileirao e imprimir a classificação , as rodadas estariam num arquivo texto bastava ler ,manipular a string e imprimir basicamente a tabela do brasileirao.

O programa está em anexo, aguardo ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é segmentation Fault, geralmente ocorre quando alguem tenta acessar um vetor numa posição que da overflow.

Silvio costa, fiz algumas modificações no seu código, não corrigi tudo mas acho que isso já ajuda:

brasileiro ciro.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro está no 2º for da função "void classificacao(Time equipe[])", esse for acaba tentando acessar o vetor na posição -1...

 

solução:
 

for (int k=19; k>0; k--)

Tenho que reconhecer que esse seu código é bem intrigante para mim, não mexo muito com c++, e essas funções que você usou pra acessar os arquivos e manipula-los são bem desconhecidas do meu entendimento. Gosto de ajudar por isso, no meio do processo eu também acabo aprendendo.
.
.
Uma dúvida que tenho é em relação a função "void troca(int j, Time equipes[])", nunca ví quilo antes, pode me falar do que se trata? se é alguma simplificação de if/for/while?
.
.

Um ultimo detalhe e que se você não estiver conseguindo mesmo compilar o programa no linux, coloca todos os arquivos no mesmo diretório e no arquivo main.cpp você troca o include Time.h por Time.cpp

abrass...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde CiroboyBR , A função "void troca(int j, Time equipes[])" acaba passando por parametro um "inteiro" que seria j e tambem passa por parametro uma classe com um objeto que seria "Time equipes[] "
Em a respeito , ler arquivo  foi meu professor que deu um exemplo em aula , me basiei no metodo dele que seria enquanto estiver aberto da um getline que seria ler cada linha do arquivo dps fecha o arquivo.

Bom infelizmente não posso deixar tudo no main por causa que o professor não aceita , tem que ser mais organizado possivel.

Ainda não testei sua modifição pois to sem linux mais logo que chegar na faculdade eu testo mais agradeço pelo feedback! 
 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×