C'de programı başa döndürme

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
aragorntheelessar
19-07-2004, 18:09   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
268 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

printf("bir sayı giriniz\n");
scanf("%d",&a);
if((a>=0)&&(a<=9))
{
printf("rakam\n");
}
else
{
printf("rakam değil\n");
}
printf("devam etmek istiyormusunuz [E/H]\n");
b=getchar();
}
getch();
}

arkadaşlar bu programda girdiğim sayının rakam olup olmadığının
kontrolunu yapak istiyorum program girdiğim sayılar için doğru sonuç
verior ama "devam etmek istiyormusunu" sorusundan sonra "e" ya da
"h" harfine basmam bişey ifade etmiyor programı başa döndüremiyorum.
ne yapmalıyım lütfen yardım edin.Başa döndürmenin başka alternatifleri
var mı??

ZoLTaN
20-07-2004, 15:10   |  #2  
Taze Üye
Teşekkür Sayısı: 0
4 mesaj
Kayıt Tarihi:Kayıt: Tem 2004

Merhaba, istedigini programlarında yapmak icin bir döngü kullanmalısın. Burda while döngüsü uygun olur. Yazdıgın kodun tamamını bir while blogu icine koy. Örnegin:

while(b=='E')
{
    senin harfleri rakamları kontrol ettigin kodun
    .
    .
    .
    printf("devam etmek istiyo muyuz ?[E/H]");
    b=getch();
}

gibi bisi olsun mesela..

aragorntheelessar
21-07-2004, 01:34   |  #3  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
268 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

cevap için teşekkür ederim birde seni söyledğin şekilde deneyeceğim sonucu bildiririm.iyi çalışmalar.

SeRBoY_WHiTe
29-07-2004, 19:39   |  #4  
Yıllanmış Üye
Teşekkür Sayısı: 0
390 mesaj
Kayıt Tarihi:Kayıt: Tem 2004

E bu kodlarla gayet normal basa donememen. Neyse
do{ ...kodların...
  }while(b=='e' || b=='E'); seklinde bir dongu kullanabilecigin gibi.
Tavsıye edilmeyen bir cozum olarak: if sartına baglı goto kullanada bilirsin. Yani:
/*
basadon:
...kodların...
if(b=='e' || b=='E')
goto basadon;
*/ gibi...

aragorntheelessar
30-07-2004, 00:35   |  #5  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
268 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

ama goto çok eskide kaldı diye kullanmak istemiyorum yoksa onu yapmak çok basit bu arada hatamı anladım olay şu
do
{
.
.
.
.
printf("devam etmek istiyormusunuz\n");
fflush(stdin);
cevap=getchar();
}
while(cevap!='h' && cevap'='H');
getch();
}
işte bu çalışan ve biraz daha profesonelce yazılmış bir programdır.ilgilenen tüm arkadaşlara teşekkür ederim.

SeRBoY_WHiTe
30-07-2004, 12:29   |  #6  
Yıllanmış Üye
Teşekkür Sayısı: 0
390 mesaj
Kayıt Tarihi:Kayıt: Tem 2004

while a dkt :) . Bir !(lojik değil) eksigi ile bunun gibi bir sey iste.
Kahretsin arkadaslarla boyle ilgilenmeye calısıyoruz iste...

aragorntheelessar
14-08-2004, 02:52   |  #7  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
268 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

while kısmmı bir yazım yanlışı olmuş yinede çok alçak gönüllü bir şekilde uyarmışsın saol.