C++《超市商品管理系统》课程设计报告 下载本文

C++《超市商品管理系统》课程设计报告

程序源代码

#include #include #include #include

#include //用getch(); using namespace std;

class Goods //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Goods类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ {

public: Goods() { } int kind;

char name[20];//哇哈哈 char Id[20]; char place[10]; char brand[10];

float buyprice; //进货价; float saleprice; //卖出价; int amount; //存货数量; int amount1; //售货数量; int profit; //净利润; Goods * Next; void InputAll() {

InputName(); InputKind(); InputID(); InputOther();

}

void InputKind() {

cout<<\请选择种类:\ }

void InputName() {

21

C++《超市商品管理系统》课程设计报告

cout<<\请输入商品的名称:\ }

void InputID() {

cout<<\请输入商品的编号:\ }

void InputBuyprice() {

cout<<\请输入进货价:\ }

void InputSaleprice() {

cout<<\请输入售出价:\ }

void InputAmount() {

cout<<\请输入剩余商品数量:\ }

void InputProfit() {

cout<<\请输入净利润:\ }

void InputPlace() {

cout<<\请输入商品产地:\ }

void Inputbrand() {

cout<<\请输入生产商品牌:\ }

void InputOther() {

cout<<\请输入进货价:\ cout<<\请输入售出价:\ cout<<\请输入存货数量:\ cout<<\请输入商品的产地:\ cout<<\请输入生产商品牌:\ profit=0; }

void ReadFile(istream & in) {

in>>name>>kind>>Id>>buyprice>>saleprice>>amount>>place>>brand>>prof

22

C++《超市商品管理系统》课程设计报告

it; }

void Show() {

cout<<\商品名: \种类:\编号: \进货价 \售出价 \剩余商品数量: \

amount<

class Goodsmessage : public Goods //﹌﹌﹌﹌﹌﹌﹌﹌﹌Goodsmessage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ {

public:

Goodsmessage(); ~Goodsmessage();

void showMenu(int n); void Find(); void Save();

void ModifyItem(); void RemoveItem();

void Swap(Goods *,Goods *); void Paixu(); void Saleprice(); //void Chack(); int ListCount(); void Display() {

system(\ i=0;

for(Goods * p=Head->Next;p!=End;p=p->Next) {

p->Show(); i++; }

cout<<\共有\个商品\ cout<<\输入任意字符!继续??\ getch(); }

void AddItem()//从键盘输入商品信息

23

C++《超市商品管理系统》课程设计报告

{

system(\ End->InputName(); showMenu(1);

End->InputKind(); do {

End->InputID();

}while(FindID(End->Id));

End->InputOther();

End->Next = new Goods; End=End->Next;

cout<<\添加成功!\ Save();

cout<<\输入任意字符!继续??\ getch(); } private:

Goods * Head,* End; int i;

ifstream in; ofstream out;

Goods *FindItem(char * name) {

for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空

if(!strcmp(p->Next->name,name))return p; return NULL; }

Goods *FindID(char * Id) {

for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空

if(!strcmp(p->Next->Id,Id))return p; return NULL; } };

Goodsmessage::Goodsmessage() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

24

C++《超市商品管理系统》课程设计报告

{

Head=new Goods;

Head->Next=new Goods; End=Head->Next;

in.open(\ if(!in)

cout<<\无商品信息。请先进货。\ else {

while(!in.eof()) {

End->ReadFile(in);

if(End->name[0]=='\\0')break; End->Next=new Goods; End=End->Next; }

in.close();

cout<<\读取商品信息成功!\ } }

Goodsmessage::~Goodsmessage() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ {

//Save();

for(Goods * temp;Head->Next!=End;) {

temp=Head->Next;

Head->Next=Head->Next->Next; delete temp; }

delete Head,End; }

void Goodsmessage::showMenu(int n)//菜单 //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

{

switch(n) {

case 1: {

25