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 13 2

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản lý chung cư
Trường học University of Information Technology
Chuyên ngành Data Structures and Algorithms
Thể loại Đồ án tốt nghiệp
Thành phố Ho Chi Minh City
Định dạng
Số trang 7
Dung lượng 133,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

/* 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 <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <string.h>

//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;

Trang 2

}

//Tao nut chua thong tin 1 CuDan

NodeCD *getNodeCD( CuDan x )

{

NodeCD *p;

p = new NodeCD;

if(p==NULL)

{

printf("\n Cap phat khong thanh cong");

exit(1);

}

p->info = x;

p->next = NULL;

return p;

}

//Nhap thong tin cua 1 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 1 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;

Trang 3

int n,i;

CuDan x;

printf("Nhap so CuDan:"); scanf("%d", n);

for(i=0;i<n;i++)

{

NhapCuDan(x);

p = getNodeCD(x);

ChenDau(Q,p);

}

}

//1.2 In danh sach CuDan len man hinh

void InDSCuDan( ListCD Q )

{

NodeCD *p;

for(p=Q.Head; p!=NULL; p=p->next)

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)

Trang 4

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 1 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 1 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);

Trang 5

}

//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= ->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);

do

{

printf("\n 1 Nhap DS Cu dan");

printf("\n 2 In DS Cu dan");

printf("\n 3 Luu DS cu dan vao file");

printf("\n 4 Doc DS cu dan tu file");

printf("\n 5 Tim kiem Cu dan theo ho ten");

printf("\n 6 Tim kiem Cu dan theo so phong");

printf("\n 7 Sap xep DS Cu dan tang dang theo so phong");

printf("\n 8 Them cu dan moi");

printf("\n 9 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);

Trang 6

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;

Trang 7

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 khi 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

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w