Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Funkcje - Wyjaśnienie


Rekomendowane odpowiedzi

Opublikowano

Więc tak mam taki problem ,że nie rozumiem w funkcjach tego jak zwrócić liczbe , string napisaną przez użytkownika do maina tak żeby mógł on to wypisać na ekranie . Chodzi o to ?

int funkcja(int nLiczba)
{

cout << "Podaj liczbe : ";
cin >> nLiczba;


return nLiczba;
}

int main()
{
int nTwojaliczba = funkcja(nLiczba);
cout << "Twoja liczba to " << nTwojaLiczba << endl;


return 0;

}

??
nostaleh.png
Opublikowano

Trochę błędów, zacznę od początku (nie jestem ekspertem w C++, jeżeli się pomylę proszę poprawić)

1. Na początek musisz użyć dyrektywy preprocesora include, aby włączyć źródło iostream do danego pliku, oraz zadeklarować że będziesz używał przestrzeni nazwy std (nie trzeba pisać std::cout) 

2. C++ jest językiem case-sensetive, więc zmienna (int) nTwojaliczba to nie to samo co zmienna (int) nTwojaLiczba.

3. Chyba pokręciłeś C++ z C, ponieważ w C++ nie używa się pointerów. Zamiast tego, zwracamy wartość danej zmiennej, a nie modyfikujemy wartość względem adresu zmiennej.

 

Poprawiony kod:

#include <iostream>
using namespace std;

int funkcja()
{

int nLiczba;
cout << "Podaj liczbe : ";
cin >> nLiczba;


return nLiczba;
}

int main()
{
int nTwojaLiczba = funkcja();
cout << "Twoja liczba to " << nTwojaLiczba << endl;


return 0;

}

https://ideone.com/dPGw8N

Opublikowano

1.Wiem o tym . Poprostu nie chciało mi się tego pisać ;p.

2.Prosty błąd w pisowni ponieważ pisałem to szybko na telefonie.

3.Tak napisałem ponieważ widziałem w jednym z tutoriali jak ktoś tak robił .

nostaleh.png
Opublikowano
dyrektywy preprocesora include, aby włączyć źródło iostream do danego pliku

 

iostream (ty @Nope za poprawke) to tylko biblioteka, która między innymi deklaruje cin i cout

żadne źródło, żadne tam pliki.

 

oraz zadeklarować że będziesz używał przestrzeni nazwy std (nie trzeba pisać std::cout)

 

to odnosi się u ciebie do słowa "musisz"

 

ponieważ w C++ nie używa się pointerów

 

wut? dziwnie to brzmi tak jak to napisałeś.

 

a nie modyfikujemy wartość względem adresu zmiennej

 

bardziej poprawnie by było "a nie modyfikujemy wartości pod wskaźnikiem" czy coś w tym stylu'

 

+nie polecam korzystania z notacji węgierskiej

Opublikowano

3. Chyba pokręciłeś C++ z C, ponieważ w C++ nie używa się pointerów. Zamiast tego, zwracamy wartość danej zmiennej, a nie modyfikujemy wartość względem adresu zmiennej.

Używa się, używa.

 

include do tylko biblioteka, która między innymi deklaruje cin i cout

chyba o iostream chodziło

Opublikowano

Chyba nie zabardzo to zrozumiałem.. Chciałem zrobić taki prosty kalkulator z tych funkcji ,żeby to przećwiczyć ale jak mam w mainie dodać liczby za pomocą inta ?

 

int PierwszaLiczba()
{
int liczba;
cout << "Podaj pierwsza liczbe : ";
cin >> liczba;








return liczba;
}


int DrugaLiczba()
{
int liczba2;
cout << "Podaj druga liczbe : ";
cin >> liczba;




return liczba2;
}




char Dzialanie();
{
char dzialanie;
cout << "Podaj dzialanie : " << endl;
cin >> dzialanie;


if (dzialanie == '+')
{
return dzialanie;


}


if (dzialanie == '-')
{
return dzialanie;


}


if (dzialanie == '*')
{
return dzialanie;


}


if (dzialanie == '/')
{
return dzialanie;


}






}






int main()
{








int Numer = PierwszaLiczba();
int Numer2 = DrugaLiczba();




}

Co mam dalej zrobić , żeby dodać te liczby które wpisałem ? 

nostaleh.png
Opublikowano

No niezbyt rozumiesz

1. Po funkcji "Dzialanie()" masz średnik. Nie musisz sprawdzać jaki jest znak, zwyczajnie wpisz

return dzialanie;

po

cin >> dzialanie;

2. Mam nadzieje, że to forum zjebało te formatowanie

3.By dodać te liczby to w mainie zrób tak:

int liczba1 = PierwszaLiczba(); 
int liczba2 = DrugaLiczba();
int wynik = liczba1 + liczba2;
Opublikowano

 

No niezbyt rozumiesz

1. Po funkcji "Dzialanie()" masz średnik. Nie musisz sprawdzać jaki jest znak, zwyczajnie wpisz

return dzialanie;

po

cin >> dzialanie;

2. Mam nadzieje, że to forum zjebało te formatowanie

3.By dodać te liczby to w mainie zrób tak:

int liczba1 = PierwszaLiczba(); 
int liczba2 = DrugaLiczba();
int wynik = liczba1 + liczba2;

Nie działa . Po wpisaniu dwóch liczb konsola sama się wyłącza. A pozatym patrząc po zmiennej wynik zrobiłeś tak , że user wpisze dwie liczby , a potem działanie , a i tak program te liczby doda , a nie zrobi tak jak user chciał. Ten ; w działanie() to poprostu błąd w pisowni bo pisałem to na telefonie.

nostaleh.png
Opublikowano

Nie, pokazałem Ci jak zrobić dodawanie. Nie baw się w tworzenie parsera matematycznego. Poza tym kod by działał, ale na pewno coś zepsułeś.

Opublikowano

Co tutaj zepsułem ? ? 

int PierwszaLiczba()
{
	int liczba;
	cout << "Podaj pierwsza liczbe : ";
	cin >> liczba;

	return liczba;
}


int DrugaLiczba()
{
	int liczba2;
	cout << "Podaj druga liczbe : ";
	cin >> liczba2;

	return liczba2;
}




char Dzialanie()
{
	char dzialanie;
	cout << "Podaj dzialanie : " << endl;
	cin >> dzialanie;

	return dzialanie;
}






int main()
{


	int liczba = PierwszaLiczba();
	int liczba2 = DrugaLiczba();
	int wynik = liczba + liczba2;


	system("pause");
	return 0;
}
nostaleh.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...