中南大学库存管理系统c++

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学库存管理系统设计(C++)❖题目六:库存管理系统设计
运用面向对象程序设计知识,利用C++语言设计和实现一个“库存管理系统设计”,主要完成对商品的销售、统计和简单管理。

超市中商品分为四类,分别是食品、化妆品、日用品和饮料。

每种商品都包含商品名称、价格、库存量和品牌等信息。

本系统要求具备如下主要功能:(1)商品简单管理功能
✧添加功能:主要完成商品基本信息的添加。

✧查询功能:可按商品类别、商品名称、生产厂家、进货日期进行查询。

若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记
录不存在!”。

✧修改功能:可根据查询结果对相应的记录进行修改。

✧删除功能:主要完成商品信息的删除。

先输入商品类别,再输入要删除
的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库
中,则提示“该商品不存在”。

(2)进货功能
按要求添加相应商品的信息到库存中。

添加进货日期、生产厂家、进货价等信息。

(3)出货功能
出货时,先输入商品类别,然后输入商品名称,并在库存中查找该商品的相关信息。

如果有库存量,输入出货的数量、出货日期,计算销售额和利润。

如果库存量不够,给出提示信息,结束出货。

(4)统计功能
输出当前库存中所有商品的总数及详细信息;能统计每种商品一周时间内的销售额和利润;能统计每类商品的一周时间内的销售额和利润。

输出统计信息时,要按从大到小进行排序。

(根据个人能力,至少实现一种统计功能)在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承和封装等核心概念,每一个类应包含数据成员和成员函数。

