Kafi Napisano Kwiecień 2, 2010 Zgłoś Share Napisano Kwiecień 2, 2010 Witam wszystkich. Wczoraj wymyśliłem sobie, że zacznę uczyć się programowania a co tam Jakbym miał mało zajęcia w pracy, w prowadzeniu własnej firmy i zajmowaniu się dziećmi to jeszcze sobie to programowanie wymyśliłem hehe. No więc jak pomyślałem tak zrobiłem i od kilku minut ślęczę nad jakimś kursem C++. Niestety jestem osobą robiącą problemy z niczego i szukającą dziury w całym więc już mam pierwsze wątpliwości. I tak po tym przydługim wstępie dochodzę do sedna sprawy. Mamy taki oto listing: CODE#include <iostream> #include <conio.h> int Add (int x, int y) { std::cout << "Funkcja Add() otrzymala " << x << " oraz " << y << "\n"; return (x+y); } int main() { using namespace std; cout << "Jestem wewnatrz funkcji main()! \n"; int a, b, c; cout << "Wpisz dwie liczby oddzielajac je spacja a nastepnie nacisnij enter: "; cin >> a; cin >> b; cout << "Wywoluje funkcje Add()\n"; c=Add(a,B); cout << "Ponownie jestesmy w funkcji main().\n"; cout << "Suma podanych liczb to: " << c << "\n"; cout << "Opuszczam program!\n"; getch(); return 0; } Działa zgodnie z zamierzeniami ale... parametry funkcji Add to (int x, int y) natomiast te same parametry w funkcji main oznaczone są jako a,b i suma jako c. Dla mnie logiczniejszym byłoby identyczne oznaczenie parametrów w całym programie, wtedy program wyglądałby np. tak: CODE#include <iostream> #include <conio.h> int Add (int x, int y) { std::cout << "Funkcja Add() otrzymala " << x << " oraz " << y << "\n"; return (x+y); } int main() { using namespace std; cout << "Jestem wewnatrz funkcji main()! \n"; int x, y, z; cout << "Wpisz dwie liczby oddzielajac je spacja a nastepnie nacisnij enter: "; cin >> x; cin >> y; cout << "Wywoluje funkcje Add()\n"; z=Add(x,y); cout << "Ponownie jestesmy w funkcji main().\n"; cout << "Suma podanych liczb to: " << z << "\n"; cout << "Opuszczam program!\n"; getch(); return 0; } Który z powyższych litingów jest, że tak napiszę, bardziej poprawny? I dlaczego? A może to kompletnie nie ma żadnej różnicy? Link do komentarza Udostępnij na innych stronach More sharing options...
DevPort Napisano Kwiecień 2, 2010 Zgłoś Share Napisano Kwiecień 2, 2010 To kompletnie nie ma żadnej różnicy :] To, że funkcja Add przyjmuje 2 parametry "x" i "y" to znaczy, że to są przykładowe nazwy tychże parametrów. Równie dobrze mogło to być Add(int param_one, int param_two) Ciebie powinien obchodzić jedynie typ przyjmowanych parametrów (tu akurat int = integer ;] = liczby całkowite). :] Pozdrawiam. Prawdziwy programista wiesza sie wraz ze swoim programem. Link do komentarza Udostępnij na innych stronach More sharing options...
Kafi Napisano Kwiecień 2, 2010 Autor Zgłoś Share Napisano Kwiecień 2, 2010 To kompletnie nie ma żadnej różnicy :] To, że funkcja Add przyjmuje 2 parametry "x" i "y" to znaczy, że to są przykładowe nazwy tychże parametrów. Równie dobrze mogło to być Add(int param_one, int param_two) Ciebie powinien obchodzić jedynie typ przyjmowanych parametrów (tu akurat int = integer ;] = liczby całkowite). :] Pozdrawiam. No tak to prawda, że nazwa parametru funkcji może być dowolna ja się tylko zastanawiam czy te nazwy nie powinny się pokrywać zarówno w funkcji Add() jak i w funkcji main(). A skoro już takimi bzdurami tutaj głowę zawracam to jeszcze jedno pytanie. Które z poleceń lepiej używać do zatrzymania działania programu? - system ("PAUSE"); - getch(); - getchar(); Link do komentarza Udostępnij na innych stronach More sharing options...
xevil21 Napisano Kwiecień 2, 2010 Zgłoś Share Napisano Kwiecień 2, 2010 te nazwy nie muszą się pokrywać... używaj: system ("PAUSE"); Pozdrawiam! Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Kwiecień 2, 2010 Zgłoś Share Napisano Kwiecień 2, 2010 1) W funkcji Add sa inne zmienne niz w funkcji main. 2) Co chcesz. Przeczytaj wpierw troche wiecej kursów, bo to o co pytasz to sa nieistotne pierdoły. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
azra Napisano Lipiec 31, 2010 Zgłoś Share Napisano Lipiec 31, 2010 te nazwy nie muszą się pokrywać... używaj: system ("PAUSE"); Pozdrawiam! Ahem, nie używaj system ("PAUSE"); - nie ma powodu, żeby do czegoś tak trywialnego jak zatrzymanie wykonywania programu (które, jeżeli chodzi o utrzymanie okna konsoli po wykonaniu programu - powinno być wykonywane przez Twoje IDE, np NetBeans robi to automatycznie) używać wyjścia najmniej przenośnego. Taki kod na skompilowany pod linuksem już nie zadziała tak jak chcesz. Użyj na przykład std::cin.get() z <iostream> albo getchar() czy fgetc() z <cstdio> - te zadziałają tak samo na każdym systemie operacyjnym bez jakichkolwiek ingerencji w kod. No i (co jednak najmniej istotne) będą szybsze. Jeśli chodzi o problem z nazewnictwem zmiennych, nazywaj je tak, abyś czytając listing po miesiącu orientował się o co chodzi - x,y,z to takie mało mówiące nazwy. ilosc_kredek, pudelko - to już o czymś mówi. Zmienne podawane jako argumenty funkcji nie muszą się tak samo nazywać i czy tak jest - to kompletnie nieistotne, istotne jest raczej to, czy są dobrze nazwane. Jeżeli Twój kurs w części dla troszkę bardziej zaawansowanych ciągle poleca używanie system ("PAUSE"); i using namespace std; czy (o zgrozo) <conio.h> - to nie jest to zbyt dobry kurs. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.