Şimdi Ara

C de veri tipi hatası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
6
Cevap
0
Favori
1.145
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar.C de kullanıcıdan float veya double türünden veri alıyorum.İnteger olmaması lazım. Mod alma(%) işlemi yapmam gerekli bir yerden sonra.Veri tipimin integer olması şartı var fakat bir türlü dönüşüm yapamıyorum.

    *internette atoi,atol gibi şeyler gördüm benimkiyle uyuşmuyorlar
    * (int)x; şeklinde tanımlatıyorum yine olmuyor.



  • math.h dan fmodf() işinizi görücektir

    örn:
     

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    int main() {
    float a = 6;
    a = fmodf(a,5);
    printf("%f\n",a);
    system("pause");
    return 0;
    }

    cıktı 1 tabiki



    < Bu mesaj bu kişi tarafından değiştirildi kuuttter123 -- 14 Nisan 2015; 22:31:02 >
  • kuuttter123 K kullanıcısına yanıt
    Kusura bakmayın belirtmeyi unuttum math kütüphanesini kullanmamız yasak :) amaç hazır fonksiyonlardan yararlanmadan hesap makinesi yapmak
  • Yapmak istediğin şey tam olarak ney
  • hannibal1903 H kullanıcısına yanıt
    mesela değer olarak elimizde float olan 5.225 var bunu 2 ile bölümünden kalanını bulacam. % fonksiyonu integer olması şartını koşuyor bu yüzden 5.225 integera dönüşmeli 5 e yuvarlanacak sanırım. Sonra 5 in 2 ile bölümünden olan kalan 1 i bir şeye atayıp onu yazdıracağım.
  • şimdi öncelikle yuverlama yapıp işlem yapmak istiyosanız
    bunukulanabilirsiniz 5.255 % 5 = 0

    #include <stdio.h> 
    #include <stdlib.h>


    int main(){

    float b = 5;
    float a =5.500;
    int b2 = b;
    int a2 = a;
    int c = b2%a2;
    printf("%d",c);

    system("pause");
    return(0);
    }

    eyer istemiyorsanız bunu kulanın 5.255 % 5 = 0.255

     
    #include <stdio.h>
    #include <stdlib.h>

    float mod(float x,float y){
    int a;
    float b;
    a = x/y;
    b = a * y;
    return(x - b);

    }

    int main(){
    printf("%f",mod(11.5,2));

    system("pause");
    return(0);
    }




    < Bu mesaj bu kişi tarafından değiştirildi kuuttter123 -- 15 Nisan 2015; 16:00:49 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.