Tämä on siis c++
Eli mulla on koodi, jonka pitäisi hakea oliosta (?) tieto.
Muuten tiedon haku onnistuu, mutta miten onnistuisin hakemaan muuttujalla.
Eli tässä on koodi jolla pyydetään käyttäjältä nimi:
std::string nimi; std::cout << "Anna nimi: "; std::cin >> nimi; std::endl;
ja tässä koodin jonka pitäisi tulosta nimen tiedot:
std::cout << "Tiedot henkilöstä " << nimi << std::endl; std::cout << "Nimi: " << nimi.nimi << std::endl; std::cout << "Osoite: " << nimi.osoite << std::endl; std::cout << "Kaytos: " << nimi.puhelin << std::endl;
Näin ei tunnu toimivan, koska se hakee nimi oliosta ne tiedot ja sen pitäisi hakea sen nimisestä oliosta mikä muuttujassa nimi on.
Eli onko c++:ssa jotain millä voi erottaa muuttujan nimen muusta koodista? (Kuten php:ssa {})
Ja se toimi oikein, jos laitan siihen nimen joka siellä on, esim:
std::cout << "Tiedot henkilöstä " << nimi << std::endl; std::cout << "Nimi: " << sami.nimi << std::endl; std::cout << "Osoite: " << sami.osoite << std::endl; std::cout << "Kaytos: " << sami.puhelin << std::endl;
Mistä nuo henkilöiden tiedot ovat alun perin tulleet? Olisiko tämä nyt alkuun lähinnä sitä mitä tässä haetaan:
void tulosta(Henkilo const &h) { std::cout << "Nimi: " << h.nimi << "\n"; std::cout << "Osoite: " << h.osoite << "\n"; std::cout << "Kaytos: " << h.puhelin << "\n"; } Henkilo sami(/* jonkinmoinen alustus */); Henkilo jari(/* ... */); Henkilo kari(/* ... */); void etsi() { std::cout << "Anna nimi: "; std::string nimi; std::cin >> nimi; std::cout << "Tiedot henkilöstä " << nimi << "\n"; if (nimi == sami.nimi) tulosta(sami); else if (nimi == jari.nimi) tulosta(jari); else if (nimi == kari.nimi) tulosta(kari); else std::cout << "ei oo meikäläisiä\n"; }
C++:an perusteita voisi ehkä opiskella vähän vaikka jostakin kirjasta. Voi pitemmän päälle koitella aika lailla omia ja muidenkin hermoja, jos meinaat opetella C++:aa ihan vaan php:n pohjalta ja kyselemällä.
Tarvinnet std::mapin (jos nyt en ihan väärin muista STL:n konteinereita) johon talletat tiedot, avaimeksi nimi ja arvoksi se olio.
koo kirjoitti:
Mistä nuo henkilöiden tiedot ovat alun perin tulleet? Olisiko tämä nyt alkuun lähinnä sitä mitä tässä haetaan:
Kyllä ne on alustettu. Näytin vaana ne koodipätkät.
Ohjelmahan toimii jos muutan muuttujan nimen valiiksi alustetuksi, esim nimi.osoite => sami.osoite. Ja php oli vian esimerkkinä, että saisin asiani paremmin ymmäretyksi.
Täytyy katsoa tuota std::mapia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.