C Dilinde "Modifable lvalue" Hatası

Quinttet

Hectopat
Katılım
10 Ağustos 2019
Mesajlar
131
Daha fazla  
Cinsiyet
Erkek
Merhaba,
Kullanıcıdan sayı girmesini ve girilen sayının asal olup olmadığını yazdırmaya çalışıyorum. Bunu da 2, 3, 5, 7'ye bölündüğünde kalanı 0 veriyorsa asal değil diye yazdırmaya çalışırken böyle bir hata aldım. Bunun çözümü nedir?

Ekran görüntüsü 2022-11-26 170519.png
 
Yazilimda = isareti bizim bildigimiz esitleme olayi degildir. Daha cok atama gibidir. If icerisinde kontrol edecekseniz == kullanmaniz lazim. Tek esittir olmaz. Ayrica, belirli bazi durumlar var onlarin kontrol edilmesi lazim. Google'da aratirsan detayli sonuca ulasabilirsin. 2'ye bolunmeyip asal olmayan sayilar da mevcut cunku.
 
@Görkem Say Tamam onlar için de ayrı case ler oluşturacaktım zaten. Eğer bir sayı 2,3,5,7 den birisine tam bölünüyorsa zaten bu o sayının asal olmadığını gösterir. Cevabınız için teşekkür ederim.
 
@Görkem Say Tamam onlar için de ayrı CAS'eler oluşturacaktım zaten. Eğer bir sayı 2, 3, 5, 7'den birisine tam bölünüyorsa zaten bu o sayının asal olmadığını gösterir. Cevabınız için teşekkür ederim.

Hocam tabii ki bölünüyorsa asal değil deyip bitirebilirsiniz ama kurduğunuz sistem algoritma mantığı açısından çok eksik.

Asal sayıların tanımından yola çıkarsak kendisi ve 1'e bölünecek başka hiçbir sayıya bölünmeyecek, 149 girersek 2'den başlayıp 148'e kadar her sayıya bölünüp bölünmediğini kontrol etmek (for döngüsünde) algoritma olarak daha kapsayıcı.

Eğer amacınız Switch case yapısı için örnek yapmaksa ayrı yeten bunları da çözebilirsiniz:

Sınav sonucuna göre harf notu vermek ( 85 üstü AA, 75 85 arası BA gibi )
Otopark saati hesaplama ( araç 1 saatten az kaldıysa 3 TL, 4 saate kadar kaldıysa 10 TL gibi )
 

Geri
Yukarı