seuqram Posted March 19, 2012 at 09:28 AM Report #444565 Posted March 19, 2012 at 09:28 AM pressiso de ajuda urgente! como criar uma variavel ou ponteiro com o nome de outra variavel? 🙂
pmg Posted March 19, 2012 at 09:42 AM Report #444566 Posted March 19, 2012 at 09:42 AM #include <iostream> int main() { int repeatedname = 0; while (repeatedname++ < 10) { int repeatedname = 100; std::cout << repeatedname << std::endl; } } Disponível para verificação no ideone. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
HappyHippyHippo Posted March 19, 2012 at 10:02 AM Report #444571 Posted March 19, 2012 at 10:02 AM podes declarar como mesmo nome desde que seja em "scopes" diferentes ... normalmente o compilador da um warning mas deixa compilar como no exemplo do pmg apresentou, verifica que a variavel "repeatedname" está declarada na função main de novamente dentro do "scope" do ciclo while. a variavel que é usada será sempre a do "scope" mais interno IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pikax Posted March 19, 2012 at 08:38 PM Report #444687 Posted March 19, 2012 at 08:38 PM penso que o que ele quer é algo que é possivel com o php, por exemplo: $str="pikax"; $$str="P@P"; //o nome desta variavel será "pikax"; echo $pikax."<br>"; //irá imprimir "P@P" penso que a questão seja esta, se sim pelo o que sei é impossível declarar isto em C++, as variáveis têm que ter um nome especifico antes de ser compilado. Podes sempre usar o "scope" como o pmg disse, mas se explicares o que realmente precisas de fazer, somos capazes de te ajudar. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
seuqram Posted March 20, 2012 at 06:52 PM Author Report #444792 Posted March 20, 2012 at 06:52 PM :dontgetit: por acaso isso cria uma variavel com um nome de o valor de outra variavel? e que acho que nao me perceberam bem! ou n tou a percerber essa logica!
HappyHippyHippo Posted March 20, 2012 at 06:58 PM Report #444794 Posted March 20, 2012 at 06:58 PM não é possivel ... não consegues arranjar outra solução para o teu problema ??? se explicares o que pretendes fazer, é mais fácil te ajudar ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pedrotuga Posted March 20, 2012 at 07:12 PM Report #444796 Posted March 20, 2012 at 07:12 PM :dontgetit: por acaso isso cria uma variavel com um nome de o valor de outra variavel? e que acho que nao me perceberam bem! ou n tou a percerber essa logica! O que o pikax fez sim, faz isso. Talvez não te estejamos a perceber, mas tambem podias usar um pouco mais de cuidado com o português, está bastante descuidado, torna-se de facto difícil de perceber. Se eu percebi bem, queres variáveis cujo nome seja guardado noutras variáveis. Não sei se há outra forma mais elegante de o fazer em C++, eu usaria um hashmap para esse efeito. EDIT: @HappyHippyHippo possível é, eu acabei de dar uma solução. 'Arranjar outra solução' neste caso é uma resposta um pouco 'violenta'. Muitos algoritmos baseiam-se neste tipo de funcionalidade, descartá-la é deitar fora muito tipo de soluções. Programação funcional e resolução de tipos de dados em runtime são a motivação por detrás de vários paradigmas e de muitas linguagens de programação. As vantagens são bem conhecidas e demasiado significantes para se deitar fora assim à partida.
HappyHippyHippo Posted March 20, 2012 at 07:25 PM Report #444800 Posted March 20, 2012 at 07:25 PM em termos de linguagem C não é possivel ... em php sim ... pelo que percebi a pergunta é em C .. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pedrotuga Posted March 20, 2012 at 08:37 PM Report #444814 Posted March 20, 2012 at 08:37 PM em termos de linguagem C não é possivel ... em php sim ... pelo que percebi a pergunta é em C .. É possível pois. Eu já dei uma solução, possivelmente há outras. Esta secção é de C++.
HappyHippyHippo Posted March 20, 2012 at 08:49 PM Report #444819 Posted March 20, 2012 at 08:49 PM como criar uma variavel ou ponteiro com o nome de outra variavel? 😁 criar uma variavel com o nome igual a outra variavel não é guardar o nome da variavel. fundamentalmente, dentro do mesmo scope, não é possivel declarar duas variáveis distintas com o mesmo nome ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pedrotuga Posted March 20, 2012 at 09:45 PM Report #444829 Posted March 20, 2012 at 09:45 PM criar uma variavel com o nome igual a outra variavel não é guardar o nome da variavel. fundamentalmente, dentro do mesmo scope, não é possivel declarar duas variáveis distintas com o mesmo nome ... Ah ok, não tinha percebido, mas isso não dá em linguagem nenhuma, porque isso é simplesmente o contrário da definição de variável. Um elemento sintático não ambíguo num espaço de nomes.
KTachyon Posted March 20, 2012 at 10:56 PM Report #444846 Posted March 20, 2012 at 10:56 PM Eu acho que estão a meter o carro à frente dos bois. Penso que primeiro é preciso conseguir perceber o que é que o seuqram realmente quer 😁 @seuqram Consegues explicar aquilo que queres de outra forma, ou exemplificar o que é que pretendes implementar? “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
pikax Posted March 21, 2012 at 12:51 AM Report #444853 Posted March 21, 2012 at 12:51 AM Estive a ler algumas vezes a pergunta do seuqram e não consigo mesmo adivinhar o que ele quer. pressiso de ajuda urgente! como criar uma variavel ou ponteiro com o nome de outra variavel? 😁 Criar "várias"(mais que uma) variaveis com o mesmo nome //includes etc etc int main() { int var=4; //variavel inteira cout<<"var="<<var<<endl; //char var = '5'; //errado!!!! //se "criar-mos" um scope "novo" { char var= '5'; //certo, mas não conseguimos aceder ao var int cout<<"var="<<var<<endl; } cout<<"var="<<var<<endl; //irá ser int char * str="123455667"; char *endstr=str+strlen(str)-1;//já não me lembro se é assim for(char *var=str;var!=endstr;var++) { { float var=12.4f; cout<<"var="<<var<<endl; } cout<<"var="<<var<<endl; } cout<<"var="<<var<<endl; } Penso que aqui mostra muitos dos casos do scope e como podemos "brincar", mas isto fica muito confuso, até eu fiquei perdido a escrever 😁 Se quiseres criar uma variável string com um determinado valor, por exemplo "PAP", e quiseres criar uma variável com esse nome relativo, isso não é possível em C++ só em PHP, é melhor eu explicar em código: //ISTO NAO FUNCIONA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //NÂO ACONSELHADO A PESSOAS SENSÍVEIS, PODE TRAUMATIZAR O CÓDIGO!!! //não me responsabilizo por danos psicológicos causados após ler este código int main() { string str; cout<<"introduza o nome da string:"; cin>>str; /* string str.c_str()+"1"="error!!!!!";//nao sei o que meter para criar a varivel com o valor de str :S //em c++ nem tem lógica isto, o que me veio à cabeça com mais lógica foi mesmo returnar o valor da string str. // meti str.c_str()+"1", por causa do cout em baixo. //PHP seria "$$str."1";" //não sei como chamar a variavel LOOOL cout<< "str.c_str()+"1" = "<<str.c_str()+"1"<<endl; //PHP seria algo como: echo "$$str=".$$str; */ cout<<"str="<<str<<endl; } No comments.... :dontgetit: por acaso isso cria uma variavel com um nome de o valor de outra variavel? Em C++ acho que é impossível fazer algo como o 2 codigo que pôs aqui, é simplesmente ilógico programar em C++ a pensar em criar um variável em que o nome dela seja o valor de outra, é possível em PHP mas sem ser em casos excecionais penso que não se deva usar, porque o código fica confuso. Já agora o código que escrevi aqui no outro post é em PHP NÂO É EM C++!!!! penso que o que ele quer é algo que é possivel com o php, por exemplo: $str="pikax"; $$str="P@P"; //o nome desta variavel será "pikax"; echo $pikax."<br>"; //irá imprimir "P@P" penso que a questão seja esta, se sim pelo o que sei é impossível declarar isto em C++, as variáveis têm que ter um nome especifico antes de ser compilado. Podes sempre usar o "scope" como o pmg disse, mas se explicares o que realmente precisas de fazer, somos capazes de te ajudar. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
seuqram Posted March 21, 2012 at 02:38 PM Author Report #444894 Posted March 21, 2012 at 02:38 PM nnnnnnnnnnnnnnnn :nono1: vejam la se percebem: tenho uma variavel chamada variavel1 com valor: variavel2 eu quero que voces me dissessem como criar uma variavel que fique com o nome do valor da variavel1 (que seria:variavel2) depois passavam a haver 2 variaveis chamadas: variavel1 variavel2 se o valor da variavel1 fosse variavel3 queria criar uma variavel chamada variavel3 e ficavam 2 variaveis chamadas: variavel1 variavel3 (quero criar uma variavel cujo nome seja um valor de outra veriavel)
pedrosorio Posted March 21, 2012 at 02:41 PM Report #444895 Posted March 21, 2012 at 02:41 PM @seuqram Isso não faz sentido nenhum, e não é possível em C++, qual é o teu objectivo ao fazer isso? Não respondo a dúvidas por mensagem.
seuqram Posted March 21, 2012 at 02:46 PM Author Report #444897 Posted March 21, 2012 at 02:46 PM o utilizador escolhe um nome e depois é criado uma variavel com esse nome! onde posso utilizar isso??? para editores. o proposito deste topico é tambem entrar na base de dados das variaveis de uma forma dificil: fopen ("(o valor de uma variavel)","wb"); assim iria criar/buscar um ficheiro chamado (o valor de uma variavel) nao é possivel!?
KTachyon Posted March 21, 2012 at 02:56 PM Report #444899 Posted March 21, 2012 at 02:56 PM Então, aquilo que queres é guardar a valor numa variável para que possas utilizar posteriormente. Não precisas que a variável tenha esse nome. Como estamos na secção de C++, a forma mais fácil será recorreres a strings: #include <iostream> #include <string> #include <sstream> using namespace std; int main() { string input = ""; cin >> input; } O que está na variável de input pode ser, por exemplo, o nome do ficheiro que o utilizador quer abrir. FILE *xpto = fopen(input.c_str(), "wb"); Se o utilizador quiser abrir um ficheiro chamado "abcd", a variável input vai ter o valor "abcd", logo o fopen(input.c_str(), "wb") será exactamente o mesmo que teres fopen("abcd", "wb"). “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
pedrotuga Posted March 21, 2012 at 07:22 PM Report #444974 Posted March 21, 2012 at 07:22 PM Em 21/03/2012 às 15:38, seuqram disse: nnnnnnnnnnnnnnnn :nono1: vejam la se percebem: tenho uma variavel chamada variavel1 com valor: variavel2 eu quero que voces me dissessem como criar uma variavel que fique com o nome do valor da variavel1 (que seria:variavel2) depois passavam a haver 2 variaveis chamadas: variavel1 variavel2 se o valor da variavel1 fosse variavel3 queria criar uma variavel chamada variavel3 e ficavam 2 variaveis chamadas: variavel1 variavel3 (quero criar uma variavel cujo nome seja um valor de outra veriavel) Já é praí a quarta vez que digo. Tu queres um hashmap. Os hashmaps servem precisamente para isso.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now