Kezdőoldal » Számítástechnika » Programozás » Hogyan írjak egy adatva késő...

Hogyan írjak egy adatva késő függvényt c++-ban, hogy a főprogramban egy utasításban el legyen intézve a kérdés kiírása és a bevitt adat változóba tárolása?

Figyelt kérdés

Pl valami ilyesmi lenne:


input(típus kerdes, típus valtozo)

{

cout << kerdes;

cin >> valtozo;

}


main()

{

input("kérdés szövege", valami változó)

}


Emlékeim szerint itt valamit a * meg az & jelekkel kell kavarni, de hogy is van pontosan?


2016. nov. 6. 11:27
1 2 3
 11/21 A kérdező kommentje:
kösz #8, kipróbálom
2016. nov. 6. 12:34
 12/21 A kérdező kommentje:

#8


a további kérdésem az, hogy ezt ugye kicsit másképp gondoltam.

ha jól értelmezem a GetUserInput visszaadja a bevitt adatot a main függvénykek.


amit szeretnék, az meg az, hogy a bekérő függvény argumentumjai között legyen egy változó, aminek az értéke lesz amit a felhasználó betáplál.


tehát ne úgy nézzen ki a main függvényből a hívás, hogy

x=GetUserInput("Adjon meg valamit"); // ahol x felveszi az értéket,

hanem


így GetUserInput("adjon meg valamit", x); // ahol x felveszi a megadott értéket.


emlékszem hogy lehet így is, s arra vagyok kíváncsi, hogy hogyan. Ezt mondjuk még C és nem C++ esetében láttam.


s ott, ha jól emlékszem a pointerekkel variálás volt.

Konkértan valami olyasmira emlékszem, hogy a fügvény, ha önmagán belül megváltoztatja egy változó értékét, akkor utána a main a megváltozott értékkel folytatja munkáját vagy nem.


Mintha olyasmi lett volna, hogy ha egy függvény megkapja az argumentumjait, pl


int osszeg(int a, int b){ int c; c = a+b; b++; return c;}


int main(){

int x=8,y=6,z=4;


osszeg(x,y);

return y;

}


ez a main függvény szeintem 6-ot ad vissza, mert y=6,

De volt valami olyasmi, hogy ha az osszeg függvénynél azt írjuk, vagy ilyesmit, hogy

int osszeg(int &a, int &b){ int c; c = a+b; b++; } ,

akkor a main függvényben az y már 7 lesz, mert az osszeg függvényben ott van, hogy b++


tehát olyan megoldást keresek, ahol a bevitt érték nem feltétlenül a függvény visszatérési értéke, hanem beleírja egy változóba.

Azért akarom így csinálni mert egy függvényben óhajtok több változót bekérni, tehát nem elég az egy visszatérési érték.

2016. nov. 6. 13:55
 13/21 A kérdező kommentje:

a c-s scanf( "%d", &x ); mintájára, ahol a bevitt adat x-ben tárolódik.


de most írjak scanf-et egy c++ programba??

2016. nov. 6. 14:22
 14/21 anonim ***** válasza:

Szándékossan nem bonyolítottam.


void GetUserInput(const std::string& output, std::string& input) {

std::cout << output;

std::getline(std::cin, input);

}


void GetUserInput(const std::string& output, int& input) {

std::cout << output;

std::cin >> input;

}


int main()

{

std::string nev;

GetUserInput("Add meg a neved: ", nev);


int kor;

GetUserInput("Add meg a korod: ", kor);


std::cout << "A te neved " << nev << " es " << kor << " eves vagy.\n";

}

2016. nov. 6. 15:21
Hasznos számodra ez a válasz?
 15/21 uno20001 ***** válasza:
Pl.: [link]
2016. nov. 6. 22:02
Hasznos számodra ez a válasz?
 16/21 A kérdező kommentje:

Amúgy régen, amikortájt ezeket tanultam (mint látható, nem megtanultam), akkor még olyan.volt, hogy


#include <iostream.h>


Most meg eltűntek a .h kiterjesztések.

Ez miért van?

2016. nov. 13. 18:49
 17/21 anonim ***** válasza:
A .h kiterjesztésű állományok a C, míg a nélküliek C++. Ha a C++-nál tanultad valószínű nem értett a tanárod hozzá, ami nem lenne meglepő, tapasztalt programozók nem mennek tanárnak, legalábbis magyarországon nem igen.
2016. nov. 13. 20:38
Hasznos számodra ez a válasz?
 18/21 A kérdező kommentje:
C++-nál is .h volt, hiszen iostream.h C-ben nincs
2016. nov. 15. 09:33
 19/21 anonim ***** válasza:
Valóban rosszul írtam, elnézést. Ezek esetében a .h kiterjesztésűek a C++98-as szabvány előtt voltak használatosak. Bővebben: [link]
2016. nov. 15. 21:12
Hasznos számodra ez a válasz?
 20/21 A kérdező kommentje:

pontosan 98-ban tanultam ezeket először, Visual Studio Enterprise 98-at használva integrált fejlesztési környezetnek.

Arra is emlékszem, hogy

using namespace std;

sor sem volt annó.

anélkül is működött.


amit kérdeztem sikerült megoldanom.


#include <iostream>

using namespace std;


void GetUserInput(char *question, int *var)

{

cout << "Please enter an integer value: ";

cin >> *var;

}


int main()

{

int a;

GetUserInput("Please enter an integer value: ", &a;

}


tehát annyira voltam kíváncsi hogy a függvényhívásban a változó címét kell átadni, a függvény definícióban meg az oda mutató pointert használni.

2016. nov. 18. 10:09
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!