Merhaba arkadaşlar yeni yeni yazılım öğreniyorum kendimce bir hesap makinesi yaptım sonsuz döngü ile fakat bir problemim var ilk sayı girişinin girilecek işlem seçildikten sonra girilip birdaha girilmemesini istiyorum. Yani anlayacağınız ilk işlem seçilecek sonra ilk sayı seçilecek ondan sonra birdaha ilk sayı seçilmeyecek sonuç üzerinden gidilecek burda ilk sayının dediğim gibi seçilmesi için for döngüsünün içine girmesi gerekiyor e haliyle sürekli seçtiriyor. Bunu nasıl halledebiliriz düşünüp birkaç şey denedim ama işe yaramadı malesef fikri olan varmıdır acaba? Şimdiden yardımlarınız için teşekkürler. İyi forumlar.
evet for dongusunun icine alman lazim fakat bir kere sectirmek istedigin icin for dongusunun disiga flag variable i tutup o sayede bir kere sectirebilirsin. Mesela int x,y,a satirina flag diyede bir sey ekle ilk degeri 0 olsun, for dongusunun icinde if (flag == 0){ scanf("%d",&x); flag = 1;} yapabilirsin. Kod biraz garip ama yeni baslamissin ogrenmeye galiba o yuzden cokta muhim degil. Bir de bu kadar else if kullanicagina switch yapisina bakabilirsin.
STR Priest
kullanıcısına yanıt
çok teşekkür ederim işe yaradı demek istediğiniz kodu anladım ben onu while ile yapmaya çalıştım olmadı while döngüsünün içine yazıp döngü dışına işte atıyorum flag++ şeklinde bi satır yazdım fakat olmadı bu oldu saolun bu arada switch yapısını kullandım zaten ilk fakat tüm switchi döngüyü aldığımda sürekli bütün işlemleri sırayla yapıyor her caseye break yazdığımda ise komutu bitiriyor onu çözemedim
quote:
Orijinalden alıntı: Jubstaaa
çok teşekkür ederim işe yaradı demek istediğiniz kodu anladım ben onu while ile yapmaya çalıştım olmadı while döngüsünün içine yazıp döngü dışına işte atıyorum flag++ şeklinde bi satır yazdım fakat olmadı bu oldu saolun bu arada switch yapısını kullandım zaten ilk fakat tüm switchi döngüyü aldığımda sürekli bütün işlemleri sırayla yapıyor her caseye break yazdığımda ise komutu bitiriyor onu çözemedim
if (a==1) { printf("Sonuc:%d\n\n", x+y); x=x+y; } else if (a==2) { printf("%d", x-y); x=x-y; } else if (a==3) { printf("%d", x*y); x=x*y; } else if (a==4) { printf("%d", x/y); x=x/y; } else {
printf("Geçersiz işlem"); Demek istedigim if, else if, else olan yere su sekilde de yazabilirsin: switch(a){ case 1: printf("Sonuc:%d\n\n", x+y); x=x+y; break; case 2: else if (a==2) { printf("%d", x-y); x=x-y; break; boyle boyle en sonda else yerine default:printf("Geçersiz işlem"); } yazabilirsin