Jak użyć "gotoxy" w Dev-C++?

0

Witam, korzystam z Dev'a w którym bibloteki z tą funkcją nie ma no więc ściągnąłem niestety nadal nie działa.

#include <iostream>
#include <conio2.h>
using namespace std;

main()
{
      gotoxy(1,1);

system ("pause");
return 0;
}

Pokazuje mi

  [Linker error] undefined reference to `gotoxy' 
  ld returned 1 exit status 

Próbowałem, szukałem, ale nie znalazłem. Pomóżcie ;>

Pozdrawiam.

2
  1. Wywal Dev'a.
  2. Nie używaj conio (conio2 też nie). Pierwsza jest jeszcze z czasów DOS'a a druga to nakładka na nią oferująca jeszcze możliwość działania na systemach POSIX'owych.
  3. Jak już ewidentnie chcesz zaawansowanie móc rysować po konsoli/terminalu to użyj NCurses, ma znacznie większe możliwości, jest wieloplatformowa i nowoczesna (na tyle na ile biblioteka do interfejsu tekstowego może być nowoczesna).
  4. Nie używaj system("pause");. Stopowanie działania programu po jego wykonaniu to zła praktyka, a w tym przypadku jeszcze nieprzenośna. W ostateczności użyj cin.get(); lub getchar();.
  5. main powinno zwracać int, jeśli tego samemu nie podasz to kompilator to przyjmie w domyśle, ale tak NIE POWINNO się robić. Należy zawsze jawnie podawać zwracany typ oraz w przypadku gdy nie jest to void ZAWSZE powinno być return <cośtam>;.
  6. Błąd, który dostałeś jest błędem linkera i oznacza, że nie zna definicji funkcji gotoxy.
0

Dlaczego dev jest taki zły?
Dlaczego system("pause") jest złe?

Okej rozumiem co mówi mi błąd, ale jak temu zaradzić? Co zrobić?

0

Dev-C++ jest złe bo:

  • używa GCC w wersji 3.4 uznawanej za najbardziej zabugowaną wersję w historii
  • nie wspomnę o tym, że aktualna wersja stabilna to 4.6!
  • jest nierozwijany od około 5-6 lat
  • posiada debugger wymagający debuggowania (udało mi się go odpalić nota bene RAZ w życiu)
  • promuje złe nawyki w stylu dołączania conio.h do każdego programu, czy dawania system("pause") by podtrzymać konsolę
  • nie wiem jakim prawem to śmie nazywać się IDE
  • jest całe mnóstwo dużo lepszych i wcale nie droższych IDE, które rzeczywiście pomagają programiście zamiast go frustrować

system("pause") jest złe bo:

  • jest nieprzenośne
  • zbędne
  • żaden szanujący się program nie pauzuje po zakończeniu działania gdyż zakłóca to możliwość przekierowywania strumieni
  • uruchamia zewnętrzny proces
  • przestanie działać po przejściu z cmd na PowerShell'a

Zaradzić jest prosto, zlinkować odpowiednią bibliotekę.

0

Okej postaram się zmienić nawyki.

Jaki kompilator w takim razie polecasz?

0

Kompilatory 2 GCC i CL, oba są bezpłatne.

0

Pełne nazwy można ;)?

0

Zainstaluj Code::Blocks po prostu ;)

0

To są pełne nazwy. Jeśli chcesz IDE(Dev-CPP to IDE) to polecam Code::Blocks

0
rafi94 napisał(a)

Pełne nazwy można ;)?

GNU Compiler Collection a CL nie ma innej nazwy (albo ja nie znam).

1 użytkowników online, w tym zalogowanych: 0, gości: 1