Tam Versiyonu Görüntüle: bu koddaki hata nedir?

korsanM
27.03.2008, 23:05
c programlamaya bu dönem başladık çok fazla birşey bilmiyorum. bir ödevim var. girilen sayı 10'dan büyük veya eşitse "1 + 2 + ..... + x", 0 ile 9 arasındaysa "x! yani faktöriyel" işlemlerini yapıyor. Negatifse hata mesajı veriyor. Bitince tekrar başlamak için ekrana E yazmamız gerekiyor. Yazdığım kod da şu ama hatayı bulamadım. Bulup hatamı söylerseniz sevinirim:

#include <stdio.h>
void main()
{
     int a, b, c, i;
     char d;
     b=1;
     c=0;
     d = 'e';
     while (d == 'e')
     {
          printf("Bir sayi giriniz: ");
          scanf("%d", &a);
          if (0<=a || a<=9)
               {
               for (i=0; i=a; i++);
               b=b*i;
               printf ("Sonuc: %d", b);
               }
          if (a>=10)
               {
               for(i=0; i=a;i++);
               c=c+i;
               printf ("Sonuc : %d", c);
               }
          else
               {
                    printf ("Lutfen pozitif bir sayi giriniz");
               }

               printf ("Yeni bir sayi girmek ister misiniz (Evet icin e yazin): ");
               scanf ("%c", &d);
               }
     }
}

zafi
30.08.2008, 13:16
biraz geç oldu farkındayım :P while d == 'e' demişsin ama e yi zaten atamışsın yani d sürekli e değerini aldığından sonsoz döngü oluşur yada compiler hata verir...