O zaman da bu kasadaki müşteri sayısı 5'i geçince, o listeye yeni düğüm eklenecek. Bunun için addNode(input1, input2, input 3) fonksiyonu tanımlamak gerek.
fonksiyonu genel olarak tanımlıyorum, syntax'ı değişir çünkü:
nodu'u nereye ekleyeceğini buluyorsun. Bunun için findnode diye bir fonksiyon yazabilirsin veya direk addnode fonksiyonu içinde yazabilirsin. Sizin soruda sıra önemli değil o yüzden direk sona ekleyebilirsin.
Sonra bu node için memory allocation'ı yapıyorsun.
atıyorum yaptığın struct benim yukarıda belirttiğim gibi olsun, data'yı şöyle aktarıyorsun:
isim.musteri_sayisi = input1;
isim.toplamsatis = input2;
isim.kasano= input3;
bundan sonra varsa bir önceki node'un pointer'ını buna yönlendir yoksa bu datanın pointerını ilkpointer olarak atayıp (sonra bir şey eklenirse yönlendirebilmek için), bunun pointer'ını varsa bir sonraki node'a yoksa null'a yönlendireceksin. eğer müşteri sayısı 5'i geçerse tekrar yeni node açıp aynen devam.
Müşteri için de ilgili sırada 5 kişiden fazla varsa kasa ll'indeki nodelara bakacak, müşteri sayısı 5'ten az olan birine geçecek, kasa numarası değişecek, kendisinden önceki müşteri değişecek, eğer birisi müşterinin arkasına geldiyse o zaman önceki node değişecek falan, kompleks biraz. Burada da findNode diye fonksiyon yazmak gerek. Çok uzun değil fonksiyonlar ama düşünmesi biraz karmaşık.
Kısaca: Node bulma fonksiyonu, yeni node ekleme fonksiyonu, node silme fonksiyonu, sıfırdan node initialize etme fonksiyonu yazıp bunları bir döngü içerisinde iflerle yöneteceksin.
Edit: struct array'i kullanıyosan o arraydeki hangi struct'a ekleyeceksen onu yazacaksyın atıyorum 1. struct'a yazacaksın
isim senin array'in olsun mesela
isim[1.struct'a point eden pointer].musteri_sayisi=input1; olacak gibi düşün.
Şimdi ben böyle deyince çok karmaşık gibi oldu da, değil, düzgün anlatan bir kaynaktan bakarsan anlarsın.
0