Wątek przeniesiony 2015-08-19 16:54 z C/C++ przez ŁF.

Początek z programowaniem

0

Witam,
Zaczynam uczyc sie C++.
Napisalem program, ktory powinien wywolac funkcje, pobrac podana wartosc i przypisac ja do zmiennej, a nastepnie wyswietlic, jednak nie wazne co podam, zawsze wyrzuca mi 0

#include <iostream>

using namespace std;

	int a;

	int getINPUT(int a);

	int getINPUT(int a) {
		cout << "Podaj liczbe:";
		cin >> a;
		return a;
	}

int main() {
	getINPUT(a);
	cout << a;
	return 0;
}
0
int main()
{
    
    cout << getINPUT(a);
    return 0;
}

Powinno działać, w ogóle wyrzuć z definicji funkcji

  getINPUT(int a) 
{
        cout << "Podaj liczbe:";
        cin >> a;
        return a;
}

parametr int a;

getINPUT(void)
 {
        int pobranaLiczba = 0;
        cout << "Podaj liczbe:";
        cin >> pobranaLiczba;
        return pobranaLiczba;
    }

Pisząc getINPUT(int a) w tej funkcji tworzysz kopię zmiennej a i na niej operujesz, zmienną którą zwracasz returnem pobierasz w ten sposób

zmienna = getINPUT();

.

0

Tak to jest jak się używa zmiennej globalnej i dodatkowo o takiej samej nazwie jak zmienna lokalna.

cin >> a;

tutaj wczytujesz do zmiennej lokalnej

cout << a;

tutaj wypisujesz zmienną globalną

#include <iostream>
using namespace std;

int getINPUT() 
{
    int a;
    cout << "Podaj liczbe:";
    cin >> a;
    return a;
}
 
int main() 
{
    int b = getINPUT();
    cout << b;
    return 0;
}
0

Czyli powinno to wyglądać tak:

#include <iostream>
using namespace std;

int getINPUT() 
{
   int a;
   cout << "Podaj liczbe:";
   cin >> a;
   return a;
}
 
int main() 
{
    int input = getINPUT();
    cout << input;
    return 0;
}

EDIT:
@twonek mnie ubiegł :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1