-
Posts
3.284 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
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.
-
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.
-
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
-
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!
-
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.
-
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>
-
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?
-
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?
-
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