Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Feb 2014
    Bài viết
    0

  2. #2

    danh sách liên kết đơn

    mấy bác giúp e bài này vs..
    quản lí thông tin bệnh nhân(tên,mã,ngày nhập viện) sử dụng dslk đơn
    e mới học phần này nên hơi mù mờ
    coi dùm e sao ham xuất nó lại bị lỗi [IMG]images/smilies/Cry.gif[/IMG]

    Mã:
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    struct BN
    {
    	int mabn;
    	char tenbn[20];
    	char ngaynhapbv[20];
    };
    struct node
    {
    	BN data;
    	node *next;
    };
    struct DSLK
    {
    	node *first, *last;
    	int sopt;
    };
    
    node* taonode(BN bn)
    {
    	node *p;
    	p=new node;
    	if(p==NULL)
    	{
    		printf("
    KHONG CAP PHAT DUOC");
    		return NULL;
    	}
    	p->data=bn;
    	p->next=NULL;
    	return p;
    }
    void taolist(DSLK &l)
    {
    	l.first=l.last=NULL;
    	l.sopt=0;
    }
    DSLK add_first(DSLK &l, BN bn)
    {
    	node* newnode;
    	newnode=taonode(bn);
    	if(l.first==NULL)
    	l.first=l.last=newnode;
    	else
    	{
    		newnode->next=l.first;
    		l.first=newnode;
    	}
    	l.sopt++;
    }
    void add_giua(DSLK &l, BN bn, int ma)//ham them vao sau phan tu co ma duoc dua vao tu ban phim
    {
    	node *temp =new node;
    	temp=l.first;
    	while(temp!=NULL)
    	{
    		if((temp->data).mabn==ma)
    		{
    			node *newnode=taonode(bn);
    			if(newnode!=NULL)
    			{
    				if(temp->next==NULL)
    					l.last=newnode;
    					newnode->next=temp->next;
    					temp->next=newnode;
    					l.sopt++;
    					return;
    			}
    		}
    		temp=temp->next;
    	}
    	printf("
    Khong Tim Thay Phan Tu De Chen");
    }
    void add_last(DSLK &l, BN bn)
    {
    	int ma;
    	node *newnode=new node;
    	newnode=taonode(bn);
    	if(newnode!=NULL)
    	{
    		if(l.first==NULL)
    			l.first=l.last=newnode;
    		else
    		{
    			l.last->next=newnode;
    			l.last=newnode;
    		}
    		l.sopt++;
    	}
    }
    
    void xuat(DSLK l)
    {
    	node *p;
    	p=l.first;
    	while(p!=NULL)
    	{
    		printf("
    TEN BENH NHAN
    "); 
    		puts((p->data).tenbn);
    		printf("
    MA BENH NHAN
    ");
    		printf("
    %d
    ",(p->data).mabn);
    		printf("
    NGAY NHAP VIEN
    ");
    		puts((p->data).ngaynhapbv);
    		p=p->next;
    	}
    	printf("
    ");
    }
    /*
    BN nhap(BN &bn)
    {
    	BN x;
    	fflush(stdin);
    	printf("
    NHAP TEN BENH NHAN
    ");
    	gets(x.tenbn);
    	fflush(stdin);
    	printf("
    NHAP MA BENH NHAN
    ");
    	scanf("%d",&x.mabn);
    	fflush(stdin);
    	printf("
    NHAP NGAY NHAP VIEN
    ");
    	gets(x.ngaynhapbv);
    	return x;
    }*/
    int main()
    {
    	int chon, ma, chon2;
    	DSLK l;
    	BN x;
    	system("cls");
    	do
    	{
    		printf("
    1.THEM BENH NHAN");
    		printf("
    2.XUAT THONG TIN BENH NHAN");
    		printf("
    3.THOAT
    ");
    		scanf("%d",&chon);
    	}
    	while(!chon);
    	switch(chon)
    	{
    		case 1:
    		do
    		{
    			printf("
      1.THEM DAU");
    			printf("
      2.THEM GIUA");
    			printf("
      3.THEM CUOI
    ");
    			scanf("%d",&chon2);
    		}
    		while(!chon2);
    		switch(chon2)
    		{
    			case 1:
    			taolist(l);		
    			fflush(stdin);
    	printf("
    NHAP TEN BENH NHAN
    ");
    	gets(x.tenbn);
    	fflush(stdin);
    	printf("
    NHAP MA BENH NHAN
    ");
    	scanf("%d",&x.mabn);
    	fflush(stdin);
    	printf("
    NHAP NGAY NHAP VIEN
    ");
    	gets(x.ngaynhapbv);
    			add_first(l,x);
    			main();
    			break;
    			case 2:
    			printf("
    THEM SAU BENH NHAN CO MA~ LA :
    ");
    			scanf("%d",&ma);
    			fflush(stdin);
    	printf("
    NHAP TEN BENH NHAN
    ");
    	gets(x.tenbn);
    	fflush(stdin);
    	printf("
    NHAP MA BENH NHAN
    ");
    	scanf("%d",&x.mabn);
    	fflush(stdin);
    	printf("
    NHAP NGAY NHAP VIEN
    ");
    	gets(x.ngaynhapbv);
    			taolist(l);
    			add_giua(l,x,ma);
    			main();
    			break;
    			case 3:
    			taolist(l);
    			fflush(stdin);
    	printf("
    NHAP TEN BENH NHAN
    ");
    	gets(x.tenbn);
    	fflush(stdin);
    	printf("
    NHAP MA BENH NHAN
    ");
    	scanf("%d",&x.mabn);
    	fflush(stdin);
    	printf("
    NHAP NGAY NHAP VIEN
    ");
    	gets(x.ngaynhapbv);
    			add_last(l,x);
    			main();
    			break;
    						
    		}break;
    		case 2:xuat(l);
    		main();break;
    		case 3:exit(1); break;
    	}
    }

  3. #3
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0
    Mã:
    DSLK add_first(DSLK &l, BN bn) // hình như không cần có giá trị trả về
    {
    	node* newnode;
    	newnode=taonode(bn);
    	if(l.first==NULL)
    	l.first=l.last=newnode;
    	else
    	{
    		newnode->next=l.first;
    		l.first=newnode;
    	}
    	l.sopt++;
    }
    Mã:
    void add_giua(DSLK &l, BN bn, int ma)//ham them vao sau phan tu co ma duoc dua vao tu ban phim
    {
    	node *temp =new node;
    	temp=l.first;
    	while(temp!=NULL)
    	{
    		if((temp->data).mabn==ma)
    		{
    			node *newnode=taonode(bn);
    			if(newnode!=NULL)
    			{
    				if(temp->next==NULL)// mới add cuối à :D
    				{
                                    	addlast(l,newnode);
                                    }
                                    else if(temp==l.first)
                                        addfirst(l,newnode);
                                    else // add vào k phải là first và last
                                        {
                                               newnode->next=temp->next;
                                                temp->next=newnode;
                                        }
                                    return;
    			}
    		}
    		temp=temp->next;
    	}
    	printf("
    Khong Tim Thay Phan Tu De Chen");
    }

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    bạn chạy đươc chưa ???

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •