Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

AnsiC

Membros Plenos
  • Total de itens

    1.461
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

811

7 Seguidores

Sobre AnsiC

  • Data de Nascimento 7 de novembro

Informações gerais

  • Cidade e Estado
    Jurema/PE
  • Sexo
    Masculino

Meu Notebook

  • Marca
    DELL
  • Modelo
    INSPIRON 15R
  • Tamanho da tela
    15'
  • Processador
    Core i3
  • Chip gráfico
    3000M
  • Memória
    4 GB
  • HD
    300 Gb
  • Sistema Operacional
    Windows 10 Home
  • Browser
    Maxthon & Chrome
  • Antivírus
    Windows Defender

Meu Smartphone

  • Marca e modelo
    Motorola moto G Clássico

Outros

  • Biografia
    ...
  • Ocupação
    Funcionário no departamento Público de Informática
  • Interesses
    Programação na Linguagem C-Like
  1. Olá, tudo bem? Então, já é certo que houve erro de digitação bem aqui: X = X + Y / 2 . X; ↑ Para que resolva seu problema sem enrolação; onde vê um pontinho é para vê uma outra operação de divisão. Some isso a mais uma releitura do problema. Ok? Tchau.
  2. Olá, tudo bem? Então, você está forçando uma saída redonda pois na verdade a sua precisão ainda continua. Para resolver o seu problema sem enrolação, basta apenas adicionar um valor (inteiro literal) a tua escolha antes do ponto no string-format, bem aqui: %2.Xf\n Onde vê um X, coloque 4 só de exemplo. Ok? tchau.
  3. Problema de consistência. Para que não me confunda as nomenclaturas tendo o máximo seguir apenas um paradigma, nunca mais que 1. Então, se seguir esse conselho também não se confundirá nunca. A partir de agora use sempre (->) operador unário para referencias ponteiro nas estruturas e seus membros, sempre. // preenche produtos void preenche_produtos (struct Produto *p){ preenche_fornecedor (&p->f); printf ("informe o produto p/ cadastrar no estoque: "); fgets (p->nome, 20, stdin); printf ("informe a quantidade da compra: "); scanf ("%d", &p->qtd); printf ("informe o preτo unitario: "); scanf ("%d", &p->custo); p->valorc = p->custo * p->qtd; printf ("valor da mercadoria no estoque %d: ", p->valorc); p->venda = p->valorc * 1.4; } Ok! tchau.
  4. C++ Exibir na tela a/b

    Olá tudo bem? Para esse algoritmo deu certo, pelo menos não temos crashed. #include <iostream> //! as funções padrões de entrada e saída. using namespace std; int main (int argc, char **argv){ int numa, dena, numb, denb; cout << endl; cout << "Entre com os valores da primeira fracao" << endl; cout << "1] numerador..: "; cin >> numa; cout << " denominador: "; cin >> dena; cout << endl; cout << "Entre com os valores da segunda fracao" << endl; cout << "2] numerador..: "; cin >> numb; cout << " denominador: "; cin >> denb; cout << endl; cout << endl; int numerad = ((numa * denb) + (numb * dena)); int denomin = dena * denb; cout << "A soma das fracoes é: " << numerad << "/" << denomin << endl; int mdc = 1; for (int d = denomin; 1 < d; d --){ if (denomin % d == 0 && numerad % d == 0){ mdc = d; d = 0; }} if (mdc != 1){ numerad /= mdc; denomin /= mdc; cout << "A soma (reduzida) das frações é: " << numerad << "/"; cout << denomin; cout << endl; } cout << endl; return 0; } Ok tchau!
  5. Free deve ser utilizado Sim, se um bloco de memória é alocado esse bloco de memória será disponibilizado (desalocado) após o uso de free no processo atual, e se o mesmo processo / programa acabar, para o sistema operacional. Até onde sei. Ok!
  6. Olá tudo bem? Existem profissionais que seguramente dizem isso, dizem também que free devolve a memória para o sistema operacional e entre outras afirmações. Se isso é um quesito importante e se fosse permitido poderia ter zerado no algoritmo mesmo. Inclusive cada um dos valores alocados (eu faço isso mesmo sem motivos) e por fim o ponteiro. Eu nunca experimentei um função free que anula ponteiros, e uma função free que não só desaloca memória como também libera para os sistema operacional. Essas coisas são mitos para mim.
  7. Olá tudo bem? Um cardápio implementa-se dentro e foram da função main. Para esse exercício implementei dentro da função main. Então dentro da main fiz aquilo que é do menu, e suas funções implementadas com switch-case, por exemplo: #include <stdio.h> /**< os padrões de entrada e saída. */ #include <locale.h> /**< os padrões de localidade. */ int main (int argc, char **argv){ int quantidade, cont = 0; struct cliente{ char nome[50]; }; printf ("\n"); setlocale (LC_ALL,""); printf ("Insira quantos clientes deseja cadastrar: \t [ ]\b\b"); scanf (" %d", &quantidade); /* nova strutc dados */ struct cliente__dados{ struct cliente dados[quantidade]; }; struct cliente__dados clientes; int opt; lbmenu : printf ("Opções do Sistema\n"); printf ("[1]: Cadastrar Clientes\n"); printf ("[2]: Exibir os Clientes já cadastrados\n"); printf ("[3]: Encerrar\n"); printf ("[ ]\b\b"); scanf (" %d", &opt); switch (opt){ case 1 : printf("\n\n"); for (int i = cont = 0; i < quantidade; i ++) { printf("Insira o nome do %dº cliente: \t", i + 1); scanf(" %[^\n]", clientes.dados[i].nome); /* limpa_linha () */ scanf("%*[^\n]"); scanf("%*c"); cont ++; } printf ("\n\n"); break; case 2 : printf ("\n"); printf("Eis a lista de todos os clientes cadastrados:"); for (int k = 0; k < cont; k ++) { printf ("\n "); printf ("%dº cliente cadastrado: ", k + 1); printf ("%s", clientes.dados[k].nome); } printf ("\n\n"); break; case 3 : printf ("Bye !!!\n\n"); return 0; default : printf ("<!> Erro opção invalida\a"); printf ("\n\n"); } goto lbmenu; /* jump para cardápio */ return 0; } Ok tchau! adicionado 17 minutos depois Faltou a variável cont;
  8. @Igor Vargas Sendo assim, você acertou! Porque provavelmente é o que tem. Ps.: Isso não quer dizer que esteja errado, em alguns teremos 0 e outros não. Depende de outras questões.
  9. Certamente, a função desaloca a memória que foi alocada anteriormente, mas não faz a limpeza de seu conteúdo. Essa limpeza extra de seus valores antes de desalocar vai custar um pouco de desempenho do seu programa, que no contexto literalmente não significa nada, mais literalmente coletou-se o lixo com certeza. Também quem lhe disse que é necessário. Você tem todo direito de não considera-la, mais não deve também distorce-la. E obrigado pelo restante!
  10. Olá, tudo bem? pinSensorChuva A1: Observou que foi posto A1 para o pino analógico? Isso sei que é o mesmo que 1 na sequência de conexões analógicas, vale também em alguns casos colocar penas valor 1. Para o sensor LDR ponha 0 ou o disponível. Agora no mesmo local em que se encontra a proposição do Sensor de Chuva coloque também o Sendo de Luz. Bem aqui: if (analogRead(pinSensorChuva) > 700 || analogRead(ldr_pin_sensor_light) >= xxx ) /* ..."resto do código" ... */ *observe que o sensor de luz no exemplo acima também e analógico. Ok tchau! .
  11. Olá, tudo bem? Captei sua sinapse, mas existe maneira bem melhore de se fazer isso; começando com while, if-else e somente um de cada. [N1] Enquanto numero é maior (e igual) a 0 faça [N2] Se numero mod 2 é diferente de 0 é ímpar, senão é par. [N3] repete. Ok tchau!
  12. Então é um rascunho de norma. Que posteriormente foi retirada na versão final. Quando colocamos -std=c++14 sabe o que acontece, nada o mesmo resultado e com full warning ativo que -std=c++11. Até o editor online onlinegdb também passou pelo teste c++1x. Só o nosso colega que está amarrado . Que legal valeu!!
  13. é um rascunho, ou coisa assim. adicionado 1 minuto depois É um norma. adicionado 3 minutos depois Enfim, eu garanto para você que usar std=c++11, não é um problema, pelo menos não aqui.
  14. N3690 Então eu imaginei coisas, junto de uma sala de 45 estudantes de Física (na época atualmente 4), e continua vendo tais ilusões até hoje !!! Agora que você falou isso, lembrei de uma matéria que dizia claramente existir uma repulsa do "criado do Linux" com relação aos programadores que usam linguagem C++. Os programadores de C são Deuses e os de C++ são hereges. Viva Linux !!!

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

×