1 / 13
文档名称:

中期筛选C++程序.doc

格式:doc   大小:87KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

中期筛选C++程序.doc

上传人:840122949 2017/12/14 文件大小:87 KB

下载得到文件列表

中期筛选C++程序.doc

文档介绍

文档介绍:2007二编写程序或者程序段
2、实现描述超市的类Suppermarket类,记录系统中现有商品(用链表实现),定义:
初始化链表的构造函数
增加商品的函数Append;
删除商品的函数Delete;
查询商品的函数Query,并显示查询结果
其中,商品具有Id,名称Name,价格Price和数量Number等特性。
//商品72
#include<>
struct Goods
{
double Id;
char *Name;
float Price;
int Number;
Goods *next;
};
class Supermarket
{
public:
Goods *L;
Supermarket();
void Append(double id,char *name,float price,int number);
void Delete(double i);
Goods *query(double i)
{
Goods *r;
r=L->next;
while(r)
{
if(r->Id==i)
{
cout<<"Goods ID:"<<r->Id<<endl;
cout<<"Name:"<<r->Name<<endl;
cout<<"Price:"<<r->Price<<endl;
cout<<"Number:"<<r->Number<<endl;
return r;
}
r=r->next;
}
cout<<"No goods found!"<<endl;
}
};
Supermarket::Supermarket()
{
L=new Goods;
L->next=NULL;
}
void Supermarket::Append(double id,char *name,float price,int number)
{
Goods *r=L;
Goods *p;
while(r->next!=NULL)
{
r=r->next;
}
p=new Goods;
p->Id=id;
p->Name=name;
p->Price=price;
p->Number=number;
p->next=NULL;//将添加的商品放在最后面
r->next=p;
}
void Supermarket::Delete(double i)
{
Goods *p,*r;
p=L;//头指针
r=L->next;
while(r!=NULL)
{
if(r->Id==i) break;
p=r;r=r->next;
}
if(r==NULL)
{
cout<<"goods do nit exits"<<endl;
}
p->next=r->next;//删除了商品
delete r;
}
void main()
{
Supermarket s;
(1,"apple",,10);
(2,"meat",,5);
(3,"milk",,8);
(1);
(2);
(3);
(1);
(2);
}
运行结果:
Goods ID:1
Name:apple
Price:
Number:10
Goods ID:2
Name:meat
Price:
Number:5
Goods ID:3
Name:milk
Price:
Number:8
Goods ID:2
Name:meat
Price:
Number:5
Press any key to continue
06二、2
假定居民的基本数据包括身份证号,姓名,性别和出生日期,而居民中的成年人又多出两项数据:最高学历和职业,成年中的党员又多出一项数据:党派类别,现要求建立三个类,让成年人继承居民类,党员类继承成年人类,并要求每个类中都提供有数据添加,数据删除,数据输出的功能。
//商品72
#include<>
class Person
{
public:
Person(){}
Person(char *id,char *name,char sex,char *birthday)
{
Id=id;
Name=name;