// Masi rada ca"d.. tp biarlah.. :P
#include
#include
#include
struct data{
char nama[20];
char dress[20];
int price;
int no;
struct data *next;
}*head,*tail,*curr;
void bersih()
{
int i;
for(i=0;i<25;i++)printf("\n"); no="1;" curr="(struct">nama,nama);
strcpy(curr->dress,dress);
curr->price=price;
curr->no=no;
no++;
do{
printf("Input costumer's name [3..20] : ");
scanf("%s",curr->nama);fflush(stdin);
}while(strlen(curr->nama)<3||strlen(curr->nama)>20);
do{
printf("Input dress name [3..20] : ");
scanf("%s",curr->dress);fflush(stdin);
}while(strlen(curr->dress)<3||strlen(curr->dress)>20);
do{
printf("Input dress price [$50..$999] : ");
scanf("%d",&curr->price);fflush(stdin);
}while(curr->price<50||curr->price>999);
printf("\n\n--- Success to Ad Customer into Queue List ---");
if(head==NULL)
{
head=tail=curr;
}
else
{
tail->next=curr;
tail=curr;
}
tail->next=NULL;
}
void cetak()
{
curr=head;
printf("---QUEUE VIEW---\n\n");
if(curr!=NULL)
{
printf("--------.-----------------------.---------------.------.\n");
printf("|NO\t|Costumer's name\t|dress name\t|price\t|\n");
printf("--------.-----------------------.---------------.------.\n");
while(curr!=NULL)
{
printf("|%d\t|%s\t\t\t|%s\t\t|%d\t|\n",curr->no,curr->nama,curr->dress,curr->price);
curr=curr->next;
}
printf("--------.-----------------------.---------------.------.");
}
else
{
printf("<
}
}
void pop()
{
curr=head;
printf("---%s Has Been Served---",curr->nama);
head=head->next;
free(curr);
curr=head;
}
void main()
{
int pilih;
do{
do{
bersih();
printf("BLUE DRESS SHOP CASHIER QUEUE\n");
printf("#############################\n\n");
printf("1. View Queue\n");
printf("2. Add Customer to Queue\n");
printf("3. Serve Customer\n");
printf("4. Exit\n");
printf("\n>>Input choise : ");
scanf("%d",&pilih);fflush(stdin);
}while(pilih<1||pilih>4);
switch(pilih)
{
case 1 : bersih();cetak();getchar();break;
case 2 : bersih();push();getchar();break;
case 3 : bersih();pop();getchar();break;
}
}while(pilih!=4);
getchar();
}