Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > structure problemi
Yazar
the tmt


avatar
Eis tin poli
Kayıt: 08.01.2006
27.06.2007-00:08 #23733
Arkadaşlar bitirme ödevimin simülasyonunu yazıyorum. En son yere kadar geldim. Ancak çıkan bir problem beni deli edecek.

queue adında bir structure'ım var ve bunu bir fonksiyonun içine atıyorum. Fonksiyonda bu structure'dan bir değişkenin değerini değiştirimek istiyorum. Değer fonksiyon içerisinde değişiyor ancak fonksiyonun dışına çıkıp başka bir yerde aynı değişkeni kullanmak istediğimde bir bakıyorum ki değeri değişmemiş. Saatlerdir uğraşıyorum bulamadım bir türlü çözümü. Bir yardım lütfeeennn :(





Toufektsioupoli









Yazar
serdr


avatar
Istanbul
Kayıt: 13.07.2006
27.06.2007-00:25 #23737
kodların ilgili kısmını kaba taslak yazman gerek sanırım enazından anlayabilmemiz için





Yazar
the tmt


avatar
Eis tin poli
Kayıt: 08.01.2006
27.06.2007-00:33 #23739
struct que{
int queueToUse[1000];
int queueDestination[1000];
int jobToDo[1000];
};
typedef struct que queuE;

void queueControl(......,queuE queue,...........){
.
.
.
.
.
.
queue.queueToUse[i]=-1
.
.
.
.
.
.
}

int main(){

static queuE queue;
......
...
...

queueControl(.....,queue,.....)
.
}







Kod kabataslak olarak bu şekilde. Çok uzun olduğu için bu şekilde yazdım yoksa hepten sizin de kafanız karışacaktı. queue yapısını static olarak belirlememe rağmen hala queueControl içerisind değiştirdiğim değer dışarıya yansımıyor :(





Toufektsioupoli









Yazar
serdr


avatar
Istanbul
Kayıt: 13.07.2006
27.06.2007-01:01 #23740
static yapısı bu işi çözmez.. şöyleki varsayalım bi a integeri static
tanımladınız ve go(a) şeklinde gönderdiniz fonksiyona.. ancak o sadece örneğin 5 olarak gider. maindeki a ile ilişkin fonksiyona geçtiğinde bitmiştir.

maindekine işaret eden bi pointer gerekli bu durumda.
static tanımlamana gerek yok. hatta kullanma boşver


void queueControl(......,queuE *queue,...........){ <<<<

(*queue).queueToUse[i]=-1 <<<<< // ya da queue->queueToUse[i]=-1 şeklinde farketmez


}

int main(){

queuE queue; <<<<

queueControl(.....,&queue,.....) <<

}

<<< işaretli satırlardaki değişikliğe dikkat et. & adresini gönderir... (*queue) de referans edilen veriyi çağırır.. bu şekilde kullanırsan herşekilde mainin içinde que ile işlem yapmış olursun. ok?





Yazar
the tmt


avatar
Eis tin poli
Kayıt: 08.01.2006
27.06.2007-01:08 #23741
Abi ÇOOOKKKK SAĞOOOLLLL


ÇOOOKK TEŞEKKÜR EDERİMM



sorun halloldu ;)



wareeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy :))))))





Toufektsioupoli









Yazar
serdr


avatar
Istanbul
Kayıt: 13.07.2006
27.06.2007-01:10 #23742
sevindim.. iyi çalışmalar





Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
27.06.2007-19:57 #23776
Nerde bizim genclik, bu soru benim sordugum ilk donemdeki final sinav sorusu, butun sınıfın cevap vermesi lazımdı, boşuna mı geçtinizblushing, artık öğrendiklerinizi paylaşın, geliştirin kendinizi.





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
27.06.2007-20:06 #23777
başlıkları daha açıklayıcı yazarsanız daha iyi olur.





N/A
Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
27.06.2007-20:46 #23781
tarikkranda yazdi
 
Nerde bizim genclik, bu soru benim sordugum ilk donemdeki final sinav sorusu, butun sınıfın cevap vermesi lazımdı, boşuna mı geçtinizblushing, artık öğrendiklerinizi paylaşın, geliştirin kendinizi.

Hocam ilk 3 dk içinde cevap yazıyordum bu konuya, gönder düğmesine basmadan 10 saniye önce telekomun dns sunucusu yanıt vermeyi kesmiş ve aralıksız tekrar bağlanma girişimlerim sabah 5 buçuğa kadar sürdü. Yaklaşık 6 saat internetsiz kaldım bu lanet olası telekom şirketinin üstün hizmet anlayışı sayesinde. Ama soruya cevap yazabilecek tek kişi de ben olmamalıydım, o ayrı bir konu tabi.

Konu başlığının yeterince açıklayıcı olmaması geç cevap yalımasında önemli bir etken, fakat forum konusunun C / C++ olması, yardım isteğinin hangi konuda olduğunu az çok belli ediyor. Demek bu konuyla ilgili (yardım isteğinin detayları ne olursa olsun) yardım edebilme cesareti olup da hemen konuya dalmaya hevesli arkadaşların sayısı oldukça az tahminimce.
thinking

Çok mu uzun cümleler kuruyorum ne. biggrin





Let`s make this world a better place to live !

Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
27.06.2007-23:58 #23804
Arkadaş sorunun yapısını zaten bilseydi eminim daha anlaşılır bir konu başlığı açardı. Ben sınıf içinden bu problemin doğru cevabını verebilecek birileri olduğunu biliyorum zaten:) Sadece biraz size takılmak için yazdım:)





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb