folder Tahribat.com Forumları
linefolder C - C++
linefolder C De Ufak Basit Bi Problemim Var :|



C De Ufak Basit Bi Problemim Var :|

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickneyime
    nickneyime's avatar
    Kayıt Tarihi: 16/Temmuz/2003
    Erkek

    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int a;
    double c,d;
    float b;
    char e,E;
    main()
    {
          start:
          printf("sayi:");
          scanf("%d",&a);
          b=sqrt(a);
          c=fabs(b);
          d=c*c;
          if(a==d)
          printf("tam kare.!!\n");
          else
          printf("\atam kare degil!!\n");
          printf("tekrarlamak icin e'ye basın\n");
          scanf("%s",&e);
          if(e==e||e==E){
          printf("\n");
          goto start;
          if else
          printf("\n ");
          goto end;}
          end:
          getch();
          return 0;
    }     

    kodlar bunlar , tam kare olup olmadıgını hesaplıyo ama sonuna tekrarlamak için dalga koydum if else de yanlış var diyo :| bi yardım edebilirmisinz müridler??


    bunch of idiots around me, yes everywhere.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dodobig
    dodobig's avatar
    Kayıt Tarihi: 11/Temmuz/2007
    Erkek

    baya bi hata var programda. sqrt de kullanacağın değişkenleri double seç öncelikle .

    if in içindekileriide e=='e'||e=='E' yap. e yi scanf string değil char yap %c

    birde scanf lerdeki %d leride düzeltmeyi unutma 


    www.atsizcilar.com
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickneyime
    nickneyime's avatar
    Kayıt Tarihi: 16/Temmuz/2003
    Erkek

    hojam sadece

    if else
          printf("\n ");
          goto end;}
          end:
          getch();
          return 0;
    }

    kısmında if else'i kırmızıya alıo,hata verio if else kısmında diğer dediklerini yaptım :|ama if else'in de problem war :S    


    bunch of idiots around me, yes everywhere.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dodobig
    dodobig's avatar
    Kayıt Tarihi: 11/Temmuz/2007
    Erkek

    editörden kopyala yapıştır yapmadın heralde.

    if else

    printf("\n")

    diye bir kodlama ilk kez görüyorum. ayrıca else ye geçeceğinde if in { ini kapatıcan else için ayrıca açıcaksın

    } // if kapandı 

    else {

    printf("\n ");

    goto end;}

    end:

    getch();

    return 0;

    }

     


    www.atsizcilar.com
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpArK
    SpArK's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    Kardesim bilmiyorum hallettinmi ama belkide gecte oldu fakat yeni gordum problemini senin icin bir program yazdim aciklayici olsun diue cunku yazmis oldugun kodda bazi pre initialize lar yok ne bileyim goto kaliplari var iyi bir muhendislik icin  olmayan hareketler :) if else filan ama else le bitmiyor falan filan yardimci olsun diye bende yazdim umarim beyenirsin.aciklamalar gereksiz oldu aslinda gereksiz aciklama yine kotu muhendislik fakat mazur gor kaptirmisim kendimi :)

     

    #include <stdio.h>    // standart kutuphanemizden biri I/O icin gerekli
    #include <stdlib.h>   // exit_success exit() atexit() gibi ve vb seyler icin
    #include <math.h>     // matematik fonksiyonlarimizi kullanmak icin
    #include <ctype.h>    // toupper tolower gibi fonksiyonlar icin
    //#define NDEBUG     // bunu eklersek debug kapanicak fakat assert.h i ekldik hata verirse hatalarimizi ayiklasin istiyoruz
    #include <assert.h>  // C dilinin hata icin yonetim sinifi
    #ifdef _WIN32        // eger bu kod Windowsta derlenirse conio.h i calistir , ben linuxta calisiyorum portable olsun diye sen windowstaysan
    #include <conio.h>   // sen istedigin ornekte ekledik diye ekleme yaptim
    #endif               // ifdef  in bitisolayi if  else gibi
    void hoscakal(void)   // bu fonksiyonu program kapandiktan sonra calistirsin diye yaptik :) programin gule gule mesaji
    {
      printf("\"nickneyime\" nin yazdigi programdan cikiyorsunuz..Hoscakalin\n");
    }
    int main(int argc,char *argv[])  // main fonksiyonumuza giriyoruz  argumanlar gereksiz fakat istersen kullan iyi olur
    {
    atexit(hoscakal);  // atexit fonksiyonu  program bittiginde icine aldigi fonksiyonu calistirir yani dusun main() bittikten sonra calisan fonksiyonu belirtirsin
    // ard arda atexit() ler yaparsan FILO  olarak calisir  yani first in first out  (ilk giren son cikar)
    fflush(stdin);fflush(stdout);  // programa girmeden once input ve outputlari flashliyoruz maksat temizlik olsun ortam streamler temizlensin
    #ifdef _WIN32   // yine windowstaysak su islerimleri yap demek icin bunu kullaniyoruz
    system("title nickneyime");  // acilan MsDos Shell inin basligini degistrir
    system("COLOR 0A");  // MsDos Shell inin arka plan rengini 0 yapar  yani siyah yazilari A yani yesil :) matrix gibi olsun
    system("cls");  // programa baslamadan once  Shell in ekranini temizler
    #else            // else if teki gibi  eger windowsta derlenmicekse Linux Shelle gonderiyoruz linuxta clear kullaniyoruz cls yerine
    system("clear");
    #endif     
    int i_value1=0,i_value2=0,check=0; // integer degerlerimiz tutucak ve initialize ediyoruz 0 la fonksiyon icinde tanimliyoruz global yapma hic bir zaman ozel durumlar haric
    double d_value1=.0;   //  double degerimiz kok u tutucak  0 a esitliyoruz yani doublelar icin 0.0
    char choise;  // Evet veya Hayir secenegini tutucak

    printf("***************************************************************\n"); // programin girisini olustursun diye susleyelim dedik :)
    printf("\"nickeyime\" tarafindan kodlanmis girilen sayilarin tam kare\n");
    printf("olup olmadigini kontrol eden programa hosgeldiniz \n");
    printf("***************************************************************\n");
    for(;;)  // sonsuz donguye sokuyoruz kullanici H yani hayiri secene kadar yada ESC tusuna basip enterlayincaya kadar
    {
    printf("Lutfen kontrol etmek istediginiz sayiyi giriniz\n");
    scanf("%d",&i_value1);
    assert(d_value1 = sqrt(i_value1));    // C++ deki try catch olaylari gibi hata ayiklamak icin assertin icinde yaptiriyoruz hatali birsey olursa debug olucak
    // burda klavyeden girilen sayinin kokunu alip double a esliyoruz cunku sqrt double dondurur

    assert(i_value2 = (int) d_value1);    // burda ise  double degerini floating kismini kaybederek budayarak bir integer a atiyoruz boylece ondalikli kisim budandi
    assert( pow(i_value2,2.0) == i_value1 ? check = 1 : 1 ); // double dan int e aldigimiz kok sayinin karesi ilk girilene esitmi :) esitse check 1 oluyor yani dogru
    if(check) // yukarda kisaltilmis if ifadesinden gelen check in degeri dogruysa yani check = 1 ise  tam kare oldugunu anliyoruz
    {
      printf("Girmis oldugunuz sayi \"%d\" , tam karedir;koku : \"%.0lf\" dir.\n\n",i_value1,d_value1);
    }
    else  // check in ilk basta initialize ettigimiz gibi 0 olarak korundugunu anlarsak tam kare degil oldugun anliyoruz
    {
      printf("Girmis oldugunz sayi \"%d\" , tam kare degildir \n\n",i_value1);
    }
    printf("Devam etmek istiyormusunuz ?\n");
    printf("Evet icin E/e veya Hayir icin H/h\n");  // kullaniciya tamammi devammi diye soruyoruz 'E','e','H','h' ve ESC nin degeri olan 27  secenekleri girebilir

    scanf("%s",&choise);
    assert(choise = toupper(choise)); // kullanicinin secimini buyuk harfe ceviriyoruz daha rahat check edelim diye yine assertle hataya karsi destekliyoruz

    if(choise == 'H' || choise == 27) break;  // kullanici eger 'H' ,'h' veya ESC tusuna basip enterlarsa cikis yaptiriyoruz , bu if le break yapip for looop unu kiriyoruz
    else continue; // eger kullanicinin secimi yukardakisnden farkli ise for dongusunu continue ile devam ettiriyoruz

    }
    #ifdef _WIN32   // buda yine windowstami oldugunu check edip  windowstaysan msdos shell inin ekranda durmasi icin PAUSE  yaptirior shelli
    system("PAUSE");
    #endif
    return EXIT_SUCCESS; // buraya geldiysek basarli sekilde cikiyoruz  galiba stdlib te exit_success 0 olarak atanmis olmaliysi sadece okunabiliritesi icin boyle yaziyoruz
    }

     

    kodu  burdan alip duzenlemek zor olur diye ftp me upload ettim..

    link => http://www.xsparkx.com/ibrahim/nick.c

     

    hadi iyi aksamlar kardesim yardim gerekirse   mr.spark@gmail.com adresini msn olarak ekliyebilirsin. 

     

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickneyime
    nickneyime's avatar
    Kayıt Tarihi: 16/Temmuz/2003
    Erkek
    SpArK bunu yazdı:
    -----------------------------

    Kardesim bilmiyorum hallettinmi ama belkide gecte oldu fakat yeni gordum problemini senin icin bir program yazdim aciklayici olsun diue cunku yazmis oldugun kodda bazi pre initialize lar yok ne bileyim goto kaliplari var iyi bir muhendislik icin olmayan hareketler :) if else filan ama else le bitmiyor falan filan yardimci olsun diye bende yazdim umarim beyenirsin.aciklamalar gereksiz oldu aslinda gereksiz aciklama yine kotu muhendislik fakat mazur gor kaptirmisim kendimi :)

     

    #include // standart kutuphanemizden biri I/O icin gerekli
    #include // exit_success exit() atexit() gibi ve vb seyler icin
    #include // matematik fonksiyonlarimizi kullanmak icin
    #include // toupper tolower gibi fonksiyonlar icin
    //#define NDEBUG // bunu eklersek debug kapanicak fakat assert.h i ekldik hata verirse hatalarimizi ayiklasin istiyoruz
    #include // C dilinin hata icin yonetim sinifi
    #ifdef _WIN32 // eger bu kod Windowsta derlenirse conio.h i calistir , ben linuxta calisiyorum portable olsun diye sen windowstaysan
    #include // sen istedigin ornekte ekledik diye ekleme yaptim
    #endif // ifdef in bitisolayi if else gibi
    void hoscakal(void) // bu fonksiyonu program kapandiktan sonra calistirsin diye yaptik :) programin gule gule mesaji
    {
    printf("\"nickneyime\" nin yazdigi programdan cikiyorsunuz..Hoscakalin\n");
    }
    int main(int argc,char *argv[]) // main fonksiyonumuza giriyoruz argumanlar gereksiz fakat istersen kullan iyi olur
    {
    atexit(hoscakal); // atexit fonksiyonu program bittiginde icine aldigi fonksiyonu calistirir yani dusun main() bittikten sonra calisan fonksiyonu belirtirsin
    // ard arda atexit() ler yaparsan FILO olarak calisir yani first in first out (ilk giren son cikar)
    fflush(stdin);fflush(stdout); // programa girmeden once input ve outputlari flashliyoruz maksat temizlik olsun ortam streamler temizlensin
    #ifdef _WIN32 // yine windowstaysak su islerimleri yap demek icin bunu kullaniyoruz
    system("title nickneyime"); // acilan MsDos Shell inin basligini degistrir
    system("COLOR 0A"); // MsDos Shell inin arka plan rengini 0 yapar yani siyah yazilari A yani yesil :) matrix gibi olsun
    system("cls"); // programa baslamadan once Shell in ekranini temizler
    #else // else if teki gibi eger windowsta derlenmicekse Linux Shelle gonderiyoruz linuxta clear kullaniyoruz cls yerine
    system("clear");
    #endif
    int i_value1=0,i_value2=0,check=0; // integer degerlerimiz tutucak ve initialize ediyoruz 0 la fonksiyon icinde tanimliyoruz global yapma hic bir zaman ozel durumlar haric
    double d_value1=.0; // double degerimiz kok u tutucak 0 a esitliyoruz yani doublelar icin 0.0
    char choise; // Evet veya Hayir secenegini tutucak

    printf("***************************************************************\n"); // programin girisini olustursun diye susleyelim dedik :)
    printf("\"nickeyime\" tarafindan kodlanmis girilen sayilarin tam kare\n");
    printf("olup olmadigini kontrol eden programa hosgeldiniz \n");
    printf("***************************************************************\n");
    for(;;) // sonsuz donguye sokuyoruz kullanici H yani hayiri secene kadar yada ESC tusuna basip enterlayincaya kadar
    {
    printf("Lutfen kontrol etmek istediginiz sayiyi giriniz\n");
    scanf("%d",&i_value1);
    assert(d_value1 = sqrt(i_value1)); // C++ deki try catch olaylari gibi hata ayiklamak icin assertin icinde yaptiriyoruz hatali birsey olursa debug olucak
    // burda klavyeden girilen sayinin kokunu alip double a esliyoruz cunku sqrt double dondurur

    assert(i_value2 = (int) d_value1); // burda ise double degerini floating kismini kaybederek budayarak bir integer a atiyoruz boylece ondalikli kisim budandi
    assert( pow(i_value2,2.0) == i_value1 ? check = 1 : 1 ); // double dan int e aldigimiz kok sayinin karesi ilk girilene esitmi :) esitse check 1 oluyor yani dogru
    if(check) // yukarda kisaltilmis if ifadesinden gelen check in degeri dogruysa yani check = 1 ise tam kare oldugunu anliyoruz
    {
    printf("Girmis oldugunuz sayi \"%d\" , tam karedir;koku : \"%.0lf\" dir.\n\n",i_value1,d_value1);
    }
    else // check in ilk basta initialize ettigimiz gibi 0 olarak korundugunu anlarsak tam kare degil oldugun anliyoruz
    {
    printf("Girmis oldugunz sayi \"%d\" , tam kare degildir \n\n",i_value1);
    }
    printf("Devam etmek istiyormusunuz ?\n");
    printf("Evet icin E/e veya Hayir icin H/h\n"); // kullaniciya tamammi devammi diye soruyoruz 'E','e','H','h' ve ESC nin degeri olan 27 secenekleri girebilir

    scanf("%s",&choise);
    assert(choise = toupper(choise)); // kullanicinin secimini buyuk harfe ceviriyoruz daha rahat check edelim diye yine assertle hataya karsi destekliyoruz

    if(choise == 'H' || choise == 27) break; // kullanici eger 'H' ,'h' veya ESC tusuna basip enterlarsa cikis yaptiriyoruz , bu if le break yapip for looop unu kiriyoruz
    else continue; // eger kullanicinin secimi yukardakisnden farkli ise for dongusunu continue ile devam ettiriyoruz

    }
    #ifdef _WIN32 // buda yine windowstami oldugunu check edip windowstaysan msdos shell inin ekranda durmasi icin PAUSE yaptirior shelli
    system("PAUSE");
    #endif
    return EXIT_SUCCESS; // buraya geldiysek basarli sekilde cikiyoruz galiba stdlib te exit_success 0 olarak atanmis olmaliysi sadece okunabiliritesi icin boyle yaziyoruz
    }

     

    kodu burdan alip duzenlemek zor olur diye ftp me upload ettim..

    link => http://www.xsparkx.com/ibrahim/nick.c

     

    hadi iyi aksamlar kardesim yardim gerekirse mr.spark@gmail.com adresini msn olarak ekliyebilirsin.

     


    -----------------------------

    eywallah hojam çok saolasın uurasmişsin belli :)) halletttim bn problememimi ama ekliyom msne sni :)) güsel yazmışşsn açıklayıcı :)) birazdan incelicem hepsini


    bunch of idiots around me, yes everywhere.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mescarine
    mescarine's avatar
    Kayıt Tarihi: 13/Eylül/2007
    Erkek

    AL bakalım size öğretilen şekilde sizin anlayabileceğiniz dilde :9

    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int a;
    double c,d;
    float b;
    char e,E;
    int main()
    {
     start:
          printf("sayi:");
          scanf("%d",&a);
          b=sqrt(a);
          c=fabs(b);
          d=c*c;
       if(a==d)
          printf("tam kare.!!\n");
       else
          printf("\atam kare degil!!\n");
       printf("tekrarlamak icin e'ye basın\n");
       scanf("%s",&e);

       if(e=='e'||e=='E')
        {
          printf("\n");
          goto start;
        }
       else
        {
          printf("\n ");
          goto end;
        }
       end:
       getch();
       return 0;
    }


    YGS: Yeni Gelin Sınavı.. Bir heyecan, bir arzu, bir istek.. Biraz hüzün, biraz acı, biraz gözyaşı..
Toplam Hit: 2202 Toplam Mesaj: 7