Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.284
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de Ansi C em Cálculo de volume em um exercício simples. foi marcado como solução   
    Ao dividir 1 por 3 o resultado é 0.
    Escreva (1/3.0) e resolverá esse caso.
  2. O post de Ansi C em Variavel Receber Aquele valor foi marcado como solução   
    O que você deseja e trocar a variável de lugar...
    Podemos atribuir nas variáveis, não importando o seu escopo (lugar). Existem alguns formas de provar isso, basicamente se usa ponteiros em C, já em C++ temos as referências que são menos que ponteiros, entretanto Referências  e ponteiros são utilmente a mesma coisa.
     
    Supomos uma função que chamaremos de sum, a função imaginária realiza a soma de duas parcelas e logo após atribui a resultado. Uma variável que foi declarada fora da função que chamamos de sum.
    Em C++ essa rotina poderia ser assim:
     
    EXEMPLO
    #include <iostream> using namespace std; void sum (int parcela0, int parcela1, int &resultado) { //! Estou aqui resultado= parcela0 + parcela1; } int main() { int resultado; //< Estou aqui sum(10,10,resultado); cout << "10 + 10 = " << resultado << "\n"; } Esse código mostra a passagem por referência, veja se isso responde a sua pergunta. É como se a variável da função main() estivesse indo para o outro lado do código, pelo caminho do argumento referenciado.
  3. O post de Ansi C em Programa não recebe dados pelo scanf foi marcado como solução   
    Está capturando o nova linha [ENTER]
    para solucionar tente colocar este código antes do scanf( );
    while(getchar() != '\n'){} @Paulo Moraes da Silva
  4. O post de Ansi C em Sequencia de numeros descrescentes - portugol foi marcado como solução   
    Boa tarde;
    Se eu bem entendi Y é maior que X onde Y tendendo a x será igual a x
    Y > x  <- Y, x = Y
     
    algoritmo: NumerosDecrecentes
    inicio       escreva("digite o maior numero: ")       leia(Y)              escreva("digite o menor numero: ")       leia(x)      enquanto Y >= x faça          escreva(""y"")          Y = Y - 1      fimEnqunto fim  
     
    '-' tendi isso!
  5. O post de Ansi C em Struct em função sem ou com ponteiro foi marcado como solução   
    Bom dia todos,
    Utilizando ponteiros podemos reduzir o uso significativo de memória por parte do programa e permite também a manipulação direta dos dados contidos, apesar de que manipular estes dados diretamente reduz lhe a segurança, pensando neste último fator, podemos modificada a função que através do retorno alterar dados, para isso, será necessário mais memória.
     
    bool preenche(Usuarios u[], int &c); Aqui há o cabeçario escrito; Os parâmetros desta função "são todos ponteiros", pois até mesmo uma referência pode se dizer que contém um ponteiro abstrato ou o próprio objeto.
    Individualmente explico que no caso do parâmetro u[ ] é de fato um ponteiro, que aponta para um vetor de tamanho indefinido. E ainda do parâmetro &c que é uma referência onde disse que contem um objeto, se pode falar que é o próprio objeto, e dentro do universo da linguagem C' posso dizer ser um ponteiro sem a possibilidade de aritmética de ponteiros.
  6. O post de Ansi C em Ajuda com código - C foi marcado como solução   
    Então @mi2011,
    Não minha linha de pensamento: NULO/ NULL pode ser tanto 0 quando -1.
    Fica a critério do programador ou da implementação da linguagem, você na qualidade de programador pode definir esta e ou outra condição.
     
    Por exemplo em C:
    Um ponteiro de valor 0 é um ponteiro nulo;
    Um literal de caractere '\0' é nulo, pois é 0 na tabela ASCII;
    O Macro EOF (End of File) que representa do fim de um stream é -1.
     
    Uma Situação:
    1> Se escrevermos uma função que solicita através de parâmetro uma idade, podemos implementar essa função de maneira a retorna -1 caso o valor passado pelo parâmetro seja um valor negativo, alertando que não existe idade negativa.
    Assim entendesse que uma idade negativa é uma valor nulo.
    2> Temos uma função que exige por parâmetro números diferentes de 0, então se passamos o valor 0 ele não
    afetará a operação desta função pois é nulo.
    Supomos que a função do caso 2 seja: pegar esse valor e multiplicar por 1000,
    Você concorda que 1000 + 0 é 1000 (NULO)?
    Você concorda que 1000 *  1 é 1000(NULO)?
     
     
    Resolução:
    O problema faz menção a valor/ número; 
    Para seu problema Zero é NULO já que zero não tem valor, aproposito zero é isso mesmo kkk.
    EXEMPLO:

    /** Converte Numerador e Denominador de uma fração em valor* decimal do tipo Float */float To_Float(int as_numerado, int as_denominador);int main(){ float f_tmp; setlocale(LC_ALL, ""); f_tmp = To_Float(1,3); printf("Show variable: %f float.\n\n", f_tmp); return 0;}float To_Float(int as_numerador, int as_denominador){//CONDIÇÃO PARA EXECUÇÃO DA FUNÇÃO: //DENOMINADOR MAIOR E DIFERENTE DE 0, E NUMERADOR MAIOR QUE 0. if(as_denominador <= 0 || as_numerador < 0) return 0; return ((float)as_numerador / as_denominador);} 
     
    Não sei se fui claro, qualquer coisa estamos aqui.
    </byR3X>
  7. O post de Ansi C em [C] - Programa não funciona como o esperado foi marcado como solução   
    Boa Dia @Trying,
    Esse problema é causado pelo o caractere nova linha que resta no buffer de entrada apos digitar o número e teclar ENTER;
    Com isso é capturado pelo função scanf.
    Eu já abordei uma solução no seguinte poste: Meu vetor esta pulando a primera Posisão 0 para 1
    Ficou com dúvida, questione?
  8. O post de Ansi C em Função em C (Tipo e Parâmetros) foi marcado como solução   
    Boa Noite @mi2011, 
     
    --Também estou inciando e nos meus estudos autônomos, e a resposta para sua pergunta é: Sim claro que pode.
    No exemplo, void é o tipo de retorno (que não retorna nada), porém poderia ser float que retornaria um número decimal.
    Em seguida fiz um exemplo para ilustrar melhor:
    #include <stdio.h>int main (void) { float decimal_number = 0; decimal_number = To_Decimal(1,3); printf("DECIMAL: %f\n\n", decimal_number); return 0; }/** \brief Converte dos valores inteiros em um valor decimal.* \return float- numerador e denominador, ambos para ponto flutuante.*/float To_Decimal(int num, int den) { float ret = 0; ret = num; ret = ret / den; return (ret); } okey?
  9. O post de Ansi C em Me ajudem a voltar as configurações do code blocks foi marcado como solução   
    Vá com mouse até; View~ Toolbars~
    E todas estão listadas. Para escolher
    Qual queremos ativar clicando nela.

Sobre o Clube do Hardware

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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!