Quản Lý Sinh Viên Sử Dụng Danh Sách Liên Kết đôi - Code24h

  • Bài viết
  • Hỏi đáp
Tạo bài viết Đăng ký Đăng nhập Code24h.com 01/10/2018, 10:33 Quản lý sinh viên sử dụng danh sách liên kết đôi

Mọi người giúp em với Đây là bài toán quản lý danh sách sinh viên,em mới hoàn thành được chức năng nhập dữ liệu vào danh sách , in ra danh sách ,tìm kiếm danh sách theo 1 mã lớp.Chức năng sắp xếp tên theo thứ tự tên ,và sắp xếp theo điểm trung bình em chưa là được .Mọi người có thể vào xem giúp em với,em cảm ơn.

#include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> typedef struct DNode { int masv; char malop[12]; char ht[30]; float diemk1; float diemk2; float diemtb; struct DNode *next,*back; }DNODE; typedef struct DList { DNODE *head,*tail; }DLIST; void Newlist(DLIST &L) { L.head=L.tail=NULL; } void addtail(DList &L,DNODE *p) { if(p==NULL) return; if(L.head==NULL) { p->next=p->back=NULL; L.head=p; L.tail=L.head; } else { p->back=L.tail; p->next=NULL; L.tail->next=p; L.tail=p; } } DNode* createNode(int mssv,char mlop[],char hoten[],float diem1, float diem2) { float diemtrungbinh = (diem1+diem2)/2; DNode *p = (DNODE *) malloc(sizeof(DNODE)); if(!p) return NULL; p->masv = mssv; strcpy(p->malop,mlop); strcpy(p->ht,hoten); p->diemk1 = diem1; p->diemk2 = diem2; p->diemtb = diemtrungbinh; p->next=p->back=NULL; return p; } void createList(DLIST &l, int n){ DNode *p; int mssv; char hoten[30],mlop[12]; float diem1, diem2; fflush(stdin); do { fflush(stdin); printf(" Nhap ma sinh vien: "); scanf("%d",&mssv); if(mssv != 0){ fflush(stdin); printf(" Nhap ma lop: "); gets(mlop); fflush(stdin); printf(" Nhap ho ten: "); gets(hoten); fflush(stdin); printf(" Nhap diem k1 ( < 10 ): "); scanf("%f", &diem1); printf(" Nhap diem k2 ( 10 ): "); scanf("%f", &diem2); p = createNode(mssv, mlop, hoten, diem1, diem2); if(!p) return; addtail(l,p); n--; } }while(n >= 0); } void in(DList l) { DNode *p; p=l.head; printf("MASV Malop Ho ten Diemk1 Diemk2 Diemtb "); while(p!=NULL) { printf(" "); printf("%d",p->masv); printf("%10s",p->malop); printf("%20s",p->ht); printf("%10.2f",p->diemk1); printf("%10.2f",p->diemk2); printf("%10.2f",p->diemtb); p=p->next; } } void sxten(DList l) { DNode *p,*q; DNode *k ; p = l.head; while (p!=NULL) { for (q=p->next;q!=NULL;q=q->next) if((p->diemtb)<(q->diemtb)) { k = q; // k->masv = p->masv; // strcmp(k->malop,p->malop); // strcmp(k->ht , p->ht); // k->diemk1 = p->diemk1; // k->diemk2 = p->diemk2; // k->diemtb = p->diemtb; // // p->masv = q->masv; // strcmp(p->malop , q->malop); // strcmp(p->ht , q->ht); // p->diemk1 = q->diemk1; // p->diemk2 = q->diemk2; // p->diemtb = q->diemtb; // // q->masv = k->masv; // strcmp(q->malop , k->malop); // strcmp(q->ht ,k->ht); // q->diemk1 = k->diemk1; // q->diemk2 = k->diemk2; // q->diemtb = k->diemtb; } if(k->diemtb != p->diemtb) { } p = p->next; } DNode *m; m = l.head; printf("MASV Malop Ho ten Diemk1 Diemk2 Diemtb "); in(m); // while(m != NULL) // { // printf(" "); // printf("%d",p->masv); // printf("%10s",p->malop); // printf("%20s",p->ht); // printf("%10.2f",p->diemk1); // printf("%10.2f",p->diemk2); // printf("%10.2f",p->diemtb); // p=p->next; // } } void kt(DList l) { char kt[10]; DNode *p; int found=0; p=l.head; fflush(stdin); printf("Nhap ma lop muon tim"); gets(kt); printf("MASV Malop Ho ten Diemk1 Diemk2 Diemtb "); while(p!=NULL) if (strcmp(p->malop,kt) == 0) { printf(" "); printf("%d",p->masv); printf("%10s",p->malop); printf("%20s",p->ht); printf("%10.2f",p->diemk1); printf("%10.2f",p->diemk2); printf("%10.2f",p->diemtb); found++; p=p->next; } else p = p->next; if (!found) printf(" Khong co!!!"); } int main() { DList a; Newlist(a); int n,x; printf(" Nhap so sv : "); scanf("%d",&n); createList(a, n-1); printf(" +++++++++++++++++++++++++++++++++++++++++"); printf(" + Cac thu tuc ban muon xu li +"); printf(" +++++++++++++++++++++++++++++++++++++++++"); printf(" +1.In toan bo danh sach +"); printf(" +2.Danh sach sinh vien theo ma lop +"); printf(" +3.Sap xep theo diem +"); while(1){ printf(" +++++++++++++++++++++++++++++++++++++++++"); printf(" +Hay nhap lua chon cua ban +"); printf(" +++++++++++++++++++++++++++++++++++++++++ "); scanf("%d",&x); switch(x) { case 1: in(a); break; case 2: kt(a); break; case 3: sxten(a); break; } } getch(); } Henry viết 12:34 ngày 01/10/2018

