Gdzie jest błąd?

Ja mam swój zawód i wiele czasu codziennie muszę poświęcać na nowinki
w swoim fachu (czytać biuletyny i publikacje naukowe), aby nie wypaść z fachu.
Praca też mi zajmuje część dnia. A życie osobiste?
Nie widzę tego, że będę wtajemniczał zawiłości programowania,
pozostawiam to programistom.
Jeśli coś chcę sam wykonać, to po poradę zwracam się do fachowców.

Zawsze musi być jakieś kodowanie, choćby jednobajtowe ascii :thinking: Jakoś nie przemawia do mnie twoje tłumaczenie :joy:

Chodzi mi o to, że ze stringa jednobajtowych ASCII nie wynika bezpośrednio, w jakiej stronie kodowej ma być wyświetlany. Jest to zewnętrzna informacja. Podczas, czy w przypadku UTF-8, UTF-16, UCS-2 i Unicode BOM LE/BE jest to metadana wynikająca z jego kształtu.

No to się zdecyduj :smiley: Chcesz się uczyć czy nie chesz. Chcesz być początkujący czy zaawansowany. Chcesz rozumieć, czy nie.

Bo póki co wygląda to tak, że zadajesz tuziny podstawowych pytań możłiwych do samodzielnego zgłębienia, bronisz się, że “to cię nie interesuje”, a potem pytasz o języki dla zaawansowanych.

Tak się nie da. Trzeba trochę włożyć wysiłku. Nie wystarczy wizualizować sukcesu. Ten C wcale nie czeka tylko, żebyś go skompilował pozytywnym myśleniem ^^

To konkretnie. Ten co ten kod pisał, to kiepsko się nauczył,
czy my tego nie ogarniamy? :grinning:

Kod jest w porządku, tylko ty nie zaczynasz nauki od podstaw, więc masz problemy ze zrozumieniem.

Weź jakąś książkę z podstawami. Może być nawet Python. Jak zrozumiesz na czym polega programowanie w jednym języku, to inne też nie będą stanowiły dla ciebie takiego problemu.

Książkę polecam dlatego, że kursy internetowe często są różnej jakości i rzadko pisane przez wykładowców, którzy przećwiczyli na uczniach, w jakiej kolejności uczyć, jakiego słownictwa czy metod używać, albo z czym mogą mieć problemy.

Dlaczego ktoś napisał kod (ucząc się od podstaw), który nie działa.
Czy mam się uczyć C++, aby, zrozumieć dlaczego ktoś taki niewypał napisał?
Program ma działać, a nie mam filozofować dlaczego to jest bubel?
Tu są fachowcy i też temu nie zaradzili, oprócz tej porady,
że mam się uczyć. to może będę lepszy od nich i ten kod poprawię , aby zadziałał. :grinning:

Jeśli kod jest dobry to musi być jakiś powód, że jest tak jak jest.

Zrozum wreszcie, że z tym kodem wszystko jest w porządku. Jak włożysz kod C do sokowirówki i zaczniesz narzekać, że nie produkuje ona EXE, powodem nie będzie zły kod, tylko zły sposób kompilacji. Sokowirówki nie produkują plików wykonywalnych ze źródeł.

Podobnie z uruchamianiem. Nie jest problemem kodu to, że odpalasz go, samodzielnie, bez okna terminala przez co znika.

Nie spieszyłbym się także z liczbą mnogą w twojej deklaracji “my tego nie ogaraniamy”.

Przyjęcie powyższych faktów pozwoli iść do przodu.

Kod jak najbardziej działa, tylko ty nie wiesz co się dzieje (a miałeś już wytłumaczone).

1 polubienie

A kto wie?

Gdybym ja się na tym znał i miałbym komuś poradzić,
to napisałbym mu:
zmień to i to, albo zmień kompilator na taki czy owaki
a nie pisałbym mu, że nic nie rozumiesz i dlatego ci nie działa,
lub weź się za naukę programowania.

Jak do ściany. Uruchamiasz program, który tworzy na czas działania swoją instancję terminala, po zakończeniu pracy programu terminal znika, dlatego nie widzisz wyniku. On się tam pojawił (wynik działania programu), tylko ty nie zdążyłeś go zobaczyć.
Uruchom program przez np. cmd i będziesz widział wynik, bo cmd się nie zamknie tylko będzie czekał na kolejne polecenie.

1 polubienie

Tu się zgadzam, więc po co ktoś się uczył C++
i pisze teraz kody, które same nie działają
i potrzebują do tego jeszcze inne.

Gdzie tu logika? :grinning:

Ten. Program. Działa.
To ty wymyśliłeś, że ma działać inaczej i efektem jest, że nie spełnia on twoich, wymyślonych, oczekiwań. Ten program nie oblicza też liczby pi i dokładnie tyle samo sensu miałoby oczekiwanie od niego, że ją wyświetli, jak to, że stworzy on własną instancję terminala, bo ty tak chcesz. Ten program tego nie robi. Nie tworzy własnej konsoli, nie liczy liczby pi, nie pierze gaci.

Skoro program służy do czegoś, i każe mnie wpisać liczbę,
a nie potrafi jej pokazać wpisującemu… wynik,
to jakie on ma zastosowanie?

Tu nikt się nie chce przyznać,
że nie wie co z tym zrobić, skoro kod jest poprawny.

Mi się już skończyła cierpliwość. Nie wierzę, że ty chcesz zrozumieć zagadnienie.

2 polubienia

Nie, to ty nie rozumiesz co to jest terminal i arogancko upierasz się, że ta wiedza nie jest ci potrzebna. Nie chcesz się tego nauczyć, więc nie zrozumiesz, że ten program działa. Wyświetla wynik, na terminalu, którego nie używasz. Bo tak działa iostream.

Tak długo, jak będziesz twierdzić, że ten program nie działa, mimo że robi dokładnie to co powinien, nie pójdziesz do przodu. Więc przyjmij, że to nie wszyscy wokół na forum IT są w błędzie w kwestii 15-linijkowego programu podstawowym C, a to ty, przez aktywną niechęć do nauczenia się czym jest konsola, nie rozumiesz co robisz.

Ja nie chcę zrozumieć tylko skoro jest program poprawny,
to chcę dociec, jak usunąć przyczynę, że nie widać wyniku,
bo za szybko się wyłącza. Może jest takie coś jak w skrypcie VBS: sleep(2000).

VBS mam opanowany, ale czy to można nazwać językiem programowania…

Uruchom program w konsoli. To jest program działający w konsoli. Wyświetla wyniki w konsoli. Potrzebujesz konsoli. Zrozum, co to jest konsola.

Pisałem kilka razy, że gdy przeciągnę plik.exe na okno CMD to wszystko
jest w porządku, oprócz tego przeciągania :grinning:

No więc wziąłeś kod programu, który działa właśnie w taki sposób. Każde inne oczekiwanie zostało wymyślone przez ciebie i oczekujesz, że program zrobi coś, czego nie robi.

Nie chcesz tego zrozumieć. Mówisz też, że nie chcesz zrozumieć do czego służy konsola.

Wniosek jest prosty. Nie chcesz wiedzieć, co robisz, więc nie otrzymasz efektów, których oczekujesz. Idę stąd.