• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja system()

Konferencja JOIN! 2018
+1 głos
113 wizyt
pytanie zadane 9 sierpnia w C i C++ przez Agnes Użytkownik (740 p.)
Wielu nauczycieli programowania uczy początkujących uczniów używania system("pause") na końcu programu, by okienko konsoli nie zamknęło się zanim użytkownik nie wciśnie entera czy innego klawisza. Jeśli nie powinno się tej funkcji używać w takiej sytuacji to dlaczego?

2 odpowiedzi

+1 głos
odpowiedź 9 sierpnia przez mokrowski Szeryf (86,120 p.)
1. Jest to funkcja wywoływana bo dany nauczyciel nie wie że w IDE które preferuje można osiągnąć to bez takiej dziwnej "protezy": https://stackoverflow.com/questions/1775865/preventing-console-window-from-closing-on-visual-studio-c-c-console-applicatio Jak widać <CTRL> to jakiś zakazany klawisz :-/ Lub w ustawieniach IDE.

2. Funkcja ta jest niebezpieczna w programie komercyjnym bo z łatwością można zaburzyć środowisko i uruchomione będzie "pause" atakującego lub zupełnie inny program. Mówię oczywiście o kontekście wydawania oprogramowania.

3. Argument polecenia w system(...), jest właściwy wyłącznie dla danego systemu operacyjnego. Tworzysz więc kod nieprzenośny.
komentarz 9 sierpnia przez Tomek Sochacki VIP (116,810 p.)

bo dany nauczyciel nie wie że w IDE które preferuje można osiągnąć to bez takiej dziwnej "protezy"

Niejeden nauczyciel pewnie nawet nie wie co to za magiczny skrót IDE...

komentarz 9 sierpnia przez Secrus Stary wyjadacz (12,440 p.)
Kontynuując temat, można dojść i do tego, że wielu nauczycieli informatyki, nie zna porządnie żadnego języka programowania...
komentarz 9 sierpnia przez Tomek Sochacki VIP (116,810 p.)
Wielu to nie... ale z te 95% pewnie tak :) (albo tylko ja miałem okazje takich poznać...)
komentarz 9 sierpnia przez Hiskiel Pasjonat (17,060 p.)
A znacie takich nauczycieli "Dla pewności?"

"Dla pewności dajcie dwa razy"

"Dla pewności napiszcie jeszcze to"
komentarz 9 sierpnia przez Tomek Sochacki VIP (116,810 p.)

Niestety, póki polscy nauczyciele będą tylko teoretykami bez praktycznie żadnego (nawet choćby kilkuletniego) doświadczenia komercyjnego to nic się w naszym szkolnictwie nie zmieni... Ja mam swoje zdanie na temat nauczycieli w szkołach średnich (bardzo niepochlebne), ale nie cieszy się ono przychylnością i już nie raz zostałem zakrzyczany (nawet na tym forum)...

"Dla pewności napiszcie jeszcze to"

hehe... nom, a potem powiedz tak team leaderowi w pracy, że chcesz tak dla pewności napisać ten moduł jeszcze raz :)

0 głosów
odpowiedź 9 sierpnia przez j23 Maniak (71,820 p.)

Funkcja jak funkcja, chodzi o to, że polecenie pause jest poleceniem windowsowym, więc takie wywołanie nie musi działać na systemach uniksopochodnych.

Podobne pytania

0 głosów
1 odpowiedź 52 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez Shiro Dyskutant (9,830 p.)
0 głosów
1 odpowiedź 50 wizyt
pytanie zadane 12 września w PHP, Symfony, Zend przez Gucci Gaduła (3,570 p.)
0 głosów
1 odpowiedź 65 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

55,376 zapytań

99,735 odpowiedzi

205,205 komentarzy

27,305 pasjonatów

Przeglądających: 324
Pasjonatów: 11 Gości: 313

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...