
W tej lekcji zajmę się omówieniem kilku najpotrzebniejszych funkcji w języku C++. Język C++ sam w sobie jest dość ubogi, nie ma wielu wbudowanych funkcji, gdyż zdecydowano poumieszczać je w oddzielnych bibliotekach, które możemy dołączyć, kiedy będziemy ich potrzebować. Omówię tutaj kilka przydatnych funkcji. Aby ich używać należy dołączyć odpowiedni plik nagłówkowy, przy pomocy dyrektywy inculde.
Plik nagłówkowy: "cstdlib"
Chyba najczęściej używane funkcje spośród funkcji bibliotecznych. W konsoli nie są tak potrzebne, gdyż strumienie wejścia-wyjścia automatycznie konwertują łańcuchy znaków na liczby(i odwrotnie), ale pisząc pod Windows, nie ma tak dobrze.
Funkcje służące do konwersji łańcucha znaków na liczbę, jako argument podajemy łańcuch znaków, a skonwertowana liczba jest zwracaną wartością:
Funkcje służące do konwersji w drugą stronę, z liczb na łańcuch znaków:
Jako pierwszy argument, podajemy liczbę(typu int), jaką mamy skonwertować, drugim jest wskaźnik do łańcucha znaków, w którym ma być skonwertowana liczba do napisu, trzecim argumentem, jest system liczb, w jakim ma zostać wyświetlony wynik, dla systemu dziesiętnego podajemy wartość 10, dla szesnastkowego 16 itd.
Tutaj podobnie jak na górze, tylko, że ta funkcja służy do konwersji: ułamek na tekst. Pierwszy argument to konwertowana liczba(w double) drugi parametr to ilość cyfr, które ma zawierać tekst, bo wynik zostanie zaokrąglony do żądanej ilości cyfr, i ostatnim argumentem jest wskaźnik do tablicy, w której ma być umieszczony napis.
Jeszcze mówiąc o konwersji danych muszę wspomnieć o rzutowaniu typów, spójrzmy na przykład:
Mamy taką sytuację, że chcemy podać zmienną int, jako argument do funkcji, która spodziewa się zmiennej typu double. W tym celu przy podawaniu argumentu do funkcji liczba, rzutujemy wartość zmiennej typu int, na wartość zmiennej typu double. Robi się to pisząc przed nazwą zmiennej w nawiasie typ, na który rzutujemy zmienną: (double)liczba rzutujemy wartość zmiennej typu int, na wartość typu double. RZUTOWANIE TO SPOSÓB, KTÓREGO POWINNIŚMY UŻYWAĆ W OSTATECZNOŚCI, BOWIEM NIE WSZYSTKIE TYPY SIĘ POPRAWNIE RZUTUJĄ.
Plik nagłówkowy: "cstdlib"
Niezbędny wszędzie tam gdzie liczby w programie mają być losowane.
Przed używaniem funkcji generującej liczby losowe, należy zainicjować generator liczb losowych dowolną wartością, przy każdym uruchomieniu programu generator powinien być zainicjowany inną liczbą, zapobiegnie to powtarzaniu się losowanych liczb. Do tego celu można pobrać datę z systemu i tu wszystko zależy od nas, możemy dodać, pomnożyć lub zrobić kilka różnych działań na liczbach z daty, im algorytm bardziej skomplikowany tym lepiej, tak, aby wynik był zawsze inny.
Funkcja losująca liczbę z określonego przedziału liczb, początkiem przedziału jest zawsze liczba 0.
Funkcji używa się z operatorem %
Zakres powyższej funkcji obejmuje 10 liczb, pamiętajmy, że liczymy od 0, czyli zakres wynosi od 0 do 9. Tu należy pamiętać, że po operatorze % podajemy ilość liczb w zakresie, a zaczyna się on od 0, więc gdy podajemy liczbę po %, zakres będzie się kończył liczbą o jeden mniejszą niż ta liczba. Dla przykładu, gdy po % podamy 10, to zakres będzie kończył się na liczbie o 1 mniejszej, czyli 9.
Przykład:
W tym programie chcemy mieć zakres od 1 do 6, a wiadomo, że funkcja rand, losuje wartości tylko od 0, ale posłużyliśmy się pewnym mykiem, otóż do wyniku losowania dodajemy 1, dzięki czemu, najmniejszą wartości może być teraz 1, czy rozumiesz już jak łatwo można określić zakres losowania. Nasza funkcja losuje wartości pomiędzy 0 a 5, a my do wyniku dodajemy 1, więc uzyskujemy wartości od 1 do 6.
Pliki nagłówkowe: "cmath" oraz pierwsza funkcja w "cstdlib"
W pliku "cmath" znajduje się wiele popularnych funkcji matematycznych, oto niektóre z nich:
Funkcja "abs" służy do obliczania wartości bezwzględnej. Jako argument podajemy liczbę całkowitą do obliczenia, zwracaną wartością jest wynik wartości bezwzględnej.
Funkcja "ceil" służy do zaokrąglania w górę liczb ułamkowych.
Funkcja "cos" zwraca cosinus kąta zmiennej kat(w radianach).
Funkcja "fabs" służy do obliczania wartości bezwzględnej z liczb ułamkowych.
Funkcja "floor" służy do zaokrąglania w dół liczb ułamkowych.
Funkcja "pow" służy do podnoszenia liczb do potęgi, jako pierwszy argument podajemy wartość podnoszonej liczby, natomiast jako drugi argument potęgę, do której będziemy podnosić.
Funkcja "sin" zwraca sinus kąta zmiennej kat(w radianach).
Funkcja "sqrt" zwraca pierwiastek drugiego stopnia zmiennej liczba.
Funkcja "tan" zwraca tangens kąta zmiennej kat(w radianach).
Plik nagłówkowy: "cstdlib"
Funkcja, którą już doskonale znamy, służy do wywoływania poleceń systemowych, każde polecenie ma swój tekst, którym go wywołujemy.
Jak widać argumentem jest łańcuch znaków(tekst).
To polecenie jest już doskonale znane, zatrzymuje pracę programu, wyświetla napis "Aby kontynuować, naciśnij dowolny klawisz . . ."" (pod innymi systemami może wyświetlać się inny tekst) i czeka na naciśnięcie jakiegoś przycisku(sygnału z klawiatury).
Polecenie "CLS" czyści ekran naszej konsoli(czarnego tła w programie).
Pokazuje bieżący czas w systemie i pozwala go ponownie ustawić.
Plik nagłówkowy: "cstdlib"
Wywołanie tej funkcji powoduje zakończenie pracy programu z powodu wystąpienia błędu.
Powoduje wyjście z programu w dowolnym miejscu. Podanie argumentu 0 zwykle oznacza, że program wykonał się poprawnie.