源代码
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>//用getch();
using namespace std;
class Goods //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Goods 类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
public:
Goods(){}
int kind;
char name[20];//哇哈哈
char date[20];//进货日期
char brand[10];//品牌
char manufactor[10];//厂家
float buyprice; //进货价;
float saleprice; //卖出价;
int amount; //存货数量;
int amount1; //售货数量;
int profit; //净利润;
Goods * Next;
void InputAll()//输入全部函数
{
Inputmanufactor();
InputName();
InputKind();
Inputdate();
InputOther();
}
void InputKind()
{
cout<<"\t\t请选择种类:";cin>>kind;
void InputName()
{
cout<<"\t\t请输入商品的名称:"; cin>>name; }
void Inputdate()
{
cout<<"\t\t请输入商品的进货日期:"; cin>>date; }
void InputBuyprice()
{
cout<<"\t\t请输入进货价:"; cin>>buyprice;
}
void InputSaleprice()
{
cout<<"\t\t请输入售出价:"; cin>>saleprice;
}
void InputAmount()
{
cout<<"\t\t请输入剩余商品数量:"; cin>>amount; }
void InputProfit()
cout<<"\t\t请输入净利润:"; cin>>profit;
}
void Inputmanufactor()
{
cout << "\t\t请输入商品厂家:"; cin >> manufactor; }
void Inputbrand()
{
cout<<"\t\t请输入生产商品牌:"; cin>>brand;
}
void InputOther()
{
cout<<"\t\t请输入进货价:"; cin>>buyprice;
cout<<"\t\t请输入售出价:"; cin>>saleprice;
cout<<"\t\t请输入存货数量:"; cin>>amount;
cout<< "\t\t请输入商品的厂家:";cin>>manufactor;
cout<<"\t\t请输入生产商品牌:"; cin>>brand;
profit=0;
}
void ReadFile(istream &in)
in>>name>>kind>>date>>manufactor>>buyprice> >saleprice>>amount>>brand>>profit;
}
void Show()
{
cout<<"商品名: "<<name<<endl<<"种类:"<<kind<<endl<<"进货日期"<<date<<endl<< "商品的厂家: " << manufactor<< endl<<"进货价"<<buyprice<<endl<<"售出价"<<saleprice<<endl<<"剩余商品数量: "<<
amount<<endl<<"净利润:"<<profit<<endl<<"生产商品牌: "<<brand<<endl<<endl<<endl;
}
};
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("cls");
i=0;
for(Goods * p=Head->Next;p!=End;p=p->Next)
{
p->Show();
i++;
}
cout<<"共有"<<i<<"个商品"<<"\n"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
void AddItem()//从键盘输入商品信息
{
system("cls");
showMenu(1);
End->InputKind();
End->InputName();
End->Inputdate();
End->InputOther();
End->Next = new Goods;
End=End->Next;
cout<<"添加成功!"<<endl;
Save();
cout<<"输入任意字符!返回主菜单。

";
getch();
}
private:
Goods * Head,* End;
int i;
ifstream in;
ofstream out;
Goods *Findname(char * name)
{
for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!strcmp(p->Next->name,name))return p;
return NULL;
}
Goods *Findkind(int kind)
{
for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(p->Next->kind==kind)return p;
return NULL;
}
Goods *Finddate(char * date)
{
for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!strcmp(p->Next->date,date))return p;
return NULL;
}
Goods *Findmanufactor(char * manufactor)
{
for(Goods * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!strcmp(p->Next->manufactor,manufactor))return p;
return NULL;
}
};
Goodsmessage::Goodsmessage() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌{
Head=new Goods;
Head->Next=new Goods;
End=Head->Next;
in.open("market.txt");
if(!in)
cout<<"无商品信息。

请先进货。

"<<endl;
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='\0')break;
End->Next=new Goods;
End=End->Next;
}
in.close();
cout<<"\t\t\t\t读取商品信息成功!"<<"\n"<<endl;
}
}
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:
{
cout<<"************************************************
********************************\n"
<<" 1. 食品 2. 化妆品 3. 日用品 4. 饮料\n"
<<"***************************************************** ***************************\n"<<endl;
break;}
case 2:
{
system("cls");
system("color F0");
cout<<"----------------------------------------------------------------------------"<<endl;
cout<<"********************* 库存管理系统**********************"<<endl;
cout<<"#####################
1.增加商品######################"<<endl;
cout<<"#####################
2.显示商品######################"<<endl;
cout<<"#####################
3.统计排序######################"<<endl;
cout<<"#####################
4.查找商品######################"<<endl;
cout<<"#####################
5.删除商品######################"<<endl;
cout<<"#####################
6.修改商品######################"<<endl;
cout<<"#####################
7.出货系统######################"<<endl;
cout<<"##################### 8.保存商品信息######################"<<endl;
cout<<"##################### 0.安全退出系统######################"<<endl;
cout<<"\t\t\t\t 请选择:0-8"<<endl;
break;}
case 3:
{
system("cls");
cout<<"************************************************ ********************************\n"
<<"\t 1. 修改商品名 2. 修改种类3. 修改进货日期\n"
<<"\t 4. 修改进货价 5. 修改售出价 6. 修改剩余商品量\n"
<<"\t 7. 修改净利润8. 修改商品品牌9. 修改生产厂家\n"
<<"\t 10. 修改全部0. 返回主菜单\n"
<<"***************************************************** **************************"<<endl;
cout<<"\t\t\n\t\t\t\t 请选择:0-10"<<endl;
break;
}
case 4:
{
system("cls");
cout<<"************************************************ ********************************\n"
<<" 1. 按库存量排序 2. 按净利润排序0.返回主菜单\n"
<<"***************************************************** ***************************"<<endl;
cout<<"\t\t\n\t\t\t\t 请选择:0-3"<<endl;
break;
}
case 5:
{
system("cls");
cout<<"\n\t\t
*********************************\n";
cout<<"\t\t ***** 1.按商品的名称查找*****\n\t\t ***** 2.按生产厂家查找
*****\n\t\t ***** 3.按进货日期查找*****\n\t\t ***** 4.按商品类别查找*****\n\t\t ***** 0.返回主菜单*****";
cout<<"\n\t\t
*********************************\n请选择:0-4"<<endl;
break;
}
case 6:
{
system("cls");
system("color 3E");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\t\t感谢您使用本库存管理系统,欢迎下次使用,再见!\n" << endl;
cout<<"\t\t请按任意键退出!\n\n\n\n\n\n\n\n\n\n\n"<<endl;
}
}
}
void Goodsmessage::Find() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
system("cls");
char name[20] ,Id[10];
int x;
Goods * p=NULL;
showMenu(5);
cin>>x;
switch(x)
{
case 1:{cout<<"\t\t请输入要查找的商品的名称:";cin>>name;
if(p=Findname(name))
{
p->Next->Show();
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到该名称的商品!"<<'\n'<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
}break;
case 2:
{
cout<<"\t\t请输入要查找的商品的生产厂家:";cin>>manufactor;
if(p=Findmanufactor(manufactor))
{
p->Next->Show();
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到该生产厂家的商品!"<<'\n'<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
}break;
case 3:
{
cout<<"\t\t请输入要查找的商品的进货日期:";cin>>date;
if(p=Finddate(date))
{
p->Next->Show();
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到该进货日期的商品!"<<'\n'<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
}break;
case 4:
{
cout<<"\t\t请输入要查找的商品的类型:";cin>>kind;
if(p=Findkind(kind))
{
p->Next->Show();
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到该种类的商品!"<<'\n'<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
}break;
}
}
void Goodsmessage::ModifyItem() //修改商品信息
{
showMenu(3);
int x;
cin>>x;
switch(x)
{
case 1:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputName();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 2:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputKind();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 3:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->Inputdate();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 4:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputBuyprice();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 5:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputSaleprice();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 6:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputAmount();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 7:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputProfit();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 8:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->Inputbrand();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 9:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->Inputmanufactor();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
break;
}
case 10:
{
char name[20];
Goods * p=NULL;
cout<<"\t\t请输入要修改的商品的名称:";cin>>name;
if(p=Findname(name))
{
cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;
p->Next->InputAll();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
}
}
}
void Goodsmessage::RemoveItem() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除商品信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌{
system("cls");
char Id[20];
Goods * p=NULL,*temp=NULL;
cout<<"\t\t请输入要删除的商品的名称:"<<endl;cin>>name;
if(p=Findname(name))
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"\t\t删除成功!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
else
cout<<"\t\t没有找到您需要的商品!"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
}
}
void Goodsmessage::Saleprice() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌售出商品﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌{
system("cls");
char name[20];int i;
Goods * p=NULL;
Goods * temp=NULL;
cout<<"\t\t请输入要售出的商品的名称和数量:"<<endl;cin>>name;cin>>i;
if(p=Findname(name))
{
if(p->Next->amount>i)
{
p->Next->amount -= i;
p->Next->amount1 += i;
p->Next->profit +=i*(p->Next->saleprice - p->Next->buyprice);
cout<<"商品售出成功!"<<"\n";
cout<<"售出商品名称: "<<name<<"\t"<<"数量: "<<i<<"\n";
cout<<"\n";
cout<<"售出后商品信息: "<<endl;
p->Next->Show();
Save();
cout<<"输入任意字符!返回主菜单";
getch();
}
else
{
cout<<"商品数量不够,不能购买"<<endl;
cout<<"输入任意字符!返回主菜单";
getch();
Saleprice();
}
}
else
{
cout<<"无此种商品,不能购买"<<endl;
cout<<"输入任意字符!继续……";
getch();
showMenu(2);
}
}
void Goodsmessage::Swap(Goods *p1, Goods *p2) //交换两个商品的数据
{
Goods *temp=new Goods;
strcpy(temp->name,p1->name);
strcpy(temp->manufactor,p1->manufactor);
temp->kind=p1->kind;
strcpy(temp->date,p1->date);
temp->saleprice=p1->saleprice;
temp->buyprice=p1->buyprice;
temp->amount=p1->amount;
temp->profit=p1->profit;
strcpy(temp->brand,p1->brand);
strcpy(p1->name,p2->name);
strcpy(temp->manufactor,p1->manufactor); p1->kind=p2->kind;
strcpy(p1->date,p2->date);
p1->saleprice=p2->saleprice;
p1->buyprice=p2->buyprice;
p1->amount=p2->amount;
p1->profit=p2->profit;
strcpy(p1->brand,p2->brand);
strcpy(p2->name,temp->name);
strcpy(temp->manufactor,p1->manufactor); p2->kind=temp->kind;
strcpy(p2->date,temp->date);
p2->saleprice=temp->saleprice;
p2->buyprice=temp->buyprice;
p2->amount=temp->amount;
p2->profit=temp->profit;
strcpy(p2->brand,temp->brand);
}
int Goodsmessage::ListCount() //统计当前链表的记录总数,返回一个整数
{
if(! Head)
return 0;
int n=0;
for(Goods * p=Head->Next;p!=End;p=p->Next)
{
n++;
}
return n;
}
void Goodsmessage::Paixu() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌排序商品﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
showMenu(4);
int x;
cin>>x;
switch(x)
{
case 1:
{
system("cls");
cout <<"\t\t排序中..."<<endl;
cout<<"\n";
Goods *p=NULL,*p1=NULL,*k=NULL;
int n=Goodsmessage::ListCount();
if(n<2)
return;
for(p=Head->Next;p!=End;p=p->Next)
for(k=p->Next;k!=End;k=k->Next)
{
if(p->amount>k->amount)
{
Goodsmessage::Swap(p,k);
}
}
Display();
out.open("库存量.txt");
for(Goods
*q=Head->Next;q!=End;q=q->Next)
out<<q->name<<"\t"<<q->kind<<"\t"/*<<q->Id<<" \t"*/<<q->buyprice<<"\t"<<q->saleprice<<"\t"<<q->a mount<<"\t"<<q->brand<<"\t"<<q->profit<<'\n';
out.close();
cout<<"保存信息成功"<<endl;
cout <<"排序完成!"<<endl;
getch();
return;
}
case 2:
{
system("cls");
cout <<"\t\t排序中..."<<endl;
cout<<"\n";
Goods *p=NULL,*p1=NULL,*k=NULL;
int n=Goodsmessage::ListCount();
if(n<2)
return;
for(p=Head->Next;p!=End;p=p->Next)
for(k=p->Next;k!=End;k=k->Next)
{
if(p->profit>k->profit)
{
Goodsmessage::Swap(p,k);
}
}
Display();
out.open("净利润.txt");
for(Goods
*q=Head->Next;q!=End;q=q->Next)
out<<q->name<<"\t"<<q->kind<<"\t"/*<<q->Id<<" \t"*/<<q->buyprice<<"\t"<<q->saleprice<<"\t"<<q->a mount<<"\t"<<q->brand<<"\t"<<q->profit<<'\n';
out.close();
cout<<"保存信息成功"<<endl;
cout <<"排序完成!"<<endl;
getch();
return;
}
}
}
void Goodsmessage::Save() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存商品信息到文件函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌{
out.open("market.txt");
for(Goods *p=Head->Next;p!=End;p=p->Next)
out<<p->name<<"\t"<<p->kind<<"\t"<<p->date<< "\t"<<p->manufactor<<"\t"<<p->buyprice<<"\t"<<p-> saleprice<<"\t"<<p->amount<<"\t"<<p->brand<<"\t"< <p->profit<<'\n';
out.close();
cout<<"保存信息成功"<<endl;
}
int main() //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
system("color 3E");
cout << "\t********************************************************** ******" << endl;
cout << "\t********************************************************** ******" << endl;
cout << "\t********************************************************** ******" << endl;
cout << "\t********************************************************** ******" << endl;
cout << "\t****************************welcome!********************
********" << endl;
cout << "\t**********************欢迎使用库存管理系统**********************" << endl;
cout << "\t********************************************************** ******" << endl;
cout << "\t********************************************************** ******" << endl;
cout << "\t********************************************************** ******" << endl;
cout << "\t********************************************************** ******" << endl;
Goodsmessage Grade;
cout<<"\t\t\t\t按任意键开始……";
getch();
system("cls");
string x;
bool quit =false;
while(!quit)
{
Grade.showMenu(2);
cin>>x;
if(x=="0"){Grade.showMenu(6);break;}
else if(x=="1"){Grade.AddItem();}
else if(x=="2"){Grade.Display();}
else if(x=="3"){Grade.Paixu();}
else if(x=="4"){Grade.Find();}
else if(x=="5"){Grade.RemoveItem();}
else if(x=="6"){Grade.ModifyItem();}
else if(x=="7"){Grade.Saleprice();}
else if(x=="8"){Grade.Save();}
else {system("cls");cout << "\n\n\n\n\n\n\n\t\t\t 编号输入错误,请输入正确的序号!" << endl;_sleep(2000);continue;}
}
return 0;
}
课程设计要求
1、严格遵守机房规章制度,按时上机;
2、态度端正,独立思考,严禁抄袭,如发现抄袭者,双方均计零分;
3、上机前写好相关算法及源代码;
4、在上述题目中任选一题,编写程序实现其功能,并认真书写课程设计报告。

