Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn Phí
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn PhíĐăng Nhập

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


descriptionBài 1. Quản lý sinh viên EmptyBài 1. Quản lý sinh viên

more_horiz
BÀI TẬP QUẢN LÝ SINH VIÊN


Code:

#include<stdio.h>
#include<conio.h>
#include<alloc.h>
#include<string.h>
typedef struct SV{
   char MSSV[10];
   char HoTen[100];
   char NgaySinh[20];
   char DiaChi[100];
   float Diem;
};
typedef struct Node{
   SV * info;
   Node *next;
};
typedef struct List{
   Node *pHead;
   Node *pTail;
};
void KhoiTao_List(List *L){
   L->pHead=NULL;
   L->pTail=NULL;
}
SV * KhoiTao_SinhVien(){
   SV  * sv = new SV;
       //   sv=(SV)malloc(sizeof(SV));
   float temp;
   printf("\n nhap ma so sinh vien:");gets(sv->MSSV);
   printf("\nnhap ho ten:   ");gets(sv->HoTen);
   printf("\n nhap ngay sinh:   ");gets(sv->NgaySinh);
   printf("\n nhap dia chi:   ");gets(sv->DiaChi);
   printf("\n nhap diem:   ");scanf("%f",&temp);
   sv->Diem=temp;
//flushall();
   return sv;
}
Node * KhoiTao_Node(SV * pt){
      //   Node *p=(Node)malloc(sizeof(Node));
   Node*p=new Node;
   if(p==NULL)
       printf("khong lam");
    else{
       p->info=pt;
       p->next=NULL;
    }
    return p;
}
void InDanhSach(List * L){
   Node *p= L->pHead;
   while (p!=NULL){
      printf("\n ma so la: %s",p->info->MSSV);
      printf("\t Ho ten la: %s",p->info->HoTen);
      printf("\t Ngay sinh la:%s",p->info->NgaySinh);
      printf("\t Dia chi la:%s",p->info->DiaChi);
      printf("\t Diem la:%.2f",p->info->Diem);
      p=p->next;
      printf("-----> \n");
   }
}
void chencuoi(List *L){
   SV *t=KhoiTao_SinhVien();
   Node * p=KhoiTao_Node(t);
   if(L->pHead==NULL){
      L->pHead=L->pTail=p;
   }
   else{
      L->pTail->next=p;
      L->pTail = p;
   }
}
void sapxep_theodiem(List*L){
   Node *p1,*p2;
   SV *temp;
   for(p1=L->pHead;p1!=NULL;p1=p1->next)
      for(p2=p1->next;p2!=NULL;p2=p2->next)
         if(p1->info->Diem>p2->info->Diem){
            temp=p1->info;
            p1->info=p2->info;
            p2->info=temp;
         }
}
void xoacuoi(List * L){
   Node *p= L->pHead;
   if(L->pHead==NULL||L->pTail==NULL)
      printf("\n khong lam");
   else{
      while(p->next!=L->pTail && p!=NULL)
         p=p->next;
      if(L->pHead==L->pTail)
         L->pHead=L->pTail=NULL;
      else{
         L->pTail=p;
         delete(p->next);
         L->pTail->next=NULL;
      }
   }
}
void main(){
   clrscr();
   int n;
   List l;
   printf("\n nhap vao so sv");
   scanf("%d",&n);
   KhoiTao_List(&l);
   for(int i=1;i<=n;i++){
      printf("\n\n ***Nhap thong tin sinh vien thu %d : ***\n\n",i);
      chencuoi(l);
   }
   printf("\n danh sach sinh vien vua nhap");
   InDanhSach(&l);
   sapxep_theodiem(&l);
   printf("\n danh sach sau khi sap xep");
   InDanhSach(&l);
   printf("\n\n danh sach sau khi xoa cuoi");
   xoacuoi(&l);
   InDanhSach(&l);
   getch();
}


day la chuong trinh quan ly sinh vien bang danh sach lien ket

