Pablo Kevin Postado Agosto 17, 2016 Denunciar Share Postado Agosto 17, 2016 Galera, eu queria aprender a programar e gostaria de começar com a linguagem C. Eu posso aprender logica com a linguagem C ou tenho que estudar os conceitos de logica separadamente pra depois partir pro C?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 18, 2016 Denunciar Share Postado Agosto 18, 2016 O fato é que você pode começar diretamente com o linguagem que mais gostar. Eu mesmo comecei por C++ e de forma autodidata. Busque um bom livro de C e melhor ainda veja vídeos... vários deles. Agora se quiser aprender lógica primeiro é coisa sua. ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 18, 2016 Autor Denunciar Share Postado Agosto 18, 2016 15 horas atrás, vangodp disse: O fato é que você pode começar diretamente com o linguagem que mais gostar. Eu mesmo comecei por C++ e de forma autodidata. Busque um bom livro de C e melhor ainda veja vídeos... vários deles. Agora se quiser aprender lógica primeiro é coisa sua. ;) Primeiramente, Muito obrigado pela resposta! amigo, você conhece algum livro bom pra me ajudar? se possível, que tenha download dele gratuito =) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 18, 2016 Denunciar Share Postado Agosto 18, 2016 Outro dia encontrei esse daqui: http://www.inf.ufpr.br/lesoliveira/download/c-completo-total.pdf Porem não sei se é bom. Certamente você aprenderá bastante dele, talvez algumas coisas estejam desatualizadas, mas se acompanhar fóruns de programação rapidamente você se dará conta. Prove vídeos conjuntamente por youtube. La tem bons canais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 19, 2016 Autor Denunciar Share Postado Agosto 19, 2016 Em 18/08/2016 at 18:36, vangodp disse: Outro dia encontrei esse daqui: http://www.inf.ufpr.br/lesoliveira/download/c-completo-total.pdf Porem não sei se é bom. Certamente você aprenderá bastante dele, talvez algumas coisas estejam desatualizadas, mas se acompanhar fóruns de programação rapidamente você se dará conta. Prove vídeos conjuntamente por youtube. La tem bons canais. Mano, eu estou vendo alguns vídeo no youtube e to lendo essa apostila :http://www2.dcc.ufmg.br/disciplinas/pc/source/introducao_c_renatocm_deeufmg.pdf é boa? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 20, 2016 Denunciar Share Postado Agosto 20, 2016 Cara! Sou totalmente contra qualquer livro que inclua getch no seu conteúdo. Mas admito que você tenha que aprender o que é... para nunca mais usa-lo. >_< Procure sempre usar funções da biblioteca padrão. Razões? Simples! Se funciona no windows, não vai funcionar no linux, se funciona no linux, não funciona no windows.... tudo o que não for padrão faz com que você seja "prisioneiro" de um só sistema operativo. você já se perguntou se um dia seu programa tiver umas... sei lá, 20 mil linhas ou mais, e tiver vários getch no meio, dai esse programa vai rodar só no windows, por que getch não é padrão. E se você quiser usar seu programa no Linux? Toca repassar as 20 mil linhas para substituir getch por getchar, já que getchar faz parte do C padrão, e getch não. Sem contar outras muitas funções que você pode usar por "conveniência" que en realidade te encadeiam a um só sistema operativo. Quer um conselho? Esqueça conio.h! Aprenda se quiser... para saber do que se trata, mas não faça muito esforço por usar. Posso lhe dizer que programadores de nível elevado são todos contra o uso de bibliotecas não padrão. O que você quer ser? Um programador mequetrefe? Ou um autentico programador que domine o linguagem? Nem vou passar do conio para abaixo, se no inicio explica que getch é mais amplamente usado no windows, imagina as besteiras que vai dizer mais embaixo >_<. Certamente você aprenderá muita coisa útil, mas como tudo, tem coisas que sim, e coisas que não deveria usar. Como você deverá já ter visto, C/C++ são linguagens muito antigos, dai que você programa no console, você tem a saída e entrada padrão por console, etc. C/C++ são linguagens de programadores realmente monstros, não é javinha não >_<, no java você erra algo e o programa vai logo avisando, em C você erra e você fode o computador kkk. Tá... to exagerando, mais não espere que o compilador te resolva todos os erros, o único que o compilador vai te dar é "pistas" sobre o erro. Pense em uma bicicleta... java é uma bicicleta com rodinhas, C++ é isso: Se você erra sua mãe não vai tar lá pra te consolar kkkk. Bom... continuando. C/C++ foram amadurecendo tambem com o passo dos anos, algumas coisas já não se deveriam usar, como por exemplo "goto", o fato de que se mantenha no linguagem é para dar uma "retro compatibilidade". Que passaria se o criador do linguagem eliminara alguns códigos que já não o considerasse necessários? Pois que não poderia se continuar dando suporte a programas antigos. (ºoº) Por esse motivo se tenta não eliminar partes da linguagem, porem algumas vezes você verá a palavra "deprecated" que quer dizer "não recomendado", outras vezes não verás nada, quando isso acontecer um dos motivos pode ser que a comunidade de programadores já não o considera útil, mas aí o que acontece é que não todos estão de acordo em algo, alguns vão lhe dizer que use e outros que não use, sinceramente eu perguntaria por quê, e o fato do por quê de não usar o getch é a "portabilidade". você considera importante a portabilidade? você gostaria que seu programa funcionasse em todos os sistemas operativos, ou só no windows? Pense nisso antes de usar algo não padrão. Mas como digo sempre.... errar também é aprender. Recomendaria você buscar no google "por quê não usar getch" ou melhor ainda "por quê não usar conio.h" Esse post por exemplo não fala sobre getch, porem getch não é a unica coisa que andam ensinando mal, tem muitas outras coisas que ensinam fatal. Tem esse link... te vai ser muito util: http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/ Para aprender bem lhe recomendo você ser um "rato de fóruns", roer as duvidas que tem outros usuários te fazem mais forte. Pense que minha duvida é sua duvida. A diário se apresentam perguntas de novatos, aí é onde mais se aprende, porque você pode ver as soluções de programadores mais experimentados. Eu por exemplo sou usuário ativo de mais de 10 fóruns, e não é fazendo perguntas não, se não respondendo. Quando um usuário tem um problema, muitas vezes eu nem sei a resposta, más se eu achar conveniente, ainda que o problema não seja meu, eu vou ao google e busco uma resposta pra ensinar o usuário. Sabe por quê? Porque eu aprendo! tem gente que acha que vai ler um livro e já tá... tudo beleza. Eu já voltei a aprender a mesma coisa umas 10 vezes ou mais. Constantemente volto para ler coisas como printf, scanf e coisas que aprendi nos primeiros dias já faz mais de 4 anos. Primeiro que não tenho um servidor na cabeça, esqueço com relativa facilidade das coisas, algumas funções são complicadas de usar, por muito pro que você seja você precisa ir a paginas como cplusplis.com a diário, para ver como funciona, que valores recebe, que valores retorna, etc. Não tema ler um livro e esse livro ser uma "autentica merda", porque você terá que ler muitos livros, você terá que ver vídeos sobre printf de vários youtubers, porque cada um deles explica algo que outro não explicou. Em definitiva... se quiser ser programador, você irá aprender C/C++ até o dia da sua morte, pode estar certo disso. Para aprender a ser um bom programador use os foruns. Certamente você não conhece as perguntas corretas para ser um bom programador, mas os noobs sim as conhecem, e os pros conhecem as respostas, o único lugar para vc "trocar" experiências é nos fóruns. Assim que recorde isso: while ( programador != morreu ){ Programador = pdfs+videos+foruns+cplusplus.com+google; experiencia++; } ;) Compare o aprendido com outras fontes. Assim você saberá se o que está aprendendo é bom ou não. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 20, 2016 Autor Denunciar Share Postado Agosto 20, 2016 (editado) 1 hora atrás, vangodp disse: Cara! Sou totalmente contra qualquer livro que inclua getch no seu conteúdo. Mas admito que você tenha que aprender o que é... para nunca mais usa-lo. >_< Procure sempre usar funções da biblioteca padrão. Razões? Simples! Se funciona no windows, não vai funcionar no linux, se funciona no linux, não funciona no windows.... tudo o que não for padrão faz com que você seja "prisioneiro" de um só sistema operativo. você já se perguntou se um dia seu programa tiver umas... sei lá, 20 mil linhas ou mais, e tiver vários getch no meio, dai esse programa vai rodar só no windows, por que getch não é padrão. E se você quiser usar seu programa no Linux? Toca repassar as 20 mil linhas para substituir getch por getchar, já que getchar faz parte do C padrão, e getch não. Sem contar outras muitas funções que você pode usar por "conveniência" que en realidade te encadeiam a um só sistema operativo. Quer um conselho? Esqueça conio.h! Aprenda se quiser... para saber do que se trata, mas não faça muito esforço por usar. Posso lhe dizer que programadores de nível elevado são todos contra o uso de bibliotecas não padrão. O que você quer ser? Um programador mequetrefe? Ou um autentico programador que domine o linguagem? Nem vou passar do conio para abaixo, se no inicio explica que getch é mais amplamente usado no windows, imagina as besteiras que vai dizer mais embaixo >_<. Certamente você aprenderá muita coisa útil, mas como tudo, tem coisas que sim, e coisas que não deveria usar. Como você deverá já ter visto, C/C++ são linguagens muito antigos, dai que você programa no console, você tem a saída e entrada padrão por console, etc. C/C++ são linguagens de programadores realmente monstros, não é javinha não >_<, no java você erra algo e o programa vai logo avisando, em C você erra e você fode o computador kkk. Tá... to exagerando, mais não espere que o compilador te resolva todos os erros, o único que o compilador vai te dar é "pistas" sobre o erro. Pense em uma bicicleta... java é uma bicicleta com rodinhas, C++ é isso: Se você erra sua mãe não vai tar lá pra te consolar kkkk. Bom... continuando. C/C++ foram amadurecendo tambem com o passo dos anos, algumas coisas já não se deveriam usar, como por exemplo "goto", o fato de que se mantenha no linguagem é para dar uma "retro compatibilidade". Que passaria se o criador do linguagem eliminara alguns códigos que já não o considerasse necessários? Pois que não poderia se continuar dando suporte a programas antigos. (ºoº) Por esse motivo se tenta não eliminar partes da linguagem, porem algumas vezes você verá a palavra "deprecated" que quer dizer "não recomendado", outras vezes não verás nada, quando isso acontecer um dos motivos pode ser que a comunidade de programadores já não o considera útil, mas aí o que acontece é que não todos estão de acordo em algo, alguns vão lhe dizer que use e outros que não use, sinceramente eu perguntaria por quê, e o fato do por quê de não usar o getch é a "portabilidade". você considera importante a portabilidade? você gostaria que seu programa funcionasse em todos os sistemas operativos, ou só no windows? Pense nisso antes de usar algo não padrão. Mas como digo sempre.... errar também é aprender. Recomendaria você buscar no google "por quê não usar getch" ou melhor ainda "por quê não usar conio.h" Esse post por exemplo não fala sobre getch, porem getch não é a unica coisa que andam ensinando mal, tem muitas outras coisas que ensinam fatal. Tem esse link... te vai ser muito util: http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/ Para aprender bem lhe recomendo você ser um "rato de fóruns", roer as duvidas que tem outros usuários te fazem mais forte. Pense que minha duvida é sua duvida. A diário se apresentam perguntas de novatos, aí é onde mais se aprende, porque você pode ver as soluções de programadores mais experimentados. Eu por exemplo sou usuário ativo de mais de 10 fóruns, e não é fazendo perguntas não, se não respondendo. Quando um usuário tem um problema, muitas vezes eu nem sei a resposta, más se eu achar conveniente, ainda que o problema não seja meu, eu vou ao google e busco uma resposta pra ensinar o usuário. Sabe por quê? Porque eu aprendo! tem gente que acha que vai ler um livro e já tá... tudo beleza. Eu já voltei a aprender a mesma coisa umas 10 vezes ou mais. Constantemente volto para ler coisas como printf, scanf e coisas que aprendi nos primeiros dias já faz mais de 4 anos. Primeiro que não tenho um servidor na cabeça, esqueço com relativa facilidade das coisas, algumas funções são complicadas de usar, por muito pro que você seja você precisa ir a paginas como cplusplis.com a diário, para ver como funciona, que valores recebe, que valores retorna, etc. Não tema ler um livro e esse livro ser uma "autentica merda", porque você terá que ler muitos livros, você terá que ver vídeos sobre printf de vários youtubers, porque cada um deles explica algo que outro não explicou. Em definitiva... se quiser ser programador, você irá aprender C/C++ até o dia da sua morte, pode estar certo disso. Para aprender a ser um bom programador use os foruns. Certamente você não conhece as perguntas corretas para ser um bom programador, mas os noobs sim as conhecem, e os pros conhecem as respostas, o único lugar para vc "trocar" experiências é nos fóruns. Assim que recorde isso: while ( programador != morreu ){ Programador = pdfs+videos+foruns+cplusplus.com+google; experiencia++; } ;) Compare o aprendido com outras fontes. Assim você saberá se o que está aprendendo é bom ou não. Caraca mano, valeu pelas Dica. então as melhores biblioteca sempre serão as padrão? mano, depois me da mais algumas dica, se possível! Obrigado!! Editado Agosto 20, 2016 por Pablo Kevin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 20, 2016 Denunciar Share Postado Agosto 20, 2016 Ser padrão o único que garante é que seu programa será portável, não sinônimo de de qualidade. Essa função getch... compare com getchar que é a padrão, diga em que difere uma da outra. Acha que são iguais? Fazem a mesma coisa? Prove as duas e diga aqui o que você acha. Certamente uma é mais interessante que outra en algum aspecto, a ver se descobre. >_< Dicas existem muitas, porem cada uma tem sua hora, todas elas você irá vendo conforme avançar nos seus estudos diários. Meu conselho é... aprenda pelo menos algo novo todos os dias, não durma sem aprender alguma coisa nova sobre seu linguagem. Ah! E guarde tudo o que for fazendo a modo de consulta, faça uma pasta chamada C, dentro ponha coisas tipo outra pasta e a chame de "saída padrão", dentro ponha tudo sobre printf, especificadores de formato, etc, logo "entrada padrão", faça o mesmo com scanf, "tipos de dados", ponha dentro como fazer declarações, atribuições, etc, operadores... Assim você irá criando uma boa coleção de códigos ao que você poderá fazer consultas rapidamente, e dentro de uns anos você irá rir muito dos primeiros códigos que você fez. >_< =) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 20, 2016 Autor Denunciar Share Postado Agosto 20, 2016 10 horas atrás, vangodp disse: Ser padrão o único que garante é que seu programa será portável, não sinônimo de de qualidade. Essa função getch... compare com getchar que é a padrão, diga em que difere uma da outra. Acha que são iguais? Fazem a mesma coisa? Prove as duas e diga aqui o que você acha. Certamente uma é mais interessante que outra en algum aspecto, a ver se descobre. >_< Dicas existem muitas, porem cada uma tem sua hora, todas elas você irá vendo conforme avançar nos seus estudos diários. Meu conselho é... aprenda pelo menos algo novo todos os dias, não durma sem aprender alguma coisa nova sobre seu linguagem. Ah! E guarde tudo o que for fazendo a modo de consulta, faça uma pasta chamada C, dentro ponha coisas tipo outra pasta e a chame de "saída padrão", dentro ponha tudo sobre printf, especificadores de formato, etc, logo "entrada padrão", faça o mesmo com scanf, "tipos de dados", ponha dentro como fazer declarações, atribuições, etc, operadores... Assim você irá criando uma boa coleção de códigos ao que você poderá fazer consultas rapidamente, e dentro de uns anos você irá rir muito dos primeiros códigos que você fez. >_< =) Mano, vou tentar fazer o que você me disse, muito obrigado pela sua compaixão, esse cplusplus.com? ele só tem tutorial de C++ ? achei ele legal, o ruim que é inglês.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 20, 2016 Denunciar Share Postado Agosto 20, 2016 Essa pagina é mais focada no C++, porem serve para C também. Se você entrar nesse link aqui você vai ver um quadro do lado esquerdo chamado "Reference", uma das opções que você pode escolher é "C library" se você clickar no +, você vai ver coisas como: <cassert> (assert.h) <cctype> (ctype.h) <cerrno> (errno.h) <cfenv> (fenv.h) ... na esquerda você pode ver <cctype> por exemplo, esse é o nome que teria essa biblioteca em C++, porem na direita, você vê o nome que teria essa mesma biblioteca em C(ctype.h). Basicamente trata-se de tirar o .h de ctype.h da versão em C e adicionar uma letra 'c' a mais adiante, ficando cctype para c++, dai você pode distinguir qual é a versão do C(stdio.h) do C++(cstdio), cctypeé a versão de ctype.h de C. Porem se você entrar nesse link, você vai ver que tem uma só pagina para ambas linguagens, isso é assim porque C é compatível com c++, c++ é um C aumentado, por isso C mais ++ igual a C aumentado(c++). C++ está mais preparado para trabalhar com programação orientada a objetos que é o que se usa mais hoje em dia, as funções são praticamente as mesmas, as mudanças são internas nesses funções, na maioria dos casos você nem vai notar a diferença, porque não há lógica você muda-la e chama-la do mesmo nome, printf é a mesma coisa em C como em C++, scanf igual, você não vai notar diferenças, a única diferença que tem é que em C você inclui <stdio.h> para usar printf/scanf, e em C++ você inclui o <cstdio>. Quanto a essa pagina ser em ingles suponho que se você não sabe nada nada de inglês sim possa ser um impedimento, mas você pode usar o google tradutor para traduzir o que não entender. Tem outra pagina que permite você traduzir diretamente, mais saiba que as vezes a tradução falha: http://en.cppreference.com/w/ No pé da pagina você pode ver a palavra "portugues", se você apertar esse link a pagina fica traduzida, a maioria das coisas você pode ver bem traduzido, mais outras coisas pode que não. http://pt.cppreference.com/w/ Como você pode notar é mudar o "en." por "pt." antes de cppreference.com/w/. Mas acho que se você pode estudar um pouco de inglês você verá muito maior campo. Essas paginas não são paginas de tutoriais não ok, elas são paginas de referencia, elas explicam coisas como que tipo de dados recebem uma determinada função, para que serve essa função, valores retornados, etc, tudo isso é muito bom para lembrar rapidamente como funciona algo. Valeu? >_< Fui! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 20, 2016 Autor Denunciar Share Postado Agosto 20, 2016 1 hora atrás, vangodp disse: Essa pagina é mais focada no C++, porem serve para C também. Se você entrar nesse link aqui você vai ver um quadro do lado esquerdo chamado "Reference", uma das opções que você pode escolher é "C library" se você clickar no +, você vai ver coisas como: <cassert> (assert.h) <cctype> (ctype.h) <cerrno> (errno.h) <cfenv> (fenv.h Quanto a essa pagina ser em ingles suponho que se você não sabe nada nada de inglês sim possa ser um impedimento, mas você pode usar o google tradutor para traduzir o que não entender. Tem outra pagina que permite você traduzir diretamente, mais saiba que as vezes a tradução falha: http://en.cppreference.com/w/ No pé da pagina você pode ver a palavra "portugues", se você apertar esse link a pagina fica traduzida, a maioria das coisas você pode ver bem traduzido, mais outras coisas pode que não. http://pt.cppreference.com/w/ , as funções são praticamente as mesmas, as mudanças são internas nesses funções, na maioria dos casos você nem vai notar a diferença, porque não há lógica você muda-la e chama-la do mesmo nome, printf é a mesma coisa em C como em C++, scanf igual, você não vai notar diferenças, a única diferença que tem é que em C você inclui <stdio.h> para usar printf/scanf, e em C++ você inclui o <cstdio>. Quanto a essa pagina ser em ingles suponho que se você não sabe nada nada de inglês sim possa ser um impedimento, mas você pode usar o google tradutor para traduzir o que não entender. Tem outra pagina que permite você traduzir diretamente, mais saiba que as vezes a tradução falha: http://en.cppreference.com/w/ No pé da pagina você pode ver a palavra "portugues", se você apertar esse link a pagina fica traduzida, a maioria das coisas você pode ver bem traduzido, mais outras coisas pode que não. http://pt.cppreference.com/w/ Como você pode notar é mudar o "en." por "pt." antes de cppreference.com/w/. Mas acho que se você pode estudar um pouco de inglês você verá muito maior campo. Essas paginas não são paginas de tutoriais não ok, elas são paginas de referencia, elas explicam coisas como que tipo de dados recebem uma determinada função, para que serve essa função, valores retornados, etc, tudo isso é muito bom para lembrar rapidamente como funciona algo. Valeu? >_< Fui! Ah sim, Obrigado mano! já to colocando em prática algumas coisa que você me ensinou, como por exemplo de guardar os código que eu estou fazendo, apesar que to muito inseguro em algumas coisas, mas com o tempo espero que eu fique fera. E eu to vendo alguns vídeo no youtube,o negocio é que eu sou muito inseguro, fiquei preocupado com o que você me disse sobre as coisas de pegar mau costume, ai eu fico meio paranoico de aprender coisas e que acabe no futuro me atrapalhando kkkk Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 20, 2016 Denunciar Share Postado Agosto 20, 2016 Não há problema algum você fazer algo mal uma vez, o problema está em você continuar insistindo em fazer mal. Para ilustrar o que digo pense no caso do getch vs getchar. Se em algum livro você viu lá que o cara usa getch para ler uma letra você certamente não sabe nesse momento se é bom ou não é, o uso de getch, dai você vai usar, é normal, nós sempre estamos acostumados a achar que aquele carinha que escreveu o livro é um mega programador, porem nem sempre isso é certo. O que acontece se ele passar por alto o padrão de C? Que você vai estar aprendendo algo que só funciona em windows por exemplo! Depende do entorno que ele usa, ele provavelmente nunca usou outro sistema operativo, e só lhe convém explicar coisas em windows. Cabe a você determinar se quer ser livre como um pássaro ou viver atado em um sistema operativo na hora de fazer seu programa, e lhe aconselho você ter isso claro antes de começar, pois depois já pode ser tarde e você ou ter terminado o programa com mil getch que não funcionarão em linux, ou já ter avançado uma boa parte até descobrir que não queria usar funções não portáveis. De todas as formas você precisa aprender getch também, pois como você vai saber se algo é bom ou mal se não a usou? Não se assuste por se aprender uma função não padrão, você terá que aprender muitas ao largo da sua vida, porque as vezes existem casos que você não vai poder fazer de outra forma. Por exemplo limpar a tela no sistema operativo é uma coisa que depende da chamada a uma função chamada system(), a essa função você passa o parâmetro "cls" de forma que fique system("cls"), para usar system você tem 2 formas, uma é incluir windows.h já que se trata de uma função do sistema operativo, o problema é que windows.h só funciona em sistema operativos windows. Porem C possui a mesma função system que está incluída em uma biblioteca padrão, essa biblioteca se chama stdlib.h em C, em C++ cstdlib, essa biblioteca sim funciona no linux porem tem um problema, o comando "cls" não é um comando valido do linux, para limpar a tela no linux se não me engano é "Clean". Existem mecanismos para contornar esse problema. Esse é um deles: #include <stdlib.h> //Se o sistema é windows de 32 bits #ifdef WIN32 void limpartela(){ system("cls"); } //Se o sistema é linux #endif #ifdef __linux__ void limpartela(){ system("Clean"); } #endif Um exemplo completo é esse: #include <stdio.h> #include <stdlib.h> //Se o sistema é windows de 32 bits #ifdef WIN32 void limparTela(){ system("cls"); } //Se o sistema é linux #endif #ifdef __linux__ void limparTela(){ system("Clean"); } #endif int main () { printf("Isso é uma frase que vai desaparecer quando você pulsar qualquer tecla.\n\n"); getchar(); limparTela(); return 0; } Em vez de você chamar a system("cls") que só funciona no windows, ou system("Clean") que só funciona no linux, você chama "limparTela()" que funciona em ambos, pois só se ativará o seu "limparTela" correto dependendo do sistema que você estiver, por isso não se aflija, continue seus estudos, passo a passo, as perguntas vão vir surgindo dia a dia, não adianta você se desesperar e querer saber coisas que você terá que aprender mais adiante, vença uma batalha por vez e você vencerá a guerra, não tenha medo a errar, errar é aprender. A Thomas Edison na hora de patentear seu invento(Lâmpada elétrica de filamento.) tinha tentado cria-la e lhe custou 10mil tentativas sem sucesso. Sabe que respondeu quando lhe perguntaram por que "errou" tantas vezes? Sua resposta foi, “Eu não falhei, encontrei 10 mil soluções que não davam certo”. Ele já tinha errado tanto que não poderia errar mais, aprenda a aprender dos seus erros, busque as respostas. Onde? Nos fóruns de programação, é o único lugar que você pode trocar idéia com outros programadores, porem essa não é a finalidade de um fórum, um fórum é mais que isso, um fórum é um compêndio de informação. já tentou ir lendo todos os temas do fórum? você simplesmente entra, olha o titulo a titulo das duvidas que tem os usuários, e se lhe parecer interessante entra e lê. E mais importante ainda é entrar a diário ler perguntas e tentar responde-las, isso é o que mais me obrigou a aprender, as duvidas de outros programadores não é só deles, é minha também, e se você tiver uma duvida eu também preciso saber o por quê. Se você achar que vai aprender a programar com um ou 2 livros vou lhe dizer que não vai ser assim, os livros não explicam "tudo", ninguém sabe tudo, todos temos duvidas, mas você certamente sabe algo que eu ignoro, e eu sei coisas que você não, por isso amigo, fóruns são passo obrigatório para o programador. Faça-se usuário ativo de todos os fóruns que sejam também ativos dentro de um minimo, tem alguns que só recebem 1 pergunta ao ano >_<, não recomendo esses. Esse fórum de aqui recebe em media de 2 a a perguntas diárias, as vezes más porem as vezes menos, é um bom numero de perguntas, outros fóruns é o club do hardware e o imaster, esse ultimo não participo, mas é um bom fórum também, certamente existem outros, tenho a sorte de falar español e participar em alguns que considero os melhores entre os linguagens que sei falar, sem contar os de inglês que são realmente os que "fervem", forunelHacker.net, forunsdelweb.com, y lawebdelprogramador.com. O resto é muito estudo. Pratique muito muito muito... while(1){printf("muito");} >_< Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 21, 2016 Autor Denunciar Share Postado Agosto 21, 2016 (editado) 23 horas atrás, vangodp disse: Não há problema algum você fazer algo mal uma vez, o problema está em você continuar insistindo em fazer mal. Para ilustrar o que digo pense no caso do getch vs getchar. Se em algum livro você viu lá que o cara usa getch para ler uma letra você certamente não sabe nesse momento se é bom ou não é, o uso de getch, dai você vai usar, é normal, nós sempre estamos acostumados a achar que aquele carinha que escreveu o livro é um mega programador, porem nem sempre isso é certo. O que acontece se ele passar por alto o padrão de C? Que você vai estar aprendendo algo que só funciona em windows por exemplo! Depende do entorno que ele usa, ele provavelmente nunca usou outro sistema operativo, e só lhe convém explicar coisas em windows. Cabe a você determinar se quer ser livre como um pássaro ou viver atado em um sistema operativo na hora de fazer seu programa, e lhe aconselho você ter isso claro antes de começar, pois depois já pode ser tarde e você ou ter terminado o programa com mil getch que não funcionarão em linux, ou já ter avançado uma boa parte até descobrir que não queria usar funções não portáveis. De todas as formas você precisa aprender getch também, pois como você vai saber se algo é bom ou mal se não a usou? Não se assuste por se aprender uma função não padrão, você terá que aprender muitas ao largo da sua vida, porque as vezes existem casos que você não vai poder fazer de outra forma. Por exemplo limpar a tela no sistema operativo é uma coisa que depende da chamada a uma função chamada system(), a essa função você passa o parâmetro "cls" de forma que fique system("cls"), para usar system você tem 2 formas, uma é incluir windows.h já que se trata de uma função do sistema operativo, o problema é que windows.h só funciona em sistema operativos windows. Porem C possui a mesma função system que está incluída em uma biblioteca padrão, essa biblioteca se chama stdlib.h em C, em C++ cstdlib, essa biblioteca sim funciona no linux porem tem um problema, o comando "cls" não é um comando valido do linux, para limpar a tela no linux se não me engano é "Clean". Existem mecanismos para contornar esse problema. Esse é um deles: #include <stdlib.h> //Se o sistema é windows de 32 bits #ifdef WIN32 void limpartela(){ system("cls"); } //Se o sistema é linux #endif #ifdef __linux__ void limpartela(){ system("Clean"); } #endif Um exemplo completo é esse: #include <stdio.h> #include <stdlib.h> //Se o sistema é windows de 32 bits #ifdef WIN32 void limparTela(){ system("cls"); } //Se o sistema é linux #endif #ifdef __linux__ void limparTela(){ system("Clean"); } #endif int main () { printf("Isso é uma frase que vai desaparecer quando você pulsar qualquer tecla.\n\n"); getchar(); limparTela(); return 0; } Em vez de você chamar a system("cls") que só funciona no windows, ou system("Clean") que só funciona no linux, você chama "limparTela()" que funciona em ambos, pois só se ativará o seu "limparTela" correto dependendo do sistema que você estiver, por isso não se aflija, continue seus estudos, passo a passo, as perguntas vão vir surgindo dia a dia, não adianta você se desesperar e querer saber coisas que você terá que aprender mais adiante, vença uma batalha por vez e você vencerá a guerra, não tenha medo a errar, errar é aprender. A Thomas Edison na hora de patentear seu invento(Lâmpada elétrica de filamento.) tinha tentado cria-la e lhe custou 10mil tentativas sem sucesso. Sabe que respondeu quando lhe perguntaram por que "errou" tantas vezes? Sua resposta foi, “Eu não falhei, encontrei 10 mil soluções que não davam certo”. Ele já tinha errado tanto que não poderia errar mais, aprenda a aprender dos seus erros, busque as respostas. Onde? Nos fóruns de programação, é o único lugar que você pode trocar idéia com outros programadores, porem essa não é a finalidade de um fórum, um fórum é mais que isso, um fórum é um compêndio de informação. já tentou ir lendo todos os temas do fórum? você simplesmente entra, olha o titulo a titulo das duvidas que tem os usuários, e se lhe parecer interessante entra e lê. E mais importante ainda é entrar a diário ler perguntas e tentar responde-las, isso é o que mais me obrigou a aprender, as duvidas de outros programadores não é só deles, é minha também, e se você tiver uma duvida eu também preciso saber o por quê. Se você achar que vai aprender a programar com um ou 2 livros vou lhe dizer que não vai ser assim, os livros não explicam "tudo", ninguém sabe tudo, todos temos duvidas, mas você certamente sabe algo que eu ignoro, e eu sei coisas que você não, por isso amigo, fóruns são passo obrigatório para o programador. Faça-se usuário ativo de todos os fóruns que sejam também ativos dentro de um minimo, tem alguns que só recebem 1 pergunta ao ano >_<, não recomendo esses. Esse fórum de aqui recebe em media de 2 a a perguntas diárias, as vezes más porem as vezes menos, é um bom numero de perguntas, outros fóruns é o club do hardware e o imaster, esse ultimo não participo, mas é um bom fórum também, certamente existem outros, tenho a sorte de falar español e participar em alguns que considero os melhores entre os linguagens que sei falar, sem contar os de inglês que são realmente os que "fervem", forunelHacker.net, forunsdelweb.com, y lawebdelprogramador.com. O resto é muito estudo. Pratique muito muito muito... while(1){printf("muito");} >_< Cara, muito obrigado. você tem algum contato pra nós trocar umas ideia? se não for incomodo. Hoje mesmo eu tentei ajudar um cara de um fórum com um duvida sobre C, coisa que eu nem sabia, fui procurar entender o que se passava pra poder ajudar rsrs Editado Agosto 21, 2016 por Pablo Kevin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 22, 2016 Denunciar Share Postado Agosto 22, 2016 tenho skype porem não entro muito, só quando tenho que trocar arquivos e escrever muito tempo, é mais cômodo acho La me chamo igual, vangodp vamp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pablo Kevin Postado Agosto 23, 2016 Autor Denunciar Share Postado Agosto 23, 2016 22 horas atrás, vangodp disse: tenho skype porem não entro muito, só quando tenho que trocar arquivos e escrever muito tempo, é mais cômodo acho La me chamo igual, vangodp vamp Já chamei lá amigo, Obrigado =) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jameskLCTV Postado Setembro 27, 2016 Denunciar Share Postado Setembro 27, 2016 Para somar, o que você está fazendo é o certo: Perguntar bastante e estudar, estudar e estudar. Procure diversas fontes (fóruns, sites) e pergunte sem medo, a maior parte da galera vai ajudar. Nesse site aqui http://blog.livecoding.tv/2016/08/19/como-desfazer-um-commit-no-git/ tem um blog com artigos básicos e uma área de transmissão ao vivo de projetos. Tem um monte de gente desenvolvendo em C lá e você pode tirar dúvidas com o pessoal na hora. Dê uma olhada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wagner das chagas Postado Maio 3, 2020 Denunciar Share Postado Maio 3, 2020 Sou iniciante em programa em linguagem c, gostaria de aprofundar meus conhecimentos na linguagem, e se puderem me ajudar a resolver alguns exercicios fico agradecido Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wagner das chagas Postado Maio 3, 2020 Denunciar Share Postado Maio 3, 2020 Boa tarde, gente estou precisando entregar um trabalho em linguagem c, será que poderia me ajudar? são dois exercicios , segue o primeiro Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Pablo Kevin
Galera, eu queria aprender a programar e gostaria de começar com a linguagem C.
Eu posso aprender logica com a linguagem C ou tenho que estudar os conceitos de logica separadamente pra depois partir pro C??
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.