#endif
#include
GoodsInfo::GoodsInfo() //¹¹Ô캯Êý {
name=new char [21];
number=cost_p=unit_p=num_all=num_now=num_sell=cost_all=profit=0; next=NULL; }
GoodsInfo::GoodsInfo(char * a,int b,float c,float u,int all,int sell) //ÖØÔØ¹¹Ô캯Êý {
strcpy(name,a); number=b; cost_p=c; unit_p=u; num_all=all; num_sell=sell; num_now=all-sell; cost_all=c*all; profit=(u-c)*sell; next=NULL; }
void GoodsInfo::operator= (const GoodsInfo &right) //ÖØÔØ= {
strcpy(name,right.name); number=right.number ; cost_p=right.cost_p; unit_p=right.unit_p ; num_all=right.num_all ; num_sell=right.num_sell ; num_now=right.num_now ; cost_all=right.cost_all; profit=right.profit ; }
void GoodsInfo::setInfo(char * a,float c,float u,int all,int sell) //Êý¾ÝÔØÈë
16
{
strcpy(name,a); cost_p=c; unit_p=u; num_all=all; num_sell=sell; num_now=all-sell; cost_all=c*all; profit=(u-c)*sell; next=NULL; }
void GoodsInfo::show(GoodsInfo * h) //ÏÔʾ {
if(h==NULL) cout<<\else
{cout<<\<<\ÉÌÆ·Ãû: \cout<<\±àºÅ: \<<\³É±¾: \<<\ÏúÊÛµ¥¼Û: \<<\ÏúÁ¿£º\<<\¿â´æ: \<<\ÒÑ»ñµÃÀûÈó£º\} }
void GoodsInfo:: Amend(GoodsInfo * h) //ÐÞ¸ÄÐÅÏ¢ { int F; char S;
cout<<\<<\ÉÌÆ·³É±¾µ¥¼Û ^\<<\ÉÌÆ·ÏúÊÛµ¥¼Û ^\<<\½ø»õÊýÁ¿ ^\<<\ÏúÊÛÊýÁ¿ ^\<<\do
{cout<<\ÇëÑ¡ÔñÐèÒªÐ޸ĵÄÏîÄ¿±àºÅ£º\cin>>F;
17
switch(F) {
case 1 :{cout<<\<<\ÇëÊäÈëÐ޸ĺóµÄÃû³Æ|\\n\
<<\cin.ignore ();
cin.getline(h->name,21);break;}
case 2 :{cout<<\<<\ÇëÊäÈëÐ޸ĺóµÄ³É±¾¼Û: \\n\
<<\cin>>h->cost_p;break;}
case 3 :{cout<<\ÇëÊäÈëÐ޸ĺóµÄÏúÊÛµ¥¼Û: \cin>>h->unit_p;break;}
case 4 :{cout<<\ÇëÊäÈëÐ޸ĺóµÄ½ø»õÁ¿: \cin>>h->num_all;break;}
case 5 :{cout<<\ÇëÊäÈëÐ޸ĺóµÄÏúÊÛÁ¿: \cin>>h->num_sell;break;} }
h->cost_all=h->cost_p*(h->num_all); h->num_now=h->num_all -(h->num_sell); h->profit=(h->unit_p -(h->cost_p ))*h->num_sell; cout<<\ÊÇ·ñÐèÒª¼ÌÐøÐ޸ģ¿\cin>>S; }
while(S=='Y'); }
#include
p=new GoodsInfo [sizeof(GoodsInfo)]; head=NULL; p2=NULL; p->next =NULL;
18
//¹¹Ô캯Êý
}
GoodList::~GoodList() {
while(head!=NULL) {p=head; head=p->next ; delete [] p; } }
void GoodList::create() {int n=0; char f='Y';
cout<<\ÇëÊäÈëÉÌÆ·ÐÅÏ¢£º\while(f=='Y') {n+=1;
if(n==1) head=p; else
{p=new GoodsInfo [sizeof(GoodsInfo)]; p2->next=p; }
cout<<\ÉÌÆ·Ãû³Æ: \if(n==1) cin.ignore (); cin.getline (p->name,21); cout<<\ÉÌÆ·±àºÅ£º\cin>>p->number; cout<<\³É±¾¼Û: \cin>>p->cost_p; cout<<\ÏúÊÛ¼Û: \cin>>p->unit_p; cout<<\¹²¼ÆÉÌÆ·¼þÊý: \cin>>p->num_all; cout<<\ÒÑÊÛ³öÉÌÆ·¼þÊý: \cin>>p->num_sell;
p->num_now=p->num_all-(p->num_sell); p->cost_all=p->cost_p*(p->num_all);
p->profit=((p->unit_p)-(p->cost_p))*(p->num_sell); p2=p;
19
//Îö¹¹º¯Êý
//´´½¨
cout<<\ÊÇ·ñ¼ÌÐøÊäÈ룿£¨ÊäÈë¡®Y¡¯¼ÌÐø£©\cin>>f; cin.ignore(); }
if(head!=NULL) p2->next=NULL; //P2Ö¸Ïò×îºóÒ»¸ö }
void GoodList::showinfo(GoodsInfo * h) //ÏÔʾÐÅÏ¢
{cout< < cout< < h=h->next; } } GoodsInfo * GoodList::search() //²éÕÒ { if(head==NULL) { cout<<\Êý¾ÝΪ¿Õ!\\n\else {GoodsInfo *h; h=head; int f; cout<<\<<\ÇëÑ¡Ôñ²éÕÒ·½Ê½£º \\n\<<\°´ÉÌÆ·±àºÅ \\n\cin>>f; switch(f) {case 1: { int x,y; cout<<\ÇëÊäÈëÐè²éÕÒµÄÉÌÆ·±àºÅ£º\cin>>x; 20 <<\°´ÉÌÆ·Ãû³Æ \ <<\