-
03-12-2015, 06:37 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
chương trình mô phỏng quy trình sắp xếp hàng đặt vế xem phim
ai có thể giúp mk được ko plsss ( thực sự qá khó vs mk
Đề 2
viết chương trình mô phỏng quy trình sắp xếp hàng đặt vế xem phim như sau :
Danh sách liên kết A chứa số ghế của các ghế trống trong rạp (ban đàu khởi tạo các số ghế từ 1 đến n).
danh sách hàng đợi B chứa số thứ tự xếp hàng của khách.
dang sách liên kết C chứa thông tin khách hàng đã mua vé( số ghế, tên)
chức năng lấy số xếp hàng: thêm vào nút B, nếu B rỗng thì nút thêm sẽ có số thứ tự xếp hàng là 1 ,ngược lại thì số thứ tự xếp hàng là K+1 với K là số thứ tự của nút cuối của B
chức năng mua vé:nếu còn ghế trống và có khách đang chờ mua vé thì xóa nút khỏi B ,lấy tên khách hàng và số ghế khách chọn để thêm nút C đồng thời loại số ghế đó khỏi A
chức năng hủy vé : xóa nút khỏi C dồng thời loại số ghế đó khỏi A,
chức năng hiển thị : hiển thị thông tin những vé đã bán ( DSLK CView more random threads:
- Bài tập in phát âm của một số nguyên
- MCITP SQL Server 2005 Database Administration All-in-One
- Kiểm tra việc nhập passowrd. Xin sửa lỗi giùm!
- Mọi người giúp em sữa lỗi bài này với
- Trợ Giúp Windows Form Application CLR
- lỗi cấp phát bộ nhớ biến động, không biết sai ở đâu
- code bài tập C cơ bản sai chỗ nào vậy?
- Mình đã làm xong hàm sửa 1 số nguyên bất kỳ trong mảng đã cho nhưng không biết cách gọi vị trí phần tử đã sửa từ hàm main()
- Cách xóa hẳn 1 xâu để dùng lại?
- Kiểu dữ liệu INT và LONG là giống nhau?
-
13-12-2015, 03:36 PM #2Administrator
- Ngày tham gia
- Feb 2014
- Bài viết
- 0
// quanlybanve.cpp : Defines the entry point for the console application.
//
#include"stdafx.h"
#include <iostream>
#include <string>
using namespace std;
struct NodeA
{
int soghetrong;
NodeA *tiep;
};
struct listA
{
NodeA*dau, *cuoi;
};
typedef struct QueueA *maytrong;
struct NodeB
{
int sothutuxephang[33];
NodeB *tiep;
};
struct QueueB {
NodeB *dau, *cuoi;
};
struct NodeC {
char tenkhach[33];
int soghe;
NodeC *tiep;
};
struct ListC {
NodeC *dau, *cuoi;
};
void putA(listA &m, int x)
{
NodeA *data1 = new NodeA[1];
data1->soghetrong = x;
data1->tiep = NULL;
if (m.dau == NULL)m.dau = m.cuoi = data1;
else
{
m.cuoi->tiep = data1;
m.cuoi = data1;
}
}
int get(listA &m)
{
NodeA *x = new NodeA[1];
x = m.dau;
m.dau = m.dau->tiep;
int y = x->soghetrong;
delete x;
return y;
}
void showA(listA m)
{
NodeA *x1;
x1 = m.dau;
cout << "---------------------------------------------------------";
if (x1 == NULL)
cout << "
Khong con ghe trong nao ca";
}
void showC(ListC m)
{
NodeC *x2;
x2 = m.dau;
if (x2 == NULL)
cout << "
danh sach rong";
else
{
cout << "
Danh sach khach hang mua ve:";
cout << "
ten khach\t\tsoghe";
do
{
cout << x2->tenkhach << "\t" << x2->soghe << "\t" << endl;
x2 = x2->tiep;
} while (x2 != NULL);
}
}
void putC(ListC &a, int soghe, char tenkhach[33])
{
NodeC *h = new NodeC[1];
(h->tenkhach, tenkhach);
h->soghe = soghe;
h->tiep = NULL;
if (a.dau == NULL)
a.dau = a.cuoi = h;
else
{
a.cuoi->tiep = h;
a.cuoi = h;
}
}
void getC(ListC &C, int x)
{
NodeC *h;
h = C.dau;
if (h->soghe == x)
{
C.dau = C.dau->tiep;
delete h;
}
else
{
while (h->tiep->soghe != x&&h != C.cuoi)
h = h->tiep;
if (h == C.cuoi)cout << "
Xoa that bai";
else
{
NodeC *h2;
h2 = h->tiep;
if (h2 != C.cuoi)
h->tiep = h->tiep->tiep;
else
{
h->tiep = NULL;
C.cuoi = h;
}
delete h2;
}
}
}
void putB(QueueB &m, int sothutuxephang)
{
NodeB *data2 = new NodeB[1];
data2->tiep = NULL;
if (m.dau == NULL)
m.cuoi = m.dau = data2;
else
{
m.cuoi->tiep = data2;
m.cuoi = data2;
}
}
void getB(QueueB &B, int sothutuxephang)
{
NodeB *data3;
data3 = B.dau;
B.dau = B.dau->tiep;
delete data3;
}
void showB(QueueB m)
{
NodeB *x4;
x4 = m.dau=m.cuoi=NULL;
if (x4 == NULL)
cout << "
Khong co khach hang nao ca";
else
{
cout << "
so thu tu xep hang cua khach:";
while (x4 != NULL)
{
cout << "so thu tu xep hang " << x4->sothutuxephang;
x4 = x4->tiep;
}
}
}
void muave(listA &A, QueueB &B, ListC &C)
{
char ten[33];
int soghe;
cout << "
---------------------------------------------------------";
cout << "Nhap ten khach:";
cin.ignore(1);
cin.getline(ten,33);
if (A.dau != NULL)//A khac rong
{
cout << "nhap so ghe: ";
cin >> soghe;
int z = get(A);
putC(C, soghe, ten);
cout << "Da cap ghe cho khach hang:" << z << ten[20];
}
else
{
cout << "Khong con ghe trong nen khach da duoc them vao hang doi B:";
putB(B, soghe);
}
}
void xoave(listA &A, ListC &C)
{
int x5;
cout << "---------------------------------------------------------";
if (C.dau == NULL)
cout << "
Khong co khach hang nao tra ve";
else
{
cout << "
Nhap vao so ghe muon huy: ";
cin >> x5;
//Tim xem x co trong C khong?
NodeC *h;
h = C.dau;
while (h != NULL)
{
if (h->soghe == x5)break;
else
h = h->tiep;
}
if (h != NULL)//Co x trong C
{
//Loai bo h khoi C
getC(C, x5);
//Them x vao A
putA(A, x5);
cout << "Tra ghe thanh cong, so ghe duoc dua vao danh sach A";
cin >> x5;
}
else
cout << "So ghe tra nhap khong chinh xac";
}
}
int main()
{
listA A;//DS ghe trong
QueueB B;//Danh sach khach lay so thu tu xep hang
ListC C;//thong tin khach mua ve
A.dau = A.cuoi = NULL;
B.dau = B.cuoi = NULL;
C.dau = C.cuoi = NULL;
//Khoi tao A
cout << "Nhap so ghe cua cac ghe trong trong rap: ";
int n;
cin >> n;
for (int i = 1;i <= n;i++)
putA(A, i);
int check;
lap:
cout << endl << endl << " QUAN LY BAN VE XEM PHIM O RAP " << endl;
cout << " -------------------------------------------------------------" << endl;
cout << " | Lua chon cac chuc nang. |" << endl;
cout << " | Bam so 1 :lay so xep hang. |" << endl;
cout << " | Bam so 2 :de chon chuc nang mua ve. |" << endl;
cout << " | Bam so 3 :de chon chuc nang huy ve. |" << endl;
cout << " | bam so 4 :de hien thi thong tin. |" << endl;
cout << " | Bam so 0 :neu ban muon thoat khoi chuong trinh. |" << endl;
cout << " -------------------------------------------------------------" << endl << endl;
cin >> check;
switch (check)
{
case 0:return 0;
case 1:showB(B);
goto lap;
case 2: muave(A, B, C);
goto lap;
case 3: xoave(A, C);
goto lap;
case 4:
showC(C);
goto lap;
default:cout << "Xin moi ban lua chon lai: ";
goto lap;
}
}
vẫn còn vài chức năng chưa ổn đinh [IMG]images/smilies/biggrin.png[/IMG]
Ngoại trừ một số ít trường hợp rãnh mũi - má và “râu rồng silicon” xuất hiện sớm, có khi từ tuổi thanh niên do cơ địa, còn lại, đại đa số do căn do lão hoá đã gây nên ba diễn biến: Giảm mô xương gò...
Cách thẩm mỹ má ở tuổi trung niên...