Çözüldü C kodumda programı nasıl kapatabilirim?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

375973

Hectopat
Katılım
14 Ekim 2020
Mesajlar
1.060
Makaleler
6
Çözümler
4
Aşağıda yazdığım kod bloğunda, if koşulundan sonra eğer ki girilen değer 4'ten büyükse programın devam etmemesini istiyorum. Eğer 4'ten büyük bir değer girilirse program değişkenleri almaya devam ediyor, en sonunda hatalı bir değer girildiğini söylüyor. Bunu nasıl düzeltebilirim? Şimdiden teşekkürler.
C:
#include <stdio.h>
int main(){
    int islem;
    int a;
    int b;
    printf("Merhabalar,hesap makinemize hosgeldiniz.\nLutfen bir islem seciniz.\n");
    printf("Toplama islemi icin=1\nCikarma islemi icin=2\nCarpma islemi icin=3\nBolme islemi icin=4");
    scanf("%d",&islem);
    if(islem>4){
        printf("Hatali bir islem sectiniz.");
    } // Buraya gelindiği an eğer ki 4'ten büyük bir değer girilirse programın kapatılmasını, işlemin devam etmemesini istiyorum.
 
    printf("Lutfen isleminizde kullanmak istediginiz 2 sayiyi giriniz.\n");
    scanf("%d %d",&a,&b);
    switch(islem){
        case 1: printf("Girdiginiz sayilarin toplami sudur=%d",(a+b)); break;
        case 2: printf("Girdiginiz sayilarin farki sudur=%d",(a-b)); break;
        case 3: printf("Girdiginiz sayilarin carpimi sudur=%d",(a*b)); break;
        case 4: printf("Girdiginiz sayilarin bolumu sudur=%d",(a/b)); break;
        default: printf("Var olmayan bir islem sectiniz. Secebileceginiz islemler 1 ve 4 arasindadir.");
     
     
     
     
    }
 
 
 
 
 
 
    return 0;
}
 
Son düzenleyen: Moderatör:
Çözüm
Aslında Switch'e default koymuşsunuz çok gerek olduğunu düşünmüyorum if'e ama şöyle yapabilirsiniz:
Kod:
if(islem>4){
        printf("Hatali bir islem sectiniz.");
        return 0;
    }
Ek olarak:
Kod:
default: printf("Var olmayan bir islem sectiniz. Secebileceginiz islemler 1 ve 4 arasindadir.");
break; // Break kodu unutulmuş
Aslında Switch'e default koymuşsunuz çok gerek olduğunu düşünmüyorum if'e ama şöyle yapabilirsiniz:
Kod:
if(islem>4){
        printf("Hatali bir islem sectiniz.");
        return 0;
    }
Ek olarak:
Kod:
default: printf("Var olmayan bir islem sectiniz. Secebileceginiz islemler 1 ve 4 arasindadir.");
break; // Break kodu unutulmuş
 
Çözüm
exit(0); ile yapabiliyor olman lazım yani böyle olacak.

C:
if(islem>4){
    exit(0);
}
[Error] 'exit' was not declared in this scope bu hatayı aldım.
Aslında Switch'e default koymuşsunuz çok gerek olduğunu düşünmüyorum if'e ama şöyle yapabilirsiniz:
Kod:
if(islem>4){
        printf("Hatali bir islem sectiniz.");
        return 0;
    }
Teşekkür ederim yardımınız için evet işe yaradı.
 
Aslında Switch'e default koymuşsunuz çok gerek olduğunu düşünmüyorum if'e ama şöyle yapabilirsiniz:
Kod:
if(islem>4){
        printf("Hatali bir islem sectiniz.");
        return 0;
    }
Ek olarak:
Kod:
default: printf("Var olmayan bir islem sectiniz. Secebileceginiz islemler 1 ve 4 arasindadir.");
break; // Break kodu unutulmuş
return 0; da çalışıyormuş :D
 
Son düzenleme:
Yani #include <stdlib.h> eklemen gerekiyor.

Ayrıca exit(0); yöntemi belleği de temizliyor olması lazım. Tam emin değilim.
Evet. C99 ile birlikte bellek temizlemeyi kullanmamak için _exit() fonksiyonu kullanılabilir. İşlemler arası parent-child ilişkisi yoksa _exit() kullanmanın pek bir alemi yok.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı