Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Mình mới học về LinkedList có một bài tập quản lý sinh viên bác nào biết chỉ mình voi

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    0

    Mặc định Mình mới học về LinkedList có một bài tập quản lý sinh viên bác nào biết chỉ mình voi

    Mình dang lam bài tập Linkedlist DSLK đơn
    Quản lý sinh viên:
    Mass;
    Tensv
    Ngaysinh
    Lop
    ai có chỉ mình với nhé mình cảm ơn nhìu càng nhanh càng tốt nhé

  2. #2
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Search in our forum. You can see something more than what you expect.
    Chịu khó search đi bạn. Chắc bài ni` sẽ bị mod del thôi
    Đọc nội quy nhé.
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    0

    Hên cho bạn tui vừa làm cái này xong nhưng chỉ hơi giống thui có thì tự tham khảo thêm nha!!!

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<alloc.h>
    
    typedef struct
    {
    	int maHocSinh;
    	char hoten[20];
    	char lop[10];
    	int ngaySinh;
    	int namSinh;
    	char noiSinh[20];
    	float DTbinh;
    }HocSinh;
    
    typedef struct node
    {
    	HocSinh infor;
    	struct node *next;
    }*NODEPTR;
    
    //khoi tao danh sach
    void Initialize (NODEPTR *plist)
    {
    	*plist = NULL;
    }
    
    // cap bo nho cho phan tu
    NODEPTR Getnode (void)
    {
    	NODEPTR p;
    	p = (NODEPTR) malloc(sizeof(struct node));
    	p->next=NULL;
    	return p;
    }
    // dem so phan tu trong danh sach
    int Countnode(NODEPTR *plist)
    {
    	int count = 0;
    	NODEPTR p;
    	p =*plist;
    	while(p !=NULL)
    	{
    		count++;
    		p = p->next;
    	}
    	return count;
    }
    //chen phan tu dau vao danh sach
    void Inserttop (NODEPTR *plist, HocSinh x)
    {
    	NODEPTR p;
    	p = Getnode();
    	p->infor = x;
    	if(*plist == NULL)
    		*plist = p;
    	else
    	{
     		p->next = *plist;
    		*plist = p;
    	}
    }
    
    //chen phan tu vao cuoi danh sach
    void Insertbottom(NODEPTR *plist, HocSinh x)
    {
    	NODEPTR p,q;
    	p = Getnode();
    	p->infor = x;
    	if(*plist == NULL)
    		*plist = p;
    	else
    	{//
    		q=*plist;
    		while(q->next != NULL)
    			q = q->next;
    		q->next = p;
    	}
    }
    
    //chen phan tu vao giua danh sach
    void Insertafter (NODEPTR *plist, HocSinh x, int n)
    {
    NODEPTR p,q; 
    int count = 1;
    p = Getnode();
    p->infor = x;
    if(n == 1)
    {
    	p->next = *plist;
    	*plist = p;
    }
    else
    {
    	q =*plist;
    	while (count++ < n-1 && q->next !=NULL)
    		q = q->next;
    	p->next = q->next;
    	q->next = p;
    }
    }
    
    //xoa phan tu dau
    void Deltop(NODEPTR *plist)
    {
    	NODEPTR p,q;
    	p = *plist;
    	if(*plist == NULL)
    	{
    		printf("\nDanh sach rong");
    		return;
    	}
    	q=p;
    	p = p->next;
    	*plist = p;
    	printf("\nNode bi xoa: %-5d%-20s%-10s%-5d%-5d%-20s%-10.3f", q->infor.maHocSinh,q->infor.hoten, q->infor.lop, q->infor.ngaySinh, q->infor.namSinh, q->infor.noiSinh, q->infor.DTbinh);
    	free(q);
    }
    
    // xoa phan tu cuoi danh sach
    void Delbottom(NODEPTR *plist)
    {
    	NODEPTR q, p;
    	if(*plist ==NULL)
    	{
    		printf("\n Danh sach rong");
    		return;
    	}
    	p = *plist;
     	q= p->next;
     	while(q->next != NULL)
     	{
     		q = q->next;
     		p = p->next;
    	 }
    	 p->next = NULL;
    	printf("\nNode bi xoa: %-5d%-20s%-10s%-5d%-5d%-20s%-5f", q->infor.maHocSinh,q->infor.hoten, q->infor.lop, q->infor.ngaySinh, q->infor.namSinh, q->infor.noiSinh, q->infor.DTbinh);
    	free(q);
    }
    
    // xoa node  thu i;
    void Delcurrent (NODEPTR *plist, int n)
    {
    	NODEPTR p,q;
    	int i;
    	if(*plist ==NULL)
    	{
    		printf("\n Danh sach rong");
    		return;
    	}
    	p = *plist;
    	i = 0;
    	while (p !=NULL && i<n-2)
    	{
    		i = i+1;
    		p = p->next;
    	} 
    	q = p->next;
    	p->next = q->next;
    	printf("\nNode bi xoa: %-5d%-20s%-10s%-5d%-5d%-20s%t/0.3f", q->infor.maHocSinh,q->infor.hoten, q->infor.lop, q->infor.ngaySinh, q->infor.namSinh, q->infor.noiSinh, q->infor.DTbinh);
    	free(q);
    	free (q);
    }
    
    //In danh sach
    void Travenode(NODEPTR *plist)
    {
    	NODEPTR p;
    	if(*plist == NULL)
    	{
    		printf("\n Danh sach rong");
    	}
    	else
    	{
    		p = *plist;
    		while(p != NULL)
    		{
    			printf("\nMa hocSinh: %d\tHo ten: %s\tLop: %s\n\tNgay sinh: %d\tNam sinh: %d\tNoi sinh: %s\tDiem TBinh: %0.3f", p->infor.maHocSinh,p->infor.hoten,p->infor.lop,p->infor.ngaySinh,p->infor.namSinh,p->infor.noiSinh,p->infor.DTbinh);
    			p = p->next;
    		}
    	}
    }
    
    //Sap xep danh sach theo thu tu tang dan
    void Sortnode (NODEPTR *plist)
    {
    	NODEPTR p,q;
    	HocSinh temp;
    	for(p = *plist; p!= NULL; p = p->next)
    	{
    		for(q = p->next; q != NULL; q = q->next)
    		{
    			if(p->infor.maHocSinh > p->infor.maHocSinh)
    			{
    			temp = p->infor;
    			p->infor = q->infor;
    			q->infor = temp;
    			}
    		}
    	}
    	printf("\n danh sach duoc sap xep");
    	for(p = *plist; p != NULL; p=p->next)
    	{
    			printf("\nNode bi xoa: %-5d%-20s%-10s%-5d%-5d%-20s%-5f", q->infor.maHocSinh,q->infor.hoten, q->infor.lop, q->infor.ngaySinh, q->infor.namSinh, q->infor.noiSinh, q->infor.DTbinh);
    	free(q);
    	}
    }
    
    // Tim phan tu trong danh sach theo ma so sinh vien
    void Searchnode(NODEPTR *plist , int maHocSinh)
    {
    	NODEPTR p;
    	p = *plist;
    	while(p != NULL && p->infor.maHocSinh != maHocSinh)
    		p = p->next;
    	if(p == NULL)
    		printf("\nNode khong ton tai");
    	else 
    		printf("\nNode can tim: %-5d%-20s%-10s%-5d%-5d%-20s%-5f", p->infor.maHocSinh,p->infor.hoten, p->infor.lop, p->infor.ngaySinh, p->infor.namSinh, p->infor.noiSinh, p->infor.DTbinh);
    }
    
    //ham thuc hien chinh
    void Thuchien(void)
    {
    	NODEPTR plist;
    	HocSinh x, y;
    	int vitri, maHocSinh, ngaySinh, noiSinh;
    	char c;
    	float DTbinh;
    	Initialize(&plist);
    	do
    	{
    		printf("\nTHAO TAC VOI SINGLE LINK LIST");
    		printf("\n\t DANH SACH QUAN LY HOC SINH:");
    		printf("\n 1 - Them node dau danh sach");
    		printf("\n 2 - Them node cuoi danh sach");
    		printf("\n 3 - Them node giua danh sach");
    		printf("\n 4 - Loai do node dau danh sach");
    		printf("\n 5 - Loai do node cuoi danh sach");
    		printf("\n 6 - Loai do node giua danh sach");
    		printf("\n 7 - Duyet danh sach");
    		printf("\n 8 - Sach xep danh sach");
    		printf("\n 9 - Tim kiem");
    		printf("\n 0 - Tro ve");
    		printf("\n Nhap so tuong ung:");
    		c = getch();
    		switch(c)
    		{
    			case '1':
    			printf ("\nMa hoc sinh:");
    			scanf("%d", &x.maHocSinh);
    			fflush(stdin);
    			printf("\nHo va ten:");
    			gets(x.hoten);
    			printf("\nLop cua hoc sinh:");
    			gets(x.lop);
    			printf("\nNgay sinh va Nam sinh cua hoc sinh:");
    			scanf("%d", &x.ngaySinh);
    			scanf("\t%d",&x.namSinh);
    			fflush(stdin);
    			printf("\nNoi sinh cua hoc sinh:");
    			gets(x.noiSinh);
    			printf("\nDiem trung binh cua hoc sinh:");
    			scanf("%f", &x.DTbinh);
    			fflush(stdin);
    			Inserttop(&plist,x);
    			break;
    			case '2':
    			printf ("\nMa hoc sinh:");
    			scanf("%d", &x.maHocSinh);
    			fflush(stdin);
    			printf("\nHo va ten:");
    			gets(x.hoten);
    			printf("\nLop cua hoc sinh:");
    			gets(x.lop);
    			printf("\nNgay sinh va Nam sinh cua hoc sinh:");
    			scanf("%d", &x.ngaySinh);
    			scanf("\t%d", &x.namSinh);
    			fflush(stdin);
    			printf("\nNoi sinh cua hoc sinh:");
    			gets(x.noiSinh);
    			printf("\nDiem trung binh cua hoc sinh:");
    			scanf("%f", &x.DTbinh);
    			fflush(stdin);
    			Insertbottom(&plist,x);
    			break;
    			case '3':
    			printf("\nVi tri chen:");
    			scanf("%d", &vitri);
    			printf ("\nMa hoc sinh:");
    			scanf("%d", &x.maHocSinh);
    			fflush(stdin);
    			printf("\nHo va ten:");
    			gets(x.hoten);
    			printf("\nLop cua hoc sinh:");
    			gets(x.lop);
    			printf("\nNgay sinh va Nam sinh cua hoc sinh:");
    			scanf("Ngay sinh: %d\tNam sinh: %d", &x.ngaySinh, &x.namSinh);
    			fflush(stdin);
    			printf("\nNoi sinh cua hoc sinh:");
    			gets(x.noiSinh);
    			printf("\nDiem trung binh cua hoc sinh:");
    			scanf("%f", &x.DTbinh);
    			fflush(stdin);
    			Insertafter(&plist,x,vitri);
    			break;
    			case '4':
    			Deltop(&plist);
    			break;
    			case '5':
    			Delbottom(&plist);
    			break;
    			case '6':
    			fflush(stdin);
    			printf("\nVi tri loai bo:");
    			scanf("%d", &vitri);
    			Delcurrent(&plist, vitri);
    			break;
    			case '7':
    			Travenode(&plist);
    			break;
    			case '8':
    			Sortnode(&plist);
    			break;
    			case '9':
    			fflush(stdin);
    			printf("\nMa hoc sinh:");
    			scanf("%d", &maHocSinh);
    			Searchnode(&plist, maHocSinh);
    			break;
    		}
    	}while(c != '0');
    }
    void main(void)
    {
    	Thuchien();
    }

  4. #4
    No Avatar
    pen&pen Khách

    Trích dẫn Nguyên bản được gửi bởi hopctdl Xem bài viết
    Mình dang lam bài tập Linkedlist DSLK đơn
    Quản lý sinh viên:
    Mass;
    Tensv
    Ngaysinh
    Lop
    ai có chỉ mình với nhé mình cảm ơn nhìu càng nhanh càng tốt nhé

    Tui thấy cho dù là bài ào đi nữa bạn cũng nên làm wa một tý rồi mới đem lên diễn đàn để hỏi chứ! Aiu dè lại đi hỏi chay như vậy!!

Các đề tài tương tự

  1. Giúp mình sửa lại code quản lý điểm sinh viên dùm cái. Mình ko biết sửa thế nào cả
    Gửi bởi ronghappy13 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 04-01-2013, 08:49 PM
  2. Quản lí sinh viên bằng stack dùng danh sách liên kết. Làm sao để nhập nhiều sinh viên?
    Gửi bởi hoainamken trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 24-08-2011, 10:34 AM
  3. Bài tập quản lý sinh viên trong lập trình C#. Tìm kiếm sinh viên in ra cả danh sách?
    Gửi bởi anhduc12c5 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 24-08-2011, 08:32 AM
  4. Chương trình quản lí sinh viên viết trong visual c++ 2010. Lỗi không chạy khi in danh sách sinh viên theo năm
    Gửi bởi hikaru1015 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 9
    Bài viết cuối: 03-06-2011, 09:31 AM
  5. Chương trình quản lý sinh viên viết bằng C. Làm sao tìm kiếm sinh viên theo tên và sắp xếp?
    Gửi bởi linhdong24 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 24-06-2009, 12:53 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn