// Hang Doi Mua Ve.cpp : Defines the entry point for the console application.
// So nguoi mua ve duoc bieu dien ban ky tu A B C D ...
// Nguoi dau tien la A, sau moi 1s thi ban ve duoc 1 nguoi
#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<dos.h>
#include <windows.h>
// Ham gotoxy (lenh:gotoxy(x,y), thu vien:windows.h)
void gotoxy(short x, short y)
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X=x-1;
pos.Y=y-1;
SetConsoleCursorPosition(hCon, pos);
}
void sleep( clock_t wait )
{
clock_t goal;
goal = wait + clock();
while( goal > clock() )
;
}
//KHOI TAO DSLK QUEUE
struct tagnode{
char Data;
struct tagnode *next;
};
typedef tagnode *node;
typedef struct taglist{
node head;
node tail;
}linkedlist;
typedef linkedlist Queue;
void initQueue(Queue &q){
q.head=q.tail=NULL;
}
int isempty(Queue q) //kiem tra q rong hay khong
{
return(q.head==NULL);
}
void enQueue(Queue &q,char x) //them x vao cuoi q
{ node p= new tagnode;
if(p==NULL) return;
p->Data=x;
p->next=NULL;
if(isempty(q)){
q.head=q.tail=p;
}
else
{ q.tail->next=p;
q.tail=p;
}
}
void deQueue(Queue &q) //xoa phan tu dau cua q
{ node p=q.head;
if(isempty(q))
return;
q.head=p->next;
if(q.head==NULL)
q.tail=NULL;
p->next=NULL;
delete p;
}
void insertQueue(Queue &q,int n) //nhap phan tu cua q(nhap nguoi mua ve)
{ char j=65;
initQueue(q);
for(int i=0;i<n;i++)
enQueue(q,j++);
}
void drawQueue(int x,int y) //ve phong cho mua ve
{ int i,j;
for(i=0;i<4;i++)
if(i==0 || i==3)
for(j=0;j<16;j++)
{ gotoxy(x+j,y+i);
putchar(196);
}
else
for(j=0;j<17;j+=3)
{ gotoxy(x+j,y+i);
putchar(221);
}
}
void putoutQueue(Queue q,int x,int y) //in hang doi mua ve xem phim ra man hinh
{ node p=q.head;
int i=1;
gotoxy(20,1);
printf(" \n MO PHONG HANG DOI MUA VE XEM PHIM \n");
drawQueue(x,y);
if(isempty(q))
return;
else
while(p)
{ gotoxy(x+i,y+2);
putchar(p->Data);
p=p->next;
i+=3;
}
}
void out_Queue(Queue q,int n) //quan ly so nguoi cho mua ve
{ int x=29,y=4;
insertQueue(q,n);
putoutQueue(q,x,y);
gotoxy(25,10);
sleep(4000);
for(int i=0;i<n;i++)
{ deQueue(q);
putoutQueue(q,x,y);
if(i!=(n-1))
{ gotoxy(25,10);
printf("\n Con %d nguoi cho mua ve",((n-1)-i));
}
else
{ gotoxy(33,10);
}
sleep(2000);
}
}
//HAM MAIN
void main()
{ Queue q;int n, m ,k;
printf("\n Nhap so nguoi muon mua ve: ");
scanf("%d",&m);
printf("\n Nhap so ve: ");
scanf("%d",&k);
if(k<=m)
{
n=k;
printf("\n Ban het ve");
out_Queue(q,n);
printf("\n Con %d nguoi chua co ve", m-k);
}
else
{
n=m;
printf("\n Tat ca deu co ve !");
out_Queue(q,n);
printf("\n Con thua %d ve :",k-m );
}
getch();
}
Home
»
»Unlabelled
» Hang Doi Mua Ve
Chủ Nhật, 20 tháng 5, 2012
Đăng ký:
Đăng Nhận xét (Atom)
Popular Posts
-
; nhập vào 2 số nguyên a, b <10 ; tính tổng a+b, in kết quả ra màn hình .model small .code org 100h jmp Main a db ? b db ? ...
-
AirlineDomains.com Make Offer TouristDomains.com Make Offer MinhphuGroup.com Make Offer TurkeyDomain.com Make Offer TouristDomain.com Make O...
-
Một phụ nữ người Utah cùng đứa con 17 tháng tuổi đã được giải thoát sau 5 ngày bị chính người chồng bắt làm con tin. Troy Reed Critchfi...
-
Dịch vụ âm nhạc trực tuyến trứ danh của Châu Âu, Spotify công bố đã có 2,5 triệu khách hàng thường xuyên trả tiền để nghe các bài hát có bản...
-
Trong số các chương trình viết nhạc, Encore là chương trình có tính năng trình diễn rất tiện lợi, với 11 thanh công cụ trong Palette để soạn...
-
Như tiêu đề, qua tham khảo thông tin trên forum, thấy nhiều bạn than vãn về vấn đề chia ổ bằng acronis diskdirector mà chưa có lời giải đáp ...
-
Easy DriverPack liên tục ra phiên bản mới đến nay chúng ta đã có một sự cải tiến vượt bậc về giao diện và cải tiến về phương pháp nhận biết ...
-
/* Bài toán Xếp Hậu Bài toán tám quân hậu là bài toán đặt tám quân hậu trên bàn cờ vua kích thước 8×8 sao cho không có quân hậu nào có thể &...
-
org 100h jmp start ; tao xau nghich dao string1 db ' toi khong mo hoa $' start: lea bx, string1 mov si, bx next_byt...
-
/* Bài toán "Tháp Hà Nội" Tương truyền rằng ngày xửa ngày xưa, lâu lắm rồi, ở một vùng xa xôi viễn đông, thành phố Hà Nội của Việ...
0 nhận xét:
Đăng nhận xét