ler arquivo [RESOLVIDO]

13. Re: ler arquivo [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 21/02/2023 - 21:30h

alexabolada escreveu:

A diferença semântica entre as declarações ?int main()? e ?int main(void)? é que a primeira aceita argumentos enquanto a segunda não aceita. No C, se a declaração ?int main()? é omitida, é assumido que a função aceitará 0 argumentos; já no C++, se a declaração ?int main()? é omitida, é assumido que a função aceita ?argc? e ?argv? como argumentos padrão. Em ambos os casos, a função ?main()? pode ser chamada sem argumentos quando a declaração ?int main(void)? é usada (desde que seja especificamente definida). Porém, é importante notar que a linguagem C++ não suporta a declaração ?main(void)? como argumentos definidos. A informação foi coletada na documentação do compilador GNU GCC (https://gcc.gnu.org/onlinedocs/gcc/Lab-1.html).


Infelizmente, acho que essa resposta foi confusa e errônea.

A resposta correta é que, em C, a declaração "int main(void)" implica que a função "main" não recebe argumentos, ao passo que "int main()" significa que o compilador pode considerar que a função pode receber uma quantidade qualquer de argumentos de quaisquer tipos; já em C++, as duas declarações são completamente equivalentes, significando que a função não recebe argumentos, mas a forma "int main()" é preferível por sua brevidade. A menção a omissão de declaração é incorreta tanto em C quanto em C++ (ou então a explicação veio com erro de tradução; essa informação estava originalmente em outro idioma?).

A informação de que “C++ não suporta ‘main(void)’ como argumentos definidos” é difícil de entender. Ela também é fruto de tradução? A omissão do tipo de retorno realmente não é permitido em C++, mas tal omissão não era objeto das perguntas feitas.

Port fim, a URL indicada não é válida, e a tentativa de acesso a ela produz erro de documento não encontrado.



... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


  


14. Re: ler arquivo [RESOLVIDO]

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 21/02/2023 - 21:30h

A resposta correta é que, em C, a declaração "int main(void)" implica que a função "main" não recebe argumentos, ao passo que "int main()" significa que o compilador pode considerar que a função pode receber uma quantidade qualquer de argumentos de quaisquer tipos; já em C++, as duas declarações são completamente equivalentes, significando que a função não recebe argumentos, mas a forma "int main()" é preferível por sua brevidade. A menção a omissão de declaração é incorreta tanto em C quanto em C++ (ou então a explicação veio com erro de tradução; essa informação estava originalmente em outro idioma?).

A informação de que ?C++ não suporta `main(void)` como argumentos definidos? é difícil de entender. Ela também é fruto de tradução? A omissão do tipo de retorno realmente não é permitido em C++, mas tal omissão não era objeto das perguntas feitas.

Por fim, a URL indicada não é válida, e a tentativa de acesso a ela produz erro de documento não encontrado.


15. Re: ler arquivo [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 22/02/2023 - 08:23h

Boot32 escreveu:

bom, acho melhor então parar de ler esse pdf, já que está me ensinando ao contrario do correto


Tem o link do PDF, para que eu possa olhar em linhas gerais?

Mas, pelo que você mostrou, tem esse esses problemas (tipo incorreto da variável, assinatura de main fora do padrão) e mais o uso de aspas inglesas ( e , caracteres com códigos Unicode U+201C e U+201D, respectivamente) em vez de aspas simples (", código ASCII 34 e Unicode U+0022) como delimitadores de strings (possivelmente porque ao transcrever para o Word, ele fez a substituição estilística típica) e o famigerado uso de system("pause"). Num bloco tão pequeno, chega a ser preocupante essa quantidade de problemas.

Contudo, em defesa do autor do PDF, tenho a dizer que o erro no tipo da variável é infelizmente muito comum, e acaba sendo reproduzido por imitação por parte de recém-chegados ao mundo da programação em C e se perpetuando quando esses outrora recém-chegados tentam, de boa vontade e boa fé, passar o conhecimento que receberam a diante. É importante quebrar esse ciclo de informação errônea.



... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


16. Re: ler arquivo [RESOLVIDO]

Ricardo
Boot32

(usa Debian)

Enviado em 22/02/2023 - 14:01h

paulo1205 escreveu:

Boot32 escreveu:

bom, acho melhor então parar de ler esse pdf, já que está me ensinando ao contrario do correto


Tem o link do PDF, para que eu possa olhar em linhas gerais?

Mas, pelo que você mostrou, tem esse esses problemas (tipo incorreto da variável, assinatura de main fora do padrão) e mais o uso de aspas inglesas ( e , caracteres com códigos Unicode U+201C e U+201D, respectivamente) em vez de aspas simples (", código ASCII 34 e Unicode U+0022) como delimitadores de strings (possivelmente porque ao transcrever para o Word, ele fez a substituição estilística típica) e o famigerado uso de system("pause"). Num bloco tão pequeno, chega a ser preocupante essa quantidade de problemas.

Contudo, em defesa do autor do PDF, tenho a dizer que o erro no tipo da variável é infelizmente muito comum, e acaba sendo reproduzido por imitação por parte de recém-chegados ao mundo da programação em C e se perpetuando quando esses outrora recém-chegados tentam, de boa vontade e boa fé, passar o conhecimento que receberam a diante. É importante quebrar esse ciclo de informação errônea.



... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)



17. Re: ler arquivo [RESOLVIDO]

Ricardo
Boot32

(usa Debian)

Enviado em 22/02/2023 - 14:05h

eu não uso system("pause");
quando executo programas eu faço pelo prompt, desse jeito o programa não some depois de fechar, os dados ficam até eu fechar o prompt


18. Re: ler arquivo [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 23/02/2023 - 18:14h

Boot32 escreveu:

aqui está: [URL suprimida]
o problema está na pagina 251


Não se trata de uma apostila, mas sim de um livro. Se esse livro não estiver em domínio público, então não convém postar esse URL. Por favor, edite sua postagem e remova-o.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


19. Re: ler arquivo [RESOLVIDO]

Ricardo
Boot32

(usa Debian)

Enviado em 23/02/2023 - 18:43h


paulo1205 escreveu:

Boot32 escreveu:

aqui está: [URL suprimida]
o problema está na pagina 251


Não se trata de uma apostila, mas sim de um livro. Se esse livro não estiver em domínio público, então não convém postar esse URL. Por favor, edite sua postagem e remova-o.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


E então, vc pelo menos leu a parte do problema do livro?


20. Re: ler arquivo [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 24/02/2023 - 05:06h

Tem vários problemas ao longo do livro inteiro: várias instâncias dos mesmos problemas apontados acima, questões de terminologia diferente do usual, uma certa confusão de conceitos (por exemplo: entre biblioteca e cabeçalhos) e várias outras.

E isso eu pude ver mesmo sem olhar muito a fundo, até porque eu fiquei muito desconfortável ao perceber que poderia se tratar de um livro pirata, e não quis prosseguir na leitura.

Pelo que consegui achar na Internet acerca do livro e do autor, ele parece ser professor universitário em Uberlândia, e o livro possivelmente surgiu como material de aula. Por um lado, isso é bem legal. Contudo, é uma pena que haja tantos problemas de forma e de conteúdo justamente no material que está sendo usado para introduzir novos alunos ao mundo da computação e da programação, pois é muito mais difícil se livrar da informação errada quando ela é usada na nossa formação básica.

Parece que há uma versão nova do livro, contudo, à venda na Amazon (https://www.amazon.com.br/Linguagem-C-ANDR%C3%89-BACKES/dp/8535291067?asin=B07K27L496&revisionId...) e outros sites. Gostaria de dizer que melhorou na nova edição mas, pelo que o on-line preview deixa ver, infelizmente não parece ser o caso.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


21. Re: ler arquivo [RESOLVIDO]

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 24/02/2023 - 17:48h

paulo1205 escreveu:

Pelo que consegui achar na Internet acerca do livro e do autor, ele parece ser professor universitário em Uberlândia, e o livro possivelmente surgiu como material de aula. Por um lado, isso é bem legal. Contudo, é uma pena que haja tantos problemas de forma e de conteúdo justamente no material que está sendo usado para introduzir novos alunos ao mundo da computação e da programação, pois é muito mais difícil se livrar da informação errada quando ela é usada na nossa formação básica.

Isso é mais comum do que se pensa, Paulo. Eu mesmo fiz faculdade (uma universidade pública estadual) onde o professor tinha essas manias ruins com a linguagem, como o famigerado uso de system("pause"). Acho que é daquele tipo de coisas que ninguém mais faz julgamento e apenas aceita porque é o professor que tá ensinando.

Uma vez achei sem querer um livro que foi escrito por um dos melhores professores da minha ex-faculdade, lá no livro ele criou um header que traduzia todos os comandos (if, while, for, etc) para macros em português. Por exemplo: #define if se (não apenas um mas um monte de outros comandos). Dai o leitor era incentivado programar em português.
Simplesmente um dos livro mais estranhos que já vi sobre programação. O que me admira é que nenhuma pessoa teve a sinceridade de dizer o quão ridículo era isso, mas mesmo assim tá lá o livro escrito (que não vou dizer o nome por questão de educação).

Eu conheço esse professor e ele é gente finíssima e acredito que ele fez isso com boa intenção, mas infelizmente foi mal visto e diversos comentários sobre o livro dele vê-se criticas contra esses e outros mal hábitos ensinados pelo livro.

https://nerdki.blogspot.com/ acessa ai, é grátis
Não gostou? O ícone da casinha é serventia do site!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts