#include "stdio.h"
#include "conio.h"
#include "process.h"
struct SanPham
{
char masp[5];
char tensp[31];
double giaban;
int soluongl;
double thanhtien;
};
struct NODE
{
SanPham sp;
NODE* next;
};
struct LIST
{
NODE* head;
NODE* tail;
};
void KhoiDong(LIST &l)
{
l.head=l.tail=NULL;
}
NODE* Getnode(SanPham &sp)
{
NODE* node=new NODE;
if(node==NULL)
{
printf("Khong du bo nho!");exit(1);
}
node->sp=sp;
node->next=NULL;
return node;
}
void NhapSanPham(SanPham &sp)
{
flushall();
printf("Nhap masp : ");
gets(sp.masp);
printf("Nhap ten sp : ");
gets(sp.tensp);
printf("\nNhap gia ban : ");
scanf("%lf",&sp.giaban);
printf("\nNhap so luong : ");
scanf("%d",&sp.soluongl);
sp.thanhtien=0;
sp.thanhtien=(double)(sp.giaban*sp.soluongl);
}
void ThemCuoi(LIST &l,NODE* node)
{
if(l.head==NULL)
{
l.head=node;
l.tail=l.head;
}
else
{
l.tail->next=node;
l.tail=node;
}
}
void NHAPLIST(LIST &l)
{
int n;
printf("Nhap so node : ");
scanf("%d",&n);
for(int i=0;i {
printf("\nNhap node thu %i :\n",i);
SanPham sp;
NhapSanPham(sp);
NODE* node=Getnode(sp);
ThemCuoi(l,node);
}
}
void XuatSanPham(SanPham sp)
{
printf("masp : %s\n",sp.masp);
printf("tensp : %s",sp.tensp);
printf("\ngia ban : %lf",sp.giaban);
printf("\nso luong : %d",sp.soluongl);
printf("\nThanh tien : %lf",sp.thanhtien);
}
void XuatLIST(LIST l)
{
int i=0;
for(NODE* p=l.head;p;p=p->next)
{
printf("\n--------------------Nhan vien thu %d : \n",i);
//printf("\n--------------------Nhan vien thu : \n");
XuatSanPham(p->sp);
i++;
}
}
void HoanVi(SanPham &sp1,SanPham &sp2)
{
SanPham sp;
sp=sp1;
sp1=sp2;
sp2=sp;
}
void Insertionsort(LIST &l)
{
for(NODE* p=l.head;p;p=p->next)
for(NODE* q=p->next;q;q=q->next)
if(p->sp.giaban > q->sp.giaban)
HoanVi(p->sp,q->sp);
}
double GiaBanCaoNhat(LIST &l)
{
double max=l.head->sp.giaban;
for(NODE* q=l.head->next;q;q=q->next)
if(q->sp.giaban > max)
max=q->sp.giaban;
return max;
}
void main()
{
LIST l;
KhoiDong(l);
NHAPLIST(l);
XuatLIST(l);
Insertionsort(l);
printf("\n\n\n------Danh sach da sap : \n");
XuatLIST(l);
double max=GiaBanCaoNhat(l);
printf("\nGia ban cao nhat : %lf ",max);
getch();
}