descriptionBài 1. Quản lý sinh viên EmptyBai tap da thuc

more_horiz
day la bai da thuc cach 1.

Code:

#include<conio.h>
#include<stdio.h>
#include<alloc.h>

//typedef struct long ElementType;
//cau 1: khai bao cau truc du lieu luu tru da thuc
typedef struct Node{
   long heso;
   int somu;
   Node * Next;
};
typedef Node* Position;
typedef Position List;
//cau 2: khoi tao da thuc rong
void Make_Null(List * Header){
   (*Header)=(Node*)malloc(sizeof(Node));
   (*Header)->Next=NULL;
}
// kt da thuc rong
int Empty_List(List L){
   return (L->Next==NULL);
}
//cau 3: viet thu tuc them 1 phan tu cuoi danh sach.
Position First(List L){
      return L;
}
Position End(List L){
   Position p;
   p=First(L);
   while(p->Next!=NULL){
      p=p->Next;
   }
   return p;
}
void Insert_EndList(long hs,int sm,List * L){
   Position T;
   T = (Node*)malloc(sizeof(Node));
   T->heso=hs;
   T->somu=sm;
   Position P;
   P = First(*L);
   while(P->Next!=NULL){
      P=P->Next;
   }
   P->Next=T;
   T->Next=NULL;

}
//cau 4: viet ham tra ve dao ham bac nhat cua da thuc
void daoham(List *L){
   Position p;
   p=First(*L);
   while(p->Next!=NULL){
      p->Next->heso=p->Next->somu*p->Next->heso;
      p->Next->somu=p->Next->somu-1;
      p=p->Next;
   }
}

//cau 5: viet thu tuc sap xep da thuc theo so mu tang dan.
void sapxep(List *L){
   Position p1, p2;
   p1=First(*L);
   p2=p1->Next;
   if(p2==NULL) return;
   while(p1->Next!=NULL){
      while(p2!=NULL){

         if(p1->somu>p2->somu){
            Position temp=p1;
            p1=p2;
            p2=temp;
         }
      p2=p2->Next;
      }
      p1=p1->Next;
      p2=p1->Next;
   }

}
//in danh sach
void Print_List(List L){
   Position p;
   p=First(L);
   while(p!=End(L)){
      printf("%ld .X^ %d ->",p->Next->heso,p->Next->somu);
      p=p->Next;
   }
}
void main(){
   clrscr();
   List L;
   Make_Null(&L);
   printf("\n danh sach sau khi kiem tra:");
   if(Empty_List(L)) printf("\n danh sach rong");
   else printf("danh sach khong rong");

   printf("\n chen phan tu vao danh sach: ");
   Insert_EndList(2,6,&L);
   Insert_EndList(2,4,&L);

   Insert_EndList(3,5,&L);
   printf(" \n\n in danh sach: ");
   Print_List(L);
/*   daoham(&L);
   printf(" \n\n dao ham bac nhat cua da thuc: ");
   Print_List(L);*/
   sapxep(&L);
   printf("\n danh sach sau khi sap xep theo so mu la:");
   Print_List(L);
   getch();
}

descriptionBài 1. Quản lý sinh viên EmptyDanh sách liên kết

more_horiz
Xin chỉ giúp bài tập về danh sách liên kết

Xét một cấu trúc dữ liệu bao gồm một danh sách liên kết đơn để lưu các phần tử, Head là con trỏ chỉ đến phần tử đứng đầu danh sách và Size để chỉ số lượng phần tử trong danh sách

Mình phải khai báo cấu trúc như thế nào để lưu trữ các phần tử có kiểu dữ liệu là số nguyên và để có thể viết hàm tạo ds rỗng và hàm trả về kích thước hiện hành của ds


descriptionBài 1. Quản lý sinh viên EmptyRe: Bài 1. Quản lý sinh viên

more_horiz
privacy_tip Permissions in this forum:
Bạn không có quyền trả lời bài viết
power_settings_newLogin to reply