c

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

CxSSCx

Katılımcı Üye
6 Ocak 2012
735
0
arkadaşlar bir c programında goto deyimi ile programı hep döngüde tuttum nasıl esc tuşuna basınca kapanmasını sağlayabilirim. deyimi ve kullanılışını bilen var mı?
 
Moderatör tarafında düzenlendi:

Bedros Sanches

Emektar
5 Ocak 2006
525
14
Austin,Texas
goto deyimi ile isaretlediginiz satira gidebilirsiniz. ornek olarak;

Kod:
[COLOR=#ffffff] 
[/COLOR][COLOR=White]  [COLOR=Red]loop: ;[/COLOR][/COLOR]
[COLOR=LemonChiffon]  [/COLOR][COLOR=LemonChiffon]printf[/COLOR][COLOR=LemonChiffon]([/COLOR][COLOR=LemonChiffon]"\n%d"[/COLOR][COLOR=LemonChiffon], n[/COLOR][COLOR=LemonChiffon])[/COLOR][COLOR=LemonChiffon];
[/COLOR][COLOR=LemonChiffon]  [/COLOR][COLOR=LemonChiffon]n++;
[/COLOR][COLOR=LemonChiffon]  [/COLOR][COLOR=LemonChiffon][B]if [/B][/COLOR][COLOR=LemonChiffon]([/COLOR][COLOR=LemonChiffon]n<[/COLOR][COLOR=LemonChiffon]10[/COLOR][COLOR=LemonChiffon]) [/COLOR][COLOR=LemonChiffon][B]goto [/B][/COLOR][COLOR=White][COLOR=LemonChiffon]loop;
  else goto jump;
  :
  :
  :[/COLOR]
[COLOR=Red]  jump: ;[/COLOR]
}
[/COLOR][COLOR=#ffffff][/COLOR]
ornekte
ilk loop etiketinde bi dongu olusturabiliyoruz n i 10 a kadar bastiktan sonra 10 u gecince aradaki satirlari atlayip jump etiketinin oldugu satira gider.
cook ayrintili ogrencem dersen assembly deki jump ve branch komutlarina bakabilirsin o mantikla calisir.

programi kapatmakla ilgili olarak bi timer koyabilirsin thread olarak acarsin o timer belli degere ulasinca kapanir programin veya getch ile bi char variable ina harf okut. mesela (c)
Kod:
karakter=getch();
if(karakter='c'){
 goto loopubitir;
}
loopu bitir tagini de ileri bi yere koyarsin. atlar looptan boylece..

sahsen hic kullanmadim su ana kadar yaygin bir kullanimi yok bu komutun bilgin olsun :)


linux ortaminda ctrl+c ile terminate edebilirsin programini.windowstada o tarz bi escape karakteri olabilir.
dipnot: bir daha duzgun baslikla ac konunu ve sabret cevap icin :)
 

kesmezar

Katılımcı Üye
30 Nis 2012
263
0
Bir uçurumun
Bu yazdığım herhangi bir tuşa basınca çıkmanı sağlar,
-----------------------
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
//kodlarını buraya yaz...
system("PAUSE");
return 0;
}

---------------------------------------
Bu ise sadece esc ile çıkmanı sağlar.Ancak başka tuşa basılırsa ekrana uyarıyı yazıyor.Bunu sen halledersin;
-----------------------------------------

#include <stdio.h>
#include <stdlib.h>

const int ESC = 27;
int main()
{
int key = 0;
while(key != ESC)
{
printf("Cikmak icin esc tusuna bas ");
key = getche();

}
return 0;
}

-----------------------------------------------------------
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.