Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
7
Cevap
655
Tıklama
0
Öne Çıkarma
C'de ikinci işlem yapmak
B
9 yıl
Çavuş

scanf("%c",&yanit); bu ifadede %c den önce bir boşluk bırakınca çalışıyor. Bildiğim kadarıyla program çalışırken oluşan '\n' (newline) karakterleri scanf in beklediği karakter değerini '\n' olarak almasına sebep oluyor ve program yanit değişkenine newline('\n') karakterini atamış oluyor.





< Bu mesaj bu kişi tarafından değiştirildi brk0001 -- 27 Temmuz 2016; 18:07:18 >
Bu mesaja 1 cevap geldi.
B
9 yıl
Çavuş

scanf den önce fflush(stdin); fonksiyonu da kullanabilirsin.


Bu mesaja 1 cevap geldi.
A
9 yıl
Yüzbaşı

goto kullanımı pek tavsiye edilmez bilginize.


Bu mesaja 1 cevap geldi.
Y
9 yıl
Çavuş

Do-while döngüsüyle yapabilirsiniz. Biraz kurcalayın, olmazsa kodları yazıp veririm size. Kolay gelsin. :)



J
9 yıl
Çavuş

Belirli aralıktaki sayıların toplamını
n*(n + 1)/2 formülü ile de hesaplayabiliriz.

0 ile her iki sayı arasındaki sayıların toplamını formüle göre hesaplayıp büyük sayıdan küçük sayıyı çıkarıp toplamı bulabiliriz.



< Bu ileti mobil sürüm kullanılarak atıldı >

R
9 yıl
Onbaşı
Konu Sahibi

Merhaba arkadaşlar,
Daha yeni C öğrenmeye başladığım için bişey denemek istedim. Önce for ile iki deger arasındaki sayiların toplamını buldum. Daha sonra bu işlemi tekrar yapar mısınız gibi bi soru sormak istedim. Ancak ikinci işlemi sormak istediğimde bir türlü ileri gidemedim. Hatamı anlamadım yardımcı olabilir misiniz?

 
#include <stdio.h>
int main()
{

// amaç iki sayi arasindaki sayiların toplamini bulmak.

int i,x,y,z=0;


yeniden: printf("Iki deger giriniz: "); scanf("%d%d",&x,&y);

if(x<y)
{
for(i=x;i<=y;i++)
{
z=z+i;
}

printf("Sonuc: %d",z);

}
else if(x=y)
{
printf("Aynı degerler girdiniz.");
goto yeniden;
}
else
{
for(i=y;i<=x;i++)
{
z=z+i;
}

printf("Sonuc: %d\n\n",z);
}

char yanit;
printf("\ntekrar yapmak istiyor musunuz?"); scanf("%c",&yanit);

switch(yanit)
{
case 'Y' : goto yeniden;
case 'N' : printf("Program sonlandirildi."); break;
}



}



R
9 yıl
Onbaşı
Konu Sahibi

hocam sizin mesajınızı yaptığımda olmadı ama aklıma o an bu ifadeleri eski komutların altına yazmak geldi. Bunu yapınca oldu. Yine de teşekkür ederim. :)

#include <stdio.h> 
int main()
{

// amaç iki sayi arasindaki sayiların toplamini bulmak.

int i,x,y,z=0;


yeniden: printf("Iki deger giriniz: "); scanf("%d%d",&x,&y);

if(x<y)
{
for(i=x;i<=y;i++)
{
z=z+i;
}

printf("Sonuc: %d",z);
char yanit;
printf("\ntekrar yapmak istiyor musunuz?"); scanf(" %c",&yanit);

switch(yanit)
{
case 'Y' : goto yeniden;
case 'N' : printf("Program sonlandirildi."); break;
}

}
else if(x==y)
{
printf("Aynı degerler girdiniz.");
goto yeniden;
}
else
{
for(i=y;i<=x;i++)
{
z=z+i;
}

printf("Sonuc: %d \n\n",z);

char yanit;
printf("\ntekrar yapmak istiyor musunuz?"); scanf(" %c",&yanit);

switch(yanit)
{
case 'Y' : goto yeniden;
case 'N' : printf("Program sonlandirildi."); break;
}
}

char yanit;
printf("\ntekrar yapmak istiyor musunuz?"); scanf(" %c",&yanit);

switch(yanit)
{
case 'Y' : goto yeniden;
case 'N' : printf("Program sonlandirildi."); break;
}



}





< Bu mesaj bu kişi tarafından değiştirildi rumman -- 27 Temmuz 2016; 18:24:58 >
Bu mesaja 1 cevap geldi.
R
9 yıl
Onbaşı
Konu Sahibi

Ne kullanmamı tavsiye edersiniz?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @amewrika
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.