Şimdi Ara

C kullanıcıdan değiken isteme??

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
8
Cevap
0
Favori
1.062
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • ben basit bi program yaptım batakta aldığın puanları vs giriyosun battığını aldığın puanları falan gösteriyo her el. herşey iyi güzel ama oyuncu isimlerini 1.oyuncu 2.oyuncu gibisiden yaptım. programı çalıştırınca oyuncu isimlerini istese sonra bu isimleri benim programı yazarken oluşturduğum 1.oyuncu 2.oyuncu ya atasa ve hep bu isimler işlese olabilir mi? netten çalışıyorum şimdiye kadar kullanıcıya değişken girdirtme gibi bişeye rastlamadım



  • Kodu buraya yapıştırırsan istediğin gibi değiştirebilirim.
  • quote:

    Orijinalden alıntı: crshr

    Kodu buraya yapıştırırsan istediğin gibi değiştirebilirim.

    baya uzun bişey ya kısa bi kısmını alabilirsem yapıştırıcam öğrensem yeter. stringle isimleri isteyip sonradan istenilen şeyi eşitlemeyi denedim ama saçma oldu benim yazdığım değişkenler integer olduğu için "int conversion to char" gibi bi hata verdi sayısal ifadeyi yazıya eşitlediğimden.




    edit : mesela şu olabilir bi kısmını kestim. klavye ile girilen isimleri x1 x2 x3 x4 yapıcak

     
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
    int x1,x2,x3,x4;


    printf("\n1.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x1);

    printf("\n2.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x2);

    printf("\n3.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x3);

    printf("\n4.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x4);


    printf("1.oyuncunun puani: %d",x1);
    printf("2.oyuncunun puani: %d",x2);
    printf("3.oyuncunun puani: %d",x3);
    printf("4.oyuncunun puani: %d",x4);



    getch();
    }



    < Bu mesaj bu kişi tarafından değiştirildi Accio -- 1 Şubat 2012; 14:29:37 >




  • quote:

    Orijinalden alıntı: Accio

    quote:

    Orijinalden alıntı: crshr

    Kodu buraya yapıştırırsan istediğin gibi değiştirebilirim.

    baya uzun bişey ya kısa bi kısmını alabilirsem yapıştırıcam öğrensem yeter. stringle isimleri isteyip sonradan istenilen şeyi eşitlemeyi denedim ama saçma oldu benim yazdığım değişkenler integer olduğu için "int conversion to char" gibi bi hata verdi sayısal ifadeyi yazıya eşitlediğimden.




    edit : mesela şu olabilir bi kısmını kestim. klavye ile girilen isimleri x1 x2 x3 x4 yapıcak

     
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
    int x1,x2,x3,x4;


    printf("1.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x1);

    printf("\n2.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x2);

    printf("\n3.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x3);

    printf("\n4.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x4);


    printf("1.oyuncunun puani: %d",x1);
    printf("2.oyuncunun puani: %d",x2);
    printf("3.oyuncunun puani: %d",x3);
    printf("4.oyuncunun puani: %d",x4);



    getch();
    }


    Değişkenlerin isimlerini program derlendikten sonra değiştiremezsin zaten onları ekrana da basamazsın, onlar sadece sen kodu derleyene kadar yardımcı olmak için var. Derlendikten sonra onlar yok oluyor bilgisayarın değişken ismine ihtiyacı yok Comment gibi.
    Bunun için ayrı yer ayırıp isimleri kullanıcıdan alıp bu ayırdığın yere koyabilirsin. Sonra istediğin zaman bu isimleri kullanırsın. Dikkat edersen ekrana basılan oyuncu isimleri o1, o2 ,o3 değil, bu değişkenlerin içindekiler.
    Burada isimleri scanf ile aldığınız için ilk return, space veya tab tuşuna basıldığında scanf in işi bitiyor. Ancak bu boşluktan sonra başka bişey daha yazarsan (mesela soyad) o karakterler o oyuncunun puanı olarak alınıyor (boşluktan sonrakiler hafızada kalıyor). Bu yüzden cümle değil sadece kelime girilmeli. Ama cümle olarak girmek istersen o zaman scanf yerinde gets() kullanabilirsin. gets(o1); gibi.
     
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
    int x1,x2,x3,x4;
    char o1 [32], o2 [32], o3 [32], o4 [32];

    printf("1.oyuncunun adini giriniz: ");
    scanf("%s", o1);
    printf("\n1.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x1);

    printf("\n2.oyuncunun adini giriniz: ");
    scanf("%s", o2);
    printf("\n2.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x2);

    printf("\n3.oyuncunun adini giriniz: ");
    scanf("%s", o3);
    printf("\n3.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x3);

    printf("\n4.oyuncunun adini giriniz: ");
    scanf("%s", o4);
    printf("\n4.oyuncunun aldigi puani giriniz: ");
    scanf("%d",&x4);


    printf("\n%s'in puani: %d", o1, x1);
    printf("\n%s'in puani: %d", o2, x2);
    printf("\n%s'in puani: %d", o3, x3);
    printf("\n%s'in puani: %d", o4, x4);

    getch();
    return 0;
    }




  • quote:

    Orijinalden alıntı: crshr



    ya çok saol nasıl yapıldığını anladım ama şu gets fln scanf o konuda dediklerini pek anlamadım o nası oluyo



    < Bu mesaj bu kişi tarafından değiştirildi Accio -- 1 Şubat 2012; 15:22:08 >
  • quote:

    Orijinalden alıntı: Accio

    quote:

    Orijinalden alıntı: crshr



    ya çok saol nasıl yapıldığını anladım ama şu gets fln scanf o konuda dediklerini pek anlamadım o nası oluyo

    Gets ve scanf kullanıcının değişken girmesini sağlayan komutlardir. Scanf tüm veri tiplerinde kullanılabilir ve kullanıcının girdiği değeri bi değişkene atar(scanf("%d", sayi_1) gibi). gets ise string(harf dizisi, yani kelime) girilmesi gerektiğinde kullanılır(gets(klme_1)). Burda kullanıcınin entere basana kadar yazdığı harfleri string olarak klme_1 e degiskenine atar.

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




  • Aktif halde isim değiştirme şöyle olmazmı?
    Bir yapı tasarla içeriği bir nesne türünden değişken olsun bir de Isim adlı char dizisi özelliği olsun. Daha sonra bu yapının dizisini çıkart atıyorum yeniyapim asd[] gibi. Daha sonra bir fonksiyon üret ;

    yeniyapim ISIMDENBUL(string isim)
    {
    int i;
    for(i=0;i<asd.Lenght();i++)
    {
    if(asd.Isim==isim)
    {
    return asd;
    break;
    }
    }
    //BURADA DA BOŞ DEĞER DÖNDÜR
    }

    Not : Kodları kafadan yazdım yanlış olma ihtimalleri yüksek. Bu tarz bir yazım muhtemelen IDE'lerin derleyici isimlerine yaklaşımıdır tahminimce.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: @revenge_of_bear


    quote:

    Orijinalden alıntı: Accio

    quote:

    Orijinalden alıntı: crshr



    ya çok saol nasıl yapıldığını anladım ama şu gets fln scanf o konuda dediklerini pek anlamadım o nası oluyo

    Gets ve scanf kullanıcının değişken girmesini sağlayan komutlardir. Scanf tüm veri tiplerinde kullanılabilir ve kullanıcının girdiği değeri bi değişkene atar(scanf("%d", sayi_1) gibi). gets ise string(harf dizisi, yani kelime) girilmesi gerektiğinde kullanılır(gets(klme_1)). Burda kullanıcınin entere basana kadar yazdığı harfleri string olarak klme_1 e degiskenine atar.

    anladım dostum açıklaman için çok saol




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.