programowanie dla młodego

potrzebuję z młodym narybkiem poćwiczyć podstawy programowania widzę, że szkoła idzie w kierunku c++ więc chciałbym to zachować (jeśli sie da, jeśli nie to jakis lazarus czy python też sie nada)

Dla pewnej atrakcyjności chciałem użyć curses.h , PDcurses okno znakowe, żeby było od razu widać co się dzieje. Coś jak to

formatting link
Visual Studio 2019 gryzie się z PDcurses, a dokładniej zassany skądś PDcurses.dll wywala jakiść błąd.

Młody ma komp z win10, jakos to na tym powinno ruszyć. Nakierujcie mnie jakie wersje czego mam użyć, żeby to ruszyło. Może są starocie i trzeba staroci użyć :)

b.

Reply to
Budyń
Loading thread data ...

Doinstalować linux subsystem, jeśli chcesz normalne curses.

Reply to
heby

Konkretnie:

formatting link

Reply to
heby

Zobacz na Processing, uruchamiałem to dla syna pod Win10 do programowania w Python-ie. Też tam jest okno do podglądu działającego programu. Nawet fajnie to śmiga. Nie wiem jak działa z innymi językami.

Reply to
pytający
2020-12-31 o 03:11 -0800, Budyń napisał:

Użyj Mingw, jest tam fajny menedżer "pakietów" który pozwala doinstalować to i owo jednym klikiem - m.in. ncurses (pdcurses chyba też, ale nie używałem - ncurses jest i działa świetnie, również z unicode). Korzystam z tego na Windows XP oraz na Windows 8. Zupełnie niedawno zbudowałem nim to:

formatting link
Mateusz

Reply to
Mateusz Viste

czwartek, 31 grudnia 2020 o 12:57:59 UTC+1 Mateusz Viste napisał(a):

Mateusz, weź no zobacz może jakies poradnik krok po kroku, jak to wszystko zainstalować wyguglasz, rzuć linkiem. Coś mnie nie idzie, ncurses oczywiscie moze być. Jakoś te manuale dla mnie nieczytelne. No i chciałbym zeby to gdzies tam działało z pozimuvisual c++ czy tam jakiegos code:block.

W pascalu to było jakość łatwo - instaluję lazarusa, po 3 minutach wypuszczam pierwszy program. A tu godzinami siedze zeby to środowisko zabanglało. I nic.

b.

Reply to
Budyń

On 03/01/2021 23:44, Budyń wrote:> A tu godzinami siedze zeby to środowisko zabanglało. I nic. Zainstaluj linux subsystem a nie mingw...

Reply to
heby

poniedziałek, 4 stycznia 2021 o 07:28:49 UTC+1 heby napisał(a):

czyli najpierw linux subsystem (powiedzmy debian), potem w tym jakieś środowisko graficzne, potem jakies srodowisko programistyczne, potem ten ncurses, tak?

b.

Reply to
Budyń

... a potem to co chcesz w tym debianie. Przy czym sugeruje Ubuntu. Bedzie więcej nowego softu, w tym środowisk programistycznych.

apt-get install gcc ncurses-dev mc whatever

Zbędne, choć ułatwia życie.

Kompilator + środowisko.

Możesz przebierać w całej masie. CodeBlocks, CLion, NetBeans, ...

Obecnie w modzie jest Visual Studio Code.

Programowanie ncurses wymaga samozaparcia, nie myślałeś jednak o czymść bardziej sensownym? PyGame?

Reply to
heby
2021-01-03 o 14:44 -0800, Budyń napisał:

Ja z żadnego manuala nie korzystałem - prawdziwi mężczyźni ich przecież nie czytają (tak samo jak nie pytają o drogę, choćby mieli błądzić godzinami). A poważniej mówiąc to instalowałem to na nowo zupełnie niedawno, bo lubię okresowo "resetować" moje wirtualne Windowsy i im wszystko wrzucać od zera. Instalacja ogranicza się do ściągnięcia malutkiego instalatora (mingw-get-setup.exe) stąd:

formatting link
Po uruchomieniu, ten pyta gdzie zainstalować mingw oraz jakie pakiety mają zostać ściągnięte. Potem next next next i zrobione.

Być może tutoriale które czytałeś opowiadały o MSYS, lub o całym subsystemie Linux. Nie potrzebujesz tego (a przynajmniej ja nie potrzebuję), z tego co rozumiem to jest dla tych, co chcą uruchamiać jakieś ambitne bashowe skrypty w Windows. Dla zwykłego skompilowania programu C do exe wystarczy goły gcc.

