Professional Documents
Culture Documents
h>
#include<string.h>
#include<stdlib.h>
struct data
char product[50];
int qty;
void clear();
void menu();
void view();
void pop();
void popAll();
void addOrder();
void deleteOrder();
int main(){
int option;
do {
clear();
menu();
scanf("%d",&option);
fflush(stdin);
switch(option){
case 1 :
view();
fflush(stdin);
break;
case 2 :
addOrder();
break;
case 3 :
deleteOrder();
break;
default :
break;
while (option != 4 );
popAll();
return 0;
void clear(){
printf("\n\n\n\n\n");
void menu(){
printf("=============== \n");
void view() {
int i = 0;
clear();
printf("---------------------------------------------- \n");
curr = head;
while(curr){
i++;
strcpy(curr->product,product);
if(head == NULL)
head = tail=curr;
else{
curr->next = head;
head->prev=curr;
head=curr;
void pop(){
struct data *temp;
if(head!=NULL){
if(curr==head){
head=head->next;
free(curr);
curr = tail;
free(curr);
else {
temp = head;
while(temp->next != curr){
temp=temp->next;
curr->next->prev = curr->prev;
temp->next = curr->next;
free(curr);
curr=head;
head=head->next;
free(curr);
}
} void addOrder(){ char product[51]; int qty; printf("\n\n\n");
do{
scanf("%50s",product); fflush(stdin);
while(strlen(product)<3 || strlen(product)>30);
printf("\n");
do{
scanf("%d",&qty); fflush(stdin);
pushHead(product,qty);
getchar();
void deleteOrder(){
else{
popAll();
getchar();
fflush(stdin);