课程设计报告内容和要求
1、课程设计报告内容和要求参见附录I中的“课程设计报告的编写格式规范”,不满足格式规范的最高成绩为“中”。

【注】可参考《数据结构课程设计题目》中的“课程设计报告样本”。

2、封面参见附录II;
3、报告书写规范参见附录III;
成绩评定标准
成绩以优、良、中、及格和不及格5个等级评定。

1、学生编写的实际软件和运行结果,占总成绩40%;
2、课程设计报告,占总成绩35%;
3、教师提问,占总成绩15%;
4、出勤,占总成绩10%;
检查和文档上交
1、做好之后,请老师过来检查,并问问题。

2、最后一次课结束前,将课程设计报告电子版由班长统一收齐,命名为:
C++课程设计报告_姓名_学号.doc,报告要求用word版本。

C++课程设计代码_姓名_学号.rar。

附录I:课程设计报告的编写格式规范
1、课程设计报告封面和目录
课程设计报告封面应给出班级、姓名、学号和完成日期
2、需求分析
明确说明程序设计的任务,说明自己程序所能实现的功能。

3、概要设计
(1)分析系统中的各个实体及它们之间的关系;
(2)根据问题描述,设计系统的类层次;
(3)说明主程序的流程以及各程序模块之间的层次(调用)关系。