Tu nie pomogę, bo nie znam. Ja piszę wyłącznie w notatniku, a kompiluję za pomocą make z Makefile z linii poleceń. Nie ufam żadnym IDE. Jeśli ten cały "visual c++" pozwala wybrać kompilator, to pewnie trzeba mu wskazać gcc.exe z mingw, i opowiedzieć jakie opcje (-std=c89, -Wall,

-lncursesw, itd) ma mu podać. Ale tylko zgaduję, bo ja to wszystko robię samodzielnie.

Naprawdę robisz coś nie tak. No chyba, że w Windows 10 to działa jakoś zupełnie inaczej niż na moich Win XP + Win 8. Jeśli naprawdę nie dajesz rady i samo uruchomienie mingw-get nie daje ci jasności co dalej robić, to daj znać - wykonam u siebie instalację jeszcze raz i porobię kilka screenów co i gdzie klikam.

Mateusz

Reply to
Mateusz Viste
2021-01-04 o 09:32 +0100, heby napisał:

ncurses (tak jak i wszystkie curses) jest nieco pogmatwane, z przyczyn historyczno-technologicznych. Do prostego rysowania tekstu po konsoli jednak wiele nie trzeba, a te kilka tajemnych wywołań można sobie obudować w jakiś przyjemniejszy "wrapper", i korzystać z niego. Ja to zrobiłem tak:

formatting link
Przy czym patrząc na pierwotną potrzebę Budynia ("programowanie dla młodego"), to nie wiem czy malowanie po konsoli przemówi do umysłu młodego człowieka. Być może warto byłoby raczej zainteresować się SDL2, ruszając po ekranie jakimiś marionetkowymi obrazkami.

Mateusz

Reply to
Mateusz Viste

poniedziałek, 4 stycznia 2021 o 10:13:20 UTC+1 Mateusz Viste napisał(a):

młody ma w szkole c++, wiec w tej okolicy chciałbym się trzymać. A cwiczenie pętli , warunków wszelakich gdyby się dało widowiskowo pokazywać na ekranie w postaci rysowanych kolejno X-ów może byłoby fajne (nie wiem) Tak na razie to sobie liczymy liczby pierwsze, zapisujemy to do tabeli, takie tam zabawy. Ale i tak wciąż mnie ciężko szokują problemy typu trudność znalezienia działającej funkcji integer to string. Dlaczego w delphim sie dało? :/

b.

Reply to
Budyń

To pewnie przez problemy w interfejsie krzesło-klawiatura :-)

formatting link

Reply to
Zbych

bez dwóch zdań, brakuje mi podstaw

taaaaa, // to_string example #include <iostream> // std::cout #include <string> // std::string, std::to_string int main () { std::string pi = "pi is " + std::to_string(3.1415926); std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number"; std::cout << pi << '\n'; std::cout << perfect << '\n'; return 0; }

u mnie mówi: [Error] 'to_string' is not a member of 'std'

(uzywając dev-c++ i code block)

b.

Reply to
Deyzz

bez dwóch zdań, brakuje mi podstaw

działa jak zwykle :/

// to_string example #include <iostream> // std::cout #include <string> // std::string, std::to_string int main () { std::string pi = "pi is " + std::to_string(3.1415926); std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number"; std::cout << pi << '\n'; std::cout << perfect << '\n'; return 0; }

u mnie mówi: [Error] 'to_string' is not a member of 'std'

(uzywając dev-c++ i code block)

b.

Reply to
Budyń
2021-01-04 o 02:07 -0800, Budyń napisał:

Nie wiem jak to wygląda w C++, ale w normalnym C jest tak:

char liczba[16]; int n = 666; snprintf(liczba, sizeof(liczba), "%d", n);

Niektóre platformy posiadają jeszcze funkcję itoa() (z której zazwyczaj korzysta sprintf), ale to już wychodzi poza standard.

Mateusz

Reply to
Mateusz Viste

Albo masz jakiś antyczny kompilator, albo nie włączyłeś minimum c++11.

Google mówi że dev-c++ i code block to są jakieś edytory. Poszukaj jak się w nich ustawia parametry kompilatora i włącz c++11/14/17/20, czy co tam najświeższego obsługuje kompilator, który masz.

formatting link

Reply to
Zbych

boost::lexical_cast< std::string >( 10 )

std::to_string( 10 )

Tu też się da.

Reply to
heby

Tak jeszcze na marginesie: niektóre konstrukcje z C++ mogą być szkoujące dla nauczyciela syna. Nie przesadzaj.

Reply to
heby

poniedziałek, 4 stycznia 2021 o 12:47:21 UTC+1 Zbych napisał(a):

dobra, bede grzebal w tym kierunku, thx

b.

Reply to
Budyń

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.