• 12-08-2016, 11:43:41
    #1
    Merhabalar,

    #define MEYVE_ISIM_MAKS_HARF 20
    #define KANDIRMA_SABITI 0.05
    #define MAKS_MEYVE_TURU_ADEDI 500
    
    typedef struct{
    	int kod;
    	int miktar;
    	char isim[MEYVE_ISIM_MAKS_HARF];
    	double fiyat;
    }marketteki_meyve_turu;
    
    typedef struct{
    	int kod;
    	int kac_kg;
    	double fiyat;
    }sepetimdeki_meyve_turu;
    
    
    typedef struct{
    	int meyve_turu_sayisi;
    	marketteki_meyve_turu meyve[MAKS_MEYVE_TURU_ADEDI];
    }market_turu;
    
    typedef struct{
    	int meyve_turu_sayisi;
    	sepetimdeki_meyve_turu meyve[MAKS_MEYVE_TURU_ADEDI];
    }sepetim_turu;
    olarak tanımlanmış yapılar. Sonra main de

    market_turu manavim;
    tanımlanmış ve
    manavim.meyve[i].miktar*=5;
    gibi kullanılmış.

    Şimdi sorum market_turu struct ın da marketteki_meyve_turu meyve niye kullanılmış. Şimdi burda amaç int gibi char gibi bir yapı oluşturuyoruz diye biliyorum. İnt char isim yapmak gibi olmamış mı bu ? struct içinde struct ın nasıl bir kullanımı nasıl bir amacı var açıklayabilecek var mıdır üstadlardan ?

    Teşekkürler.
  • 12-08-2016, 11:57:11
    #2
    market_turu structı markette ne kadar ürün var ve bu ürünleri tutuyor. marketteki_meyve_turu ise bir tane ürünün bilgilerini tutuyor.

    marketteki_meyve_turu elma; diye tanımlanmış düşünün. Bu elmanın kodu, miktarı, ismi ve fiyatı var. marketteki_meyve_turu armut; Bu armutun da aynı şekilde kodu, miktarı, ismi ve fiyatı var. Bu iki meyveyi market_turu içindeki meyve[MAKS_MEYVE_TURU_ADEDI] arrayde tutulduğunu düşünün. meyve_turu_sayisi da bu durumda 2 olacaktır.

    Umarım yardımcı olabilmişimdir. Kolay gelsin.
  • 12-08-2016, 12:12:00
    #3
    inspectorrr adlı üyeden alıntı: mesajı görüntüle
    market_turu structı markette ne kadar ürün var ve bu ürünleri tutuyor. marketteki_meyve_turu ise bir tane ürünün bilgilerini tutuyor.

    marketteki_meyve_turu elma; diye tanımlanmış düşünün. Bu elmanın kodu, miktarı, ismi ve fiyatı var. marketteki_meyve_turu armut; Bu armutun da aynı şekilde kodu, miktarı, ismi ve fiyatı var. Bu iki meyveyi market_turu içindeki meyve[MAKS_MEYVE_TURU_ADEDI] arrayde tutulduğunu düşünün. meyve_turu_sayisi da bu durumda 2 olacaktır.

    Umarım yardımcı olabilmişimdir. Kolay gelsin.
    Çok güzel açıklamışsınız hocam. Yani şimdi olay şu benim anladığım. Her meyve için bi struct yapılabilir.

    typedef struct{
    	int kod;
    	int miktar;
    	char isim[MEYVE_ISIM_MAKS_HARF];
    	double fiyat;
    }armut;
    
    typedef struct{
    	int kod;
    	int miktar;
    	char isim[MEYVE_ISIM_MAKS_HARF];
    	double fiyat;
    }elma;
    gibi ama bunu böyle yapmamak için biz yapıda yapı onun içinde de dizi oluşturup kolayca yaptık. Doğru mudur ? Üsttekinide yapabilirdik değil mi hocam ?

    Teşekkürler.
  • 12-08-2016, 12:26:11
    #4
    Yani aşağı yukarı o sebepten ötürü. Şöyle düşünün 500 tane ürün var ve tüm ürünlerin adını bilmiyorsunuz. Bundan dolayı array içinde kolayca dolaşıp bu 500 ürünün verilerine kolayca erişebilirsiniz. Aslında market_turu olmadan da marketteki_meyve_turu structını array yapabilirdik. Şu şekilde;

    marketteki_meyve_turu meyve[500];

    Ama birden fazla market olduğunu ve bu marketteki ürünlerin farklı olduğunu düşünün. Aslında market_turu structı birden fazla market olduğunda kullanımı doğru olacaktır.

    market_turu marketlerim[100]; örneğin bu tanımda 100 tane market tanımladık ve bu marketlerin her birinde farklı farklı marketteki_meyve_turu structı yer almakta.