4、详细设计
(1)完成类层次中各个类的描述;
(2)完成类中各个成员函数的定义;
(3)对主程序和重要模块,需要写出其算法。

如粘帖重要代码,需要加上清晰的程序注释。

(4)画出函数的调用关系图。

在此部分说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构
的定义)。

5、调试分析
(1)调试过程中遇到的问题是如何解决的以及对设计与实现的讨论和分析;
(2)算法的时间复杂性和可能的改进设想。

6、测试结果
列出你的测试结果,包括输入和输出。

这里的测试数据应该完整和严格,最好多于需求分析中所列出的数据量。

7、课程设计总结
课设总结包括:课程设计过程遇到的问题、遇到问题解决问题过程的思考、课程设计的收获、程序调试的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。

8、参考文献
9、附录:带注释的源程序。

附录II:封面
中南大学
高级程序设计实践(C++)课程设计报告
题目
学生姓名
指导教师
学院
专业班级
完成时间
附录III:课程设计报告的书写规范
①课程设计报告统一使用A4纸撰写,单面使用,背面不得书写正文或绘制图表。

版芯统一为:
页边距:左2.8CM、右2.8 CM、上2.5 CM、下2.2CM、行间距20磅。

②报告可以用计算机编辑、打印;也可以用手工抄写,同一篇报告只能用一种墨水书写(包括文字和图表),图表不得徒手画。

③全篇报告分章节撰写,各章内容应安排得当,不宜太少。

一般每一章至少应安排两节,每节内容不得少于两页。

④报告编排格式
每章标题以三号黑体居中书写;“章”下空两行为“节”,“节”的标题以四号黑体左起书写;“节”下空一行为“小节”;“小节”的标题以小四号黑体左起书写。

换行后空两格书写正文。

正文采用小四号宋体。

第一章××××(三号黑体、居中书写)
1.1 ××××(四号黑体、左起书写)
1.1.1 ××××(小四号黑体、左起书写)
1.××××(小四号楷体、空两格书写)
××××(正文,采用小四号宋体)
2.××××
××××
1.1.2 ××××
1.2 ××××
1.2.1 ××××。

相关文档
最新文档