w jaki sposób przerwać część programu. a mianowicie funkcję, która polega głównie na wczytywaniu danych od użytkownika, po wciśnięciu jakiegoś klawisza, np. ESC? Metoda z pętlą do…while(getch()!=27) działa dobrze, jeżeli wewnątrz pętli nie ma "cin".
Sprawdziłem tą metodą, która poniekąd nie działa. Jakoś mi działało. Używam Code::Blocks 10.5 z MiniGW na Intel64. Prawdopodobnie używasz jakiegoś pogańskiego kompilatora i ci nie idzie. Dodaje kod
#include
#include"conio.h"
int main()
{
do
{
int a=0;
std::cout<<"Tekst"<
std::cin>>a;
std::cout<
}while(getch()!=27);
}
[/code]
ja nie mam kompilatora i nie będę sprawdzał tego empirycznie, ale poradziłbym spróbowanie z utworzeniem osobnego wątku dla danej funkcji a w głównym sprawdzanie czy zakończyć.
Analizując problem sądzę że może być jednak nie możliwe ponieważ używając polecenia cin przekazujesz sterowanie do systemu i czekasz aż użytkownik wprowadzi dane i potwierdzi to klawiszem enter wówczas sterowanie wraca do programu.
@X.A.N pytanie do ciebie czy po wyświetleniu pierwszej linii “Tekst” i wciśnięciu klawisza ESC program się kończy (bo raczej nie powinien). btw używanie epitetów jest fajne na kierunkach humanistycznych nie na ścisłych a programowanie należy do kierunków ścisłych.