Jeśli chodzi o C++ to w sumie większość tekstu wymaga poprawek albo uściśleń.
Przykłady:
typu string, int i float nie są z "biblioteki" iostreams. Char w conio?
Nazwanie <iostreams> "Podstawowa biblioteka zawierająca większość przydatnych instrukcji." to po pierwsze nic konkretnego nie mówi a po drugie jest nieprawdą.
setprecision, o ile pamiętam, to <iomanip>
tablica.length() - o co chodzi?
{tablica}.length to chyba jest w Javie, w C++ nie słyszałem o czymś takim, chyba że to jakiś nowy feature, szczególnie w konktekście poprzedzającego tekstu, gdzie jest mowa o normalnej tablicy[], a nie o kontenerach z stl.
Podstawowy problem z zadaniem jakie sobie postawiłeś to to, że na początkowym etapie nauki wiele rzeczy jest przestawianych "na wiarę/na pamięć" tzn uczeń nie wie co oznaczają poszczególne elementy i czym one tak naprawdę są. Efekt ten widać także np. w nauce normalnych, ludzkich obcych języków. Na początku zwykle uczniowie uczą się na pamięć kilku zdan/wyrażeń, bez wnikania w ich konstrukcję i gramatykę.
Skutkiem tego twoje notatki przestaną być aktualne po kilku tygodniach nauki, bo wtedy objaśnienia będą już inne. Jeden z nauczycieli powiedział mi kiedyś, że najgorsza rzecz jaką można zrobić ucząć kogoś, to nauczyć go na początku nieprawdy i potem to odkręcać. Z drugiej strony, fajnie jest od razu napisać jakiś program (lub przywitać się z kolegą z kursu w obcym języku).
Od razu uprzedzam, że nie mam talentów edukacyjnych, nie gwarantuje, że sam zastosuje się do przedstawionych zasad.
A wracając do sedna, jedziemy dalej na nowej wersji (kolejność mniej więcej jak w dokumencie - chyba nie jest najlepsza):
iostream to podstawowa biblioteka operacji wejścia wyjścia(pisania i czytania). Definiuje abstrakcyjne (czy pokazujące co można zrobić, ale nie określające jak to jest zrobione) clasy strumieni, czyli obiektów do których można pisać (ostream) lub czytać (istream). Jest też strumień dwukierunkowy (iostream). Zawiera również deficję tzw strumieni standardowych - konkretnych obiektów, których można używać bez inicjowania - wejścia (cin), wyjścia (cout) i komunikatów błędów (cerr). Dokładnie tak samo jest w czystym C, gdzie program dostaje otwarte trzy "pliki" - stdin, stdout i strerr. W sumie nie wynika to z języka, a raczej z właściwości systemów operacyjnych.
fstream to pewna konkretyzacja iostream - strumienie są reprezentowane przez pliki na dysku. Analogicznie do strumieni abstrakcyjnych występują strumień wejściowy (do czytania - ifstream), wyjściowy (do pisania - ofstream) i dwukierunkowy (fstream) - swoją drogą tutaj na forum zdecydowanie nadużywany.
Operatory pisania << i czytania >> służą do formatowania/konwersji danych z/na postać tekstową. Obiekty w nagłówku iomanip umożliwiają w pewnym zakresie sterowanie formatowaniem.
Do obsługi strumieni binarnych są metody read i write.
Typu char, int, float, double i mieszanki z long/short, signed/unsigned są wbudowane w język i nie wymagają dołączania niczego. Jedynie "zaawansowane" obliczenia na liczbach zmiennoprzecinkowych wymagają dołączenia math.h/cmath.
Natywnym w C typem napisowym jest char *, w C++ dochodzi string, ale to nie jest typ wbudowany, definiuje do nagłówek string i jest to klasa. Stałe (literały) napisowe pozostają typu char * (dokładniej const char *).
Tłumacząć metodę (tak nazywamy funkcję będącą elementem klasy) find podałeś w nazwiasach, jako parametr, {zmienna}. Nie jest to do końca prawda, argumentami funkcji zwykle może być wyrażenie (wyjątek to przekazywanie przez referencję), w szczególności stała czyli literał. Szczególnie ma to sens w metodzie find - najczęściej szuka się w góry znanego ciągu znaków.
Insert i erase zamieniłeś miejscami.
Substr jest metodą - też musi być wykonane na jakimś obiekcie. To metoda a nie funkcja.
Te opisy atoi i atof chyba niepotrzebnie są połączone.
Usuwanie i tworzenie dynamicznej tablicy są zamienione.
Sam pokazałeś, że wskaźnik nie musi być inicjowany adresem istniejącej zmiennej, może być przez new, więc tekst przy definicji wskaźnika jest trochę niekonieczny, przedstaw to jako alternatywę albo = &zmienna albo = new ....
Na razie chyba tyle...
93,733 zapytań
142,669 odpowiedzi
323,287 komentarzy
63,295 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj
Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.