Şimdi Ara

Veri Yapıları Kuyruk İle İlgili Yardım Lütfen??

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
15
Cevap
0
Favori
498
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Bir kliniğe gelen hastalar doktor kontrolü için sıraya girmekte ve geliş sıralarına göre doktorun odasına alınmaktadır.Hastaların bir kısmı muayene olmakta bir kısmı tahlil sonuçlarını gösterip reçete yazdırmaktadır.Buna Göre hastanın adı soyadı ve hangi amaçla geldiği(muayene=1,reçete=2) bilgilerinden bi kuyruk yapısı oluştururarak 10 eleman büyüklüğündeki kuyruğa kullanıcı kontrollü olarak girdi yapan ve daha sonra bulunan toplam hasta sayısını recete ve muayene olan hasta sayısı yazdıran ve kuyrukta bekleyen hastaların sayısını yazdıran c projesi bir türlü bi şey yapamadım yardımcı olursanız çok sevinirimm..
     Veri Yapıları Kuyruk İle İlgili Yardım Lütfen??







  • pointerı öğrendin mi
  • Az cok biliyorum kardesim cok iyi degilim :(

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Pointera karakter okuyup atayabilir misin

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Evet yapabilirim onu benim sikintim veri yapilarini kullanmada structtir typedefdir kuyruk bagli liste basit haliyle c yi biliyorum ama :(

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yardimci olmaya calisirim takildigin yerde

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Kardeşim bir yere kadar geldim tıkandım şimdi isim soyisim yazdırıp kuyruga ekliyorum silme yapıyorum muayene için 1 recete için 2 yazdırıyorum sonra onları sıralı bir şekilde yazdırmak için tum hastaları yazdır diyorum döngü yptım sayac hata veriyo hastları sırala dediğinde bide 1 muayeneleri ayrı 2 receteleri ayrı ayrı da listelemek istiyorum ama yapamadım kodu gönderiyorum


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    struct kuyruk{
    int sayi;
    char ad[10];
    struct kuyruk *sonrakiPtr;
    };
    typedef struct kuyruk Kuyruk;
    typedef struct kuyruk *kuyrukPtr;
    kuyrukPtr yer_ayir(){
    kuyrukPtr p;
    p=(kuyrukPtr)malloc(sizeof(struct kuyruk));
    return (p);

    }
    int bosmu2( kuyrukPtr basPtr){
    return basPtr==NULL;
    }
    void ekle(kuyrukPtr *kPtr,kuyrukPtr *sPtr,int veri,char *isim){

    kuyrukPtr temp;
    temp=yer_ayir();
    temp->sayi=veri;
    strcpy(temp->ad,isim);
    temp->sonrakiPtr=NULL;
    if(bosmu2(*sPtr)){
    *sPtr=temp;
    }
    else
    (*kPtr)->sonrakiPtr=temp;
    *kPtr=temp;
    }
    void sil(kuyrukPtr *sPtr,int *px,char *isim){

    kuyrukPtr gecici;
    gecici = (*sPtr);

    (*sPtr) =gecici->sonrakiPtr;
    *px = gecici->sayi;
    strcpy(isim,gecici->ad);
    free(gecici);
    printf("%d.%s Silindi\n",*px,isim);
    }
    void yazdir(kuyrukPtr kPtr){
    printf("Tum Hastalar\n");
    while(kPtr != NULL )
    {
    int sayac;
    for(sayac=1;sayac<=10;sayac=sayac+1) {
    printf("%d.%d.%s\n",sayac,kPtr->sayi,kPtr->ad);
    kPtr= kPtr->sonrakiPtr;
    }
    }}
    void yazdirmuayene(kuyrukPtr kPtr){
    printf("Muayene Icin Gelen Hastalar\n");

    while(kPtr !=NULL )
    {
    int sayac;
    for(sayac=1;sayac<=10;sayac=sayac+1) {
    printf("%d.%d.%s\n",sayac,kPtr->sayi,kPtr->ad);
    kPtr= kPtr->sonrakiPtr;
    }
    }}
    void sec()
    {
    printf("\n1 Yeni Bir Hasta Eklemek Icin\n");
    printf("2 Hasta Silmek Icin\n");
    printf("3 Tum Hastalarin Sirasini Yazdir\n");
    printf("4 Muayene Icin Gelen Hastalarin Sirasini Yazdir\n");
    printf("5 Recete Icin Gelen Hastalarin Sirasini Yazdir\n");
    printf("6 Cikis\n");
    }

    int main(){
    kuyrukPtr sPtr=NULL;
    kuyrukPtr kPtr=NULL;
    int sayi,i,x;
    int secim;
    char isim[10];
    char ad[10];
    printf(" Lutfen Bir Secim Yapiniz\n");
    sec();
    scanf("%d",&secim);
    while(secim !=6){
    switch(secim){
    case 1:
    printf("Ad ve Soyad Giriniz(Arada Bosluk Birakmayiniz):\n");
    scanf("%s",isim);
    printf("Numara Giriniz(1=Muayene,2=Recete):\n");
    scanf("%d",&sayi);
    ekle(&kPtr,&sPtr,sayi,isim);
    break;
    case 2:
    sil(&sPtr,&x,ad);
    break;

    case 3:
    yazdir(sPtr);
    case 4:
    yazdirmuayene(sPtr);
    break;
    default :
    printf("yanlis secim\n");
    break;
    }
    sec();
    scanf("%d",&secim);
    }
    system("pause");
    return 0;
    }




  • 10 tane hasta ekliyormusun kuyruğa
  • Kardeşim hata işini çözdüm tamamdır şimdi şu muayene için 1 recete için 2 yazıyom mesela kayıt alırken tum hastaları sırala dedigimde hepsini sıralıyo peki sadece muayene için ve sadece recete için gelenleri sıralamak için ne yapmam lazım acaba?
  • onlarida ayri bir listeye atip siralaman gerekiyor

    < Bu ileti mini sürüm kullanılarak atıldı >
  • ayrı kuyruk mu oluşturmam lazım onun için yok yazdır fonksiyonu gibi bir fonksiyon mu tanımlamam lazım o fonksiyonda işimi halledebilirmiyim?
  • evet ayri bir kuyruk kullanman gerekiyor isini gorur heralde

    < Bu ileti mini sürüm kullanılarak atıldı >
  • kardeşim çok karmaşıklaştı öyle yapınca şu fonksiyon tüm hastaları listeliyor ya mesela misal burda sadece numarası 1 olan ları listeletebilirmiyim bu fonksiyon da
    void yazdir(kuyrukPtr kPtr){
    printf("Tum Hastalar\n");
    while(kPtr != NULL )
    {
    int sayac;
    for(sayac=1;sayac<=10;sayac=sayac+1) {
    printf("%d.Siradaki Hasta %s %d Icin gelmistir\n",sayac,kPtr->klinik,kPtr->numara);
    kPtr= kPtr->sonrakiPtr;
    }
    }}
  • quote:

    Orijinalden alıntı: gasmas

    kardeşim çok karmaşıklaştı öyle yapınca şu fonksiyon tüm hastaları listeliyor ya mesela misal burda sadece numarası 1 olan ları listeletebilirmiyim bu fonksiyon da
    void yazdir(kuyrukPtr kPtr){
    printf("Tum Hastalar\n");
    while(kPtr != NULL )
    {
    int sayac;
    for(sayac=1;sayac<=10;sayac=sayac+1) {
    printf("%d.Siradaki Hasta %s %d Icin gelmistir\n",sayac,kPtr->klinik,kPtr->numara);
    kPtr= kPtr->sonrakiPtr;
    }
    }}

    bir kontol yapacaksın listeyi dolaşırken örneğin numarası 1 ise bunu ayrı bir listeye ekleyebilirsin
  • teşekkürler kardeşim projem tamamdır.her sey için saol :)
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.