1. Trang chủ
  2. » Tất cả

Quản lý chung cư . Môn cấu trúc dữ liệu và giải thuật it05

7 3 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Quản lý chung cư môn cấu trúc dữ liệu và giải thuật it05 Ehou .Xây dựng phần mềm bằng C++ yêu cầu giải quyết các bài toán về quản lý chung cư Môn cấu trúc dữ liệu và giải thuật . Viện đại học Mở Hà Nội

/* QUẢN LÝ PHÍ CHUNG CƯ Cu Dan: So phong, ho ten, dien thoai, email, nam bat dau, dien tich 1.1 Nhao danh sach cu dan tu ban phim 1.2 In danh sach cu dan len man hinh 1.3 Luu danh sach cu dan vao file 1.4 Doc danh sach cu dan tu file 1.5 Tim kiem cu dan thoe ho ten 1.6 Tim kiem cu dan theo so phong 1.7 Sap xep danh sach cu dan theo so phong 1.8 Them mot cu dan moi 1.9 Xoa mot cu dan 1.10 tinh tong dien tich cac can ho 1.11 Cho biet ten can ho co dien tich lon nhat */ #include #include #include #include //Khai bao CTDL danh sach lien ket don struct CuDan { int iSoPhong; char sHoTen[25]; char sDienThoai[10]; char sEmail[30]; int iNamBatDau; float fDienTich; }; struct NodeCD { CuDan info; struct NodeCD *next; }; struct ListCD { NodeCD *Head; NodeCD *Tail; }; //Khoi tao danh sach void KhoiTao(ListCD &Q) { Q.Head = NULL; Q.Tail = NULL; } //Tao nut chua thong tin CuDan NodeCD *getNodeCD( CuDan x ) { NodeCD *p; p = new NodeCD; if(p==NULL) { printf("\n Cap phat khong cong"); exit(1); } p->info = x; p->next = NULL; return p; } //Nhap thong tin cua CuDan void nhapCuDan( CuDan &x) { fflush(stdin); printf("\n Nhap So Phong:"); scanf("%d",&x.iSoPhong); printf("Nhap Ten CuDan:"); fflush(stdin); gets(x.sHoTen); printf("Nhap Dien Thoai:"); fflush(stdin); gets(x.sDienThoai); printf("Nhap Email:"); fflush(stdin); gets(x.sEmail); printf("\n Nhap Nam Den O:"); scanf("%d",&x.iNamBatDau); printf("\n Nhap Dien Tich:"); scanf("%f",&x.fDienTich); } //In thong tin cua CuDan void InCuDan(CuDan x) { printf("\n %10s",x.iSoPhong); printf("%15s",x.sHoTen); printf("%15s",x.sDienThoai); printf("%30s",x.sEmail); printf("%7d",x.iNamBatDau); printf("%10.1f",x.fDienTich); } //1.1 Nhap danh sach Cu Dan Tu Ban Phim void NhapDSCuDan( ListCD &Q ) { NodeCD *p; int n,i; CuDan x; printf("Nhap so CuDan:"); scanf("%d",&n); for(i=0;inext) InCuDan(p->info); } //1.5 Tim kiem CuDan theo Ho Ten NodeCD *TimCuDanHoTen( ListCD Q, char ht[] ) { NodeCD *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.sHoTen, ht)==0) break; return p; } //1.6 Tim kiem CuDan theo So phong NodeCD *TimCuDanSoPhong( ListCD Q, int sP ) { NodeCD *p; for(p=Q.Head; p!=NULL; p=p->next) if( p->info.iSoPhong == sP ) break; return p; } //1.7 Sap xep danh sach cu dan theo so phong void SX_CuDan_SoPhong( ListCD &Q ) { NodeCD *p, *q; CuDan tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if( p->info.iSoPhong < q->info.iSoPhong ) { tg = p->info; p->info = q->info; q->info= tg; } } //1.8 Chen them nut vao dau DS void ChenDau( ListCD &Q, NodeCD *p) { if(Q.Head == NULL) { Q.Head = p; Q.Tail = p; } else { p->next = Q.Head; Q.Head = p; } } //1.9 Xoa nut dau danh sach void XoaDau( ListCD &Q ) { NodeCD *p; if(Q.Head != NULL) { p = Q.Head; Q.Head = Q.Head->next; delete p; if(Q.Head == NULL) Q.Tail = NULL; } } //1.10 tinh tong dien tich cac can ho void TongTienHang( ListCD Q ) { NodeCD *p; float s=0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.fDienTich printf("\n Tong tien cac can ho:%10.0f",s); } //1.11 Cho biet ten can ho co dien tich lon nhat void tenCuDanSoLuongMax( ListCD Q ) { NodeCD *p; float max; max = Q.Head->info.fDienTich; for(p=Q.Head ; p!=NULL; p=p->next) if(p->info.fDienTich > max) max = p->info.fDienTich; printf("\n Ten CuDan co dien tich lon nhat:"); for(p=Q.Head; p!=NULL; p=p->next) if(p->info.fDienTich == max) printf("- %15s", p->info.sHoTen); } //CHUONG TRINH CHINH - MENU int main() { ListCD Q; NodeCD *p, *q; int chon; KhoiTao(Q); { printf("\n Nhap DS Cu dan"); printf("\n In DS Cu dan"); printf("\n Luu DS cu dan vao file"); printf("\n Doc DS cu dan tu file"); printf("\n Tim kiem Cu dan theo ho ten"); printf("\n Tim kiem Cu dan theo so phong"); printf("\n Sap xep DS Cu dan tang dang theo so phong"); printf("\n Them cu dan moi"); printf("\n Xoa mot cu dan"); printf("\n 10 Tinh tong dien tich cac can ho"); printf("\n 11 Ten cu dan co dien tich lon nhat"); printf("\n Moi ban chon:"); scanf("%d", &chon); switch(chon) { case 1: //Nhap danh sach cu dan NhapDSCuDan(Q); break; case 2: //In danh sach cu dan InDSCuDan(Q); break; case 3: case 4: case 5: //Tim kiem cu dan theo ho ten char ht[10]; printf("\n Nhap Ho Ten can tim kiem:"); fflush(stdin); gets(ht); p = TimCuDanHoTen(Q, ht); if (p != NULL) { printf("\n Tim kiem thay"); InCuDan(p->info); } else printf("\n Khong tim kiem thay"); break; case 6: int sP; printf("\n Nhap So Phong can tim kiem:"); scanf("%d", &sP); p = TimCuDanSoPhong(Q, sP); if (p != NULL) { printf("\n Tim kiem thay"); InCuDan(p->info); } else printf("\n Khong tim kiem thay"); break; case 7: SX_CuDan_SoPhong(Q); printf("\n DS Cu dan sau sap xep \n"); InDSCuDan(Q); break; case 8: //them cu dan moi CuDan x; printf("Nhap cu dan can chen:"); NhapCuDan(x); p = getNodeCD(x); ChenDau(Q,p); printf("\n DS Cu dan sau chen them moi \n"); InDSCuDan(Q); break; case 9: //Xoa cu dan XoaDau(Q); printf("\n DS Cu dan sau xoa \n"); InDSCuDan(Q); break; case 10: //Tinh tong dien tich cac can ho TongTienHang(Q); break; case 11: //Ten Can ho co dien tich lon tenCuDanSoLuongMax(Q); break; case 0: exit(1); } } while (chon!=0); }

Ngày đăng: 30/03/2023, 14:34

Xem thêm:

w