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

Dlaczego nie działa getch(); (jeżeli dołączyłem bibliotekę conio.h)

Object Storage Arubacloud
0 głosów
3,516 wizyt
pytanie zadane 18 października 2015 w C i C++ przez Adam22675 Początkujący (280 p.)
// Pierwszy program w C++

#include <iostream>
#include <conio.h> //niestandardowa biblioteka, co czyni program mniej przenosnym

using namespace std;

void main ()
{
	cout << "Hurra! W koncu zaczne programowac!" << endl;
	getchar();
}

4 odpowiedzi

+2 głosów
odpowiedź 18 października 2015 przez Szykem2 Nałogowiec (29,510 p.)
Tak jak kolega wyżej, lepiej używać funkcji ze standardowych bibliotek ale jeżeli chcesz używać koniecznie getch() to Visual Studio mówi, że ta funkcja jest zdeprecjonowana i trzea używać _getch().
+1 głos
odpowiedź 18 października 2015 przez Porcupine Nałogowiec (31,560 p.)
Dwie opcje:

1. Usuń "void" przed main()

2. Dodaj na końcu programu: return 0; a na początku int main()...
komentarz 18 października 2015 przez Adam22675 Początkujący (280 p.)
// Pierwszy program w C++

#include <iostream>
#include <conio.h> //niestandardowa biblioteka, co czyni program mniej przenosnym

using namespace std;

int main ()
{
	cout << "Hurra! W koncu zaczne programowac!" << endl;
	getch();
	return 0;
}

Nadal jednak nie działa.

+1 głos
odpowiedź 18 października 2015 przez szejkus Użytkownik (540 p.)

Żeby dodać getchar(); najpierw musisz mieć bibliotekę #include <stdio.h>, czyli cały kod będzie wyglądać w ten sposób:

 

#include <iostream>
#include <stdio.h>

using namespace std;

int main ()
{
	cout << "Hurra! W koncu zaczne programowac!" << endl;

	getchar(); 
	return 0;
}

 

P.S getchar(); możesz wpisać dla pewności dwa razy :D

komentarz 18 października 2015 przez Patrycjerz Mędrzec (192,320 p.)
Właśnie, co to za dziwna praktyka dwukrotnego wpisywania tej funkcji? Przecież jeśli program zrobi to, co ma zrobić, to nikt nie trzyma wtedy przycisku... a może ta funkcja ma jakiś błąd konstrukcyjny - nie wiem.
komentarz 18 października 2015 przez szejkus Użytkownik (540 p.)
U mnie zadziałało, a co do wpisywania tego dwa razy to w którymś z odcinków było o tym mówione.
komentarz 18 października 2015 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
"Właśnie, co to za dziwna praktyka dwukrotnego wpisywania tej funkcji?" Ponieważ jak klikamy enter, to możemy wcisnąć jeszcze jakiś klawisz przypadkiem. Głównie ta funkcja jest po jak skończy się wykonywać program to by nie zamykało okna tylko wyświetlało wynik.
komentarz 18 października 2015 przez Patrycjerz Mędrzec (192,320 p.)
W ogóle nie przemawiają do mnie te argumenty. Jeśli program się wykona, to czy będzie jedno wywołanie, czy więcej, to co to zmienia? Chodzi tylko o poczekanie na wciśnięcie klawisza...
komentarz 18 października 2015 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
Ponieważ to jest stosowane do konkursów algorytmicznych i dziwnych środowisk programistycznych, gdzie program po wykonaniu zamyka okno i tyle.
komentarz 18 października 2015 przez Patrycjerz Mędrzec (192,320 p.)
Widzę, że nadal nie rozumiesz... wiem o tym, że dzięki temu program się nie wyłączy, tylko będzie czekać na wciśnięcie klawisza, ale wystarczy jedno wywołanie funkcji. Po co dwie? Nie widzę w tym sensu.
0 głosów
odpowiedź 18 października 2015 przez Adam22675 Początkujący (280 p.)
Chciałbym tylko dodać, że gdy zastąpiłem getchar () za getch() to oczywiście działa. Korzystam z IDE:Visual 2012
komentarz 18 października 2015 przez draghan VIP (106,230 p.)

Moje pytanie wobec tego brzmi: do czego potrzebujesz getch()?
Funkcja getchar() jest zdefiniowana w standardzie (deklaracja w nagłówku iostream), więc nie potrzeba dodatkowo włączać conio.h.

komentarz 18 października 2015 przez Adam22675 Początkujący (280 p.)
W kursie, miałem zapisane getch() i napisane było , że to wyłącza odpalony program, po dowolnym klawiszu , dlatego chciałbym zobaczyć czy faktycznie tak to działa, a z getchar() tylko jak nacisnę enter.
komentarz 18 października 2015 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
Jakieś dziwne kursy masz. Te funkcje poprostu oczekują na wciśnięcie klawisza.

Podobne pytania

0 głosów
2 odpowiedzi 271 wizyt
0 głosów
0 odpowiedzi 893 wizyt
pytanie zadane 25 lipca 2018 w C i C++ przez czlowiek.gnot Nowicjusz (200 p.)
+1 głos
4 odpowiedzi 2,010 wizyt
pytanie zadane 7 sierpnia 2015 w PHP przez migacz100 Mądrala (5,410 p.)

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...