Bạn format code lại để dễ xem hơn bằng cách

```cpp

Code của bạn

```

mai viết 12:42 ngày 01/10/2018

Cám ơn bạn,mình vừa sửa lại rồi

Tao Không Ngu. viết 12:37 ngày 01/10/2018

Hi mai.

void Newlist(DLIST &L) { L.head=L.tail=NULL; }

Mình không hiểu & dùng làm gì ?

HK boy viết 12:45 ngày 01/10/2018

Khởi tạo DSLK mới bằng cách gán đầu và đuôi bằng NULL, size = 0.

Bình luận về bài viết này Chia sẻ tin đăng đến bạn bè Gửi Messenger Copy link Bài liên quan

mai

0 chủ đề

0 bài viết

Tác giả nổi bật
  • Son Dong
  • Hoa Nguyen
  • Pham Dat
  • Nguyễn Dũng
  • Đào Đăng Sơn
Từ khóa nổi bật AngularJS Blog Bootstrap C / C++ Cấu trúc dữ liệu & Giải thuật Cơ sở dữ liệu Codeigniter Công cụ lập trình CSS CSS cơ bản CSS3 Học Excel HTML HTML cơ bản HTML5 Java Javascript jQuery Json Lập trình mobile Laravel Linux MongoDB MySQL NodeJS Oracle Pascal PHP PHP cơ bản PHP nâng cao Python React Native ReactJS Ruby SEO SQL Server Swift Visual Basic VueJS WordPress XML Chủ đề nổi bật
  • 1 Cài đặt phần mềm cần thiết cho học lập trình web
  • 2 Tự Học HTML Cơ Bản Online Miễn Phí Từ A đến Z
  • 3 Seo website dành cho dân IT
  • 4 REACT NATIVE
  • 5 sdfdsf
  • 6 Lập trình di động với React Native
  • 7 Vue.js
  • 8 Kiếm thức cơ bản HTML CSS
  • 9 So sánh count() và sizeof() 2 phần tử đếm mảng
  • 10 Toán tử và biểu thức của php
0 Các chủ đề đang được quan tâm phần mềm lập trình php | lập trình web php + mysql | khóa học lập trình php | tự học lập trình php | học php cơ bản thachpham | Giảm giá thùng rác cuối năm, thùng rác nhựa 120 240 660 giá rẻ cạnh tranh- lh 0911082000 | The Fun of Using Full Size Sex Dolls | Cung cấp thùng rác giá rẻ tại miền tây- sỉ lẻ thùng rác 120 240 660 giá sỉ- lh 0911082000 | Code24h | Cho thuê phòng trọ hà nội | Cho thuê phòng trọ bình thạnh | Cho thuê phòng trọ | Cho thuê nhà trọ Đăng ký

Đăng ký nhận thông báo

Các bài học thú vị sẽ được gửi đến inbox của bạn

HỖ TRỢ HỌC VIÊN
  • Các câu hỏi thường gặp
  • Điều khoản sử dụng
  • Chính sách và quy định
  • Chính sách bảo mật thanh toán
  • Hỗ trợ học viên: hotro@code24h.com
  • Báo lỗi bảo mật: security@code24h.com
VỀ CODE24H
  • Giới thiệu Code24h
  • Cơ hội nghề nghiệp
  • Liên hệ với chúng tôi
HỢP TÁC VÀ LIÊN KẾT
  • Đăng ký giảng viên
  • Giải pháp e-learning
  • Chương trình đại lý
  • Chương trình Affiliate
KẾT NỐI VỚI CHÚNG TÔI
TẢI ỨNG DỤNG TRÊN ĐIỆN THOẠI

CCode 24h, code mọi lúc, mọi nơi

© Copy right 2018 - 2024

Từ khóa » Danh Sách Liên Kết Kép Quản Lý Sinh Viên