Ir para conteúdo
Fórum Script Brasil
  • 0

David Melo

Pergunta

Olá pessoal, sou novo no c++ e me deparei com um problema. Estou desenvolvendo um projeto em que uma variável inteira (X) deve sempre ser 1 unidade maior que outra variável inteira (Y), e que esta regra fosse fixa no programa e sempre que ele alterar o valor de Y o de X também se altere, isso se poder, sem ter que incrementar X de acordo com Y depois de alterar Y.

 

Por exemplo:

Y = 50;

X = (&Y) + 1;

cout<<X<<endl; //51

Y = 90;

cout<<x<<endl;//91

 

Desde já, obrigado a todos.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Acho isso meio difícil, ao fim e al cabo o programa não faz coisas "sozinho", praticamente o que você quer é fazer uma atribuição a uma variável e que depois disso quer que outra passe a valer a mesma coisa + 1, porem isso só pode ser feito no momento que o valor de y for indicado, você precisa de alguma função, classe, etc que faça isso por vc, então deixo uma possível solução, não é exatamente o que você quer mas algo é algo. Se alguém conhecer alguma solução seria bem interesante saber.
 

#include <iostream>
using namespace std;

struct Cordenadas {
    int x;
    int y;
};

class Ponto: public Cordenadas {
public:
    void operator=( int valor ) { //graças ao operador = sobrecarregado podemos fazer p=70 por exemplo,
        y = valor;
        x = y+1; //a x se atribui o valor de y que vale 70 mais 1, ou seja 71
    }

};


int main () {

    Ponto p;
    p = 70; // y dentro da classe toma o valor de 70

    cout << "Y vale" << p.y << endl;
    cout << "X vale" << p.x << endl;

    cin.ignore();
    return 0;
}


O programa vai mostrar um pequeno warning pois operator= deveria retornar this, porem não é necesario, somente queremos usar o operador = para estabelecer facilmente o valor de Y, coisa que podemos prescindir si usar uma função membro normal e fizer algo como p.setY(70) que é algo muito mais grande que p=70. Sorte

Link para o comentário
Compartilhar em outros sites

  • 0

Eu precisava que o programa apos analisar um numero criasse uma regra baseada no resultado da analise, e essa regra se aplicasse a X que esta baseado em Y. Eu pretendo usar uma array para definir o valor de X e continuar com o calculo que pode alterar o valor do Y equivalente, e nisto alterar o X que influenciara em outro Y. Na parte de usar sempre a função(ou regra) especifica que vai ser definida no inicio do código eu não sei como aplicar a classe, mas isso já ajuda a pensar...

 

Obrigado pela ajuda vangodp

Estava pensando em usar endereçamento e definir que X = (&Y)+1 ou X = (&Variável_Valor_Incrementar), só que nisso ele muda o endereço na memoria e não o valor...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...