Jump to content
Fórum Script Brasil

Arrk

Membros
  • Content Count

    47
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Arrk

  • Rank
    .re-order
  • Birthday 05/18/1989

Contatos

Perfil

  • Gender
    Male
  • Location
    Sobral - CE
  • Interests
    Programação de jogos, computação gráfica e criptografia.
  1. Gostaria só de comentar um pouco essa questão. Talvez eu não deva estar falando sobre isso, até pelo que o ursolouco disse disso ser meio chato e tal e também pelo fato do Fc-hardware ser iniciante na linguagem, mas só por uma questão de esclarecimento pra outros usuários: Na realidade o valor já existia. Quando se declara uma variável, aloca-se espaço do tamanho do tipo da variável na memória (que no nosso caso é inteiro) e essa posição contém um valor nela, só não sabemos o que é até imprimir a variável. Então ao não atribuir um valor, é como se você Fc-hardware, estivesse aceitando o valor
  2. Tenho um pouco de experiência com SDL, acho que seria interessante você partir pra SDL, procure além de SDL em si, sobre SDL_mixer... Ah, se quiser material pra estudar, pode me mandar um email que respondo com apostilas e tal. Abraço.
  3. As leituras de chars em geral são bufferizadas, ou seja, ficam em um buffer a espera de uma função de leitura para apanhá-los. Na frase que você citou eu só quis dizer que, como você tava tetando limpar o buffer com a função getchar(), você obrigatoriamente precisava saber quantos caracteres estavam esperando leitura, pra que assim, você possa colocar getchar()'s na mesma quantidade, mas isso seria um tanto absurdo, você teria que lotar o código com inúmeros getchar()'s. Então use uma das duas funções aqui descritas pra limpar o buffer: fflush() ou __fpurge(). E outro detalhe, na frase houve
  4. DifusioN, beleza então. Dando uma olhada no seu código, só pra fazer algumas observações: Nesse treço do seu código: printf("Digite o numero de inscricao: "); scanf("%d", &insc); fflush(stdin); printf("\nDigite a idade: "); scanf("%d", &idade); fflush(stdin); você não precisa limpar o buffer antes de ler um inteiro, basta que você o faça depois de ler um char, pois esse pequeno transtorno de dados sobrando pra próxima leitura estão relacionados a algumas funções que lêem char (como gets(), getchar(), etc). Com a função getchar() você não consegue limpar o buffer porque pra limpar
  5. Cara, é o seguinte, presumo que você seja usuário de alguma distro linux, hehehe, justamente pelo fflush() não ter funcionado. No linux a função que realmente limpa o buffer é a __fpurge(): #include <stdio.h> #include <stdio_ext.h> #include <ctype.h> #include <stdlib.h> int main(void){ char sex; do { printf("Digite seu sexo(M-Masculino/F-Feminino): "); __fpurge(stdin); sex = getchar(); sex = toupper(sex); if(sex != 'F' && sex != 'M') printf("Sexo invalido, digite novamente!\n"); } while(sex != 'F' && sex != 'M'); pr
  6. Arrk

    Iniciante no c++

    Que parte do código você não tá conseguindo fazer? Tente ao menos começar, quando for surgindo as dúvidas você posta aqui e a gente tenta ajudar, me desculpa mas do jeito que você falou você já queria que a gente fizesse tudo. Tenta fazer alguma coisa e vai postando dúvidas, pelo enunciado do problema você já sabe que vai precisar de uma struct e laço de repetição. []'s
  7. Arrk

    ofstream

    ios::ate especifica que a posição inicial vai ser o fim do arquivo, já ios::app que todas as operações de saída serão feitas no fim do arquivo, colocando o conteúdo no fim do arquivo. A diferença é pouca, mas tem. =] Abraço.
  8. Correção: biblioteca dinâmica = .dll (windows) e .so (unix like) biblioteca estática = .lib (windows) e .a (unix like) Abraço.
  9. Parece que não tem a ver com o código, porque o erro é na hora do make :T Talvez a versão do DevC++ que você baixou realmente não rode no vista. Me corrijam se eu estiver errado, mas que eu saiba não há versão do DevC++ pro vista. :huh: Abraço.
  10. Arrk

    (Resolvido) socket

    Ae djfarinha, beleza cara? O tipo de retorno da main será int quer você especifique quer não, então por questões de legibilidade, eu particularmente, aconselho espeficiar. Um dos warnings devido a função bzero() estar no header string.h, o qual você não incluiu. O outro warning também é pelo mesmo motivo, agora com o header arpa/inet.h . Tente aí no seu computador agora com as devidas modificações. Aqui a conecção não tá sendo feita, e como meu forte não é sockets vou dar uma pesquisada antes de falar sobre o problema. Espero que por hora eu tenha ajudado. Abraço.
  11. Realmente não tinha notado as linhas 10 e 11 do código dele. Ainda bem que Mnemonic viu, hehehe. Só pra completar o que ele falou, Áquila, tenha cuidado, nas expressões de atribuição os chamados left-value devem ser variáveis ou locais de memória para armazenamento, isso é um erro que você não pode deixar acontecer novamente por ser muito básico. Abraço.
  12. Castro, não entendi muito bem sua última dúvida, você poderia explicar melhor? Vou ter indicar dois sites e dois livros muito bons através dos quais estudo: http://www.cplusplus.com/doc/tutorial http://www.cppreference.com/wiki/ se você explorar esses sites você vai achar várias coisas interessantes. Tem também dois livros que eu recomendo, que são: C++ In Action, Bartosz Milewski - voltado pra "programação industrial" mesmo, design top-down e tudo mais =] C++: Como programar, Deitel - Esse é considerado o melhor livro de C++, é meio carinho mas vale a pena, muito a pena mesmo. Descreve tudo e
  13. Ae Áquila, beleza? Cara, o div do pascal no C é o operador de divisão / , e o resto o operador %. O / não é exatamente um operador igual ao div, o que acontece é que o div do pascal só funcionava com números inteiros. No C o que acontece é que em cada expressão que é avaliada, todos os tipos envolvidos são convertidos ao tipo de maior faixa envolvido na expressão aritmética. Então, quando você faz 1 / 2, você está pegando a parte inteira da divisão, quando você faz 1.0f / 2, o 2 "é convertido para float" e depois é feita a divisão e retornado o resultado: 0.5: #include <stdio.h> int m
  14. Cara, já que você está utilizando arrays de chars pra representar as strings você pode usar funções da biblioteca do C pra comparação de strings: Algo como: if(!strcmp(nome, "produto"){ // realiza produto } Tendo em vista que a função strcmp da biblioteca string.h do C retorna 0 se os dois arrays de char(strings) passados como argumento são iguais. Espero ter ajudado. Abraço.
  15. Vamos com calma, hehehe. São muitas perguntas pra um simples tópico. =] Só queria te dizer que a maioria do que eu falei já presumia que você soubesse um pouco de POO. É importante que você não se resuma a esse tópico pra estudar o que estamos discutindo. Pesquise um pouco, dê uma lida nuns livros. Só se você não passar nenhum argumento pro construtor em questão. Calma, você está confundindo as coisas. O que está sendo alocado é um objeto da classe especificada (especificamente só os seus dados). O construtor é uma função-membro da classe. O que é alocado é o objeto por inteiro. S
×
×
  • Create New...