资源描述
面 向 对 象 程 序 设 计
儿童食品商店管理
年 级:
学 号:
姓 名:
专 业:
指导老师:
内容
一、 课程设计要求(简要描述课程设计的要求)
二、 模块划分(说明函数和类的定义)
三、 源程序(程序代码,附部分注释)
说明:
报告应包括完整的设计方案(模块定义、类定义等)。
一、 课程设计要求:
实现一个简单的儿童商店仓库管理系统。系统的主要功能是登记仓库中各儿童用品的信息情况,对部分信息进行检查和处理,并将结果保存。假设仓库有3种不同类型的商品:食品、鞋子、玩具。
对于食品要求检查是否过期,并做相应的处理;对于鞋子,要求检查是否是过季产品,并做出相应的处理。
提示:
1.把每一类商品作为一个对象,定义一个类,共要定义3个类。
2.定义一个基类(儿童商品类),在此基础上派生出上述3个类。
3.对于每类商品至少要有名称、编号、进价、库存、入库时间、数量等信息。
4.对于每类商品至少包含的功能至少要有信息录入、信息显示等。
5.每类商品的其他信息和功能由同学自己增加。
二、模块划分(说明函数和类的定义):
定义一个基类class shangping,并由此派生出food、xie、wanju三个派生类。在基类中定义三种商品都有的信息:name(名称)、id(编号)、inprice(进价)、sum(库存)、(year、month、day)入库时间。再在每个派生类中定义其他商品的特有信息。
基类的定义:
class shangping
{
public:
shangping(string name,int id,float inprice,int sum,int year,int month,intday):name(name),id(id),inprice(inprice),sum(sum),year(year),month(month),day(day){}//构造函数的定义
void show()
{
cout<<"商品类型:"<<name<<endl;
cout<<"编号"<<id<<" "<<"进价"<<inprice<<" "<<"库存"<<sum<<" "<<"入库时间"<<year<<"."<<month<<"."<<day<<endl;
}
private:
string name;
int id;
float inprice;
int sum;
int year,month,day;
};
派生类的定义:
class food:public shangping//食品类
{ public:
food(string name,int id,float inprice,int sum,int year,int month,int day,intbzq,floatprice,intyear1,intmonth1,intday1):shangping(name,id,inprice,sum,year,month,day),bzq(bzq),price(price),year1(year1),month1(month1),day1(day1),year(year),month(month),day(day){}//构造函数
void show()
{cout<<"食物类:"<<endl;
shangping::show();
cout<<"保质期:"<<bzq<<" "<<"价格:"<<price<<endl;
//食品过期判断
if(((year1-year)*365+(month1-month)*30+(day1-day))<bzq)
cout<<"食品未过期,请放心食用!!"<<endl;
else
cout<<"请注意该食品已过期!!请及时处理!!!"<<endl;
}
private:
int bzq;
float price;
int year,month,day;
int year1,month1,day1;
};
class xie:public shangping//鞋子类
{
public:
xie(string name,int id,float inprice,int sum,int year,int month,int day,float price,string style,string pinpai,string season,string sea):shangping(name,id,inprice,sum,year,month,day),price(price),style(style),pinpai(pinpai),season(season),sea(sea){}//构造函数
void show()
{ cout<<"鞋子类"<<endl;
shangping::show();
cout<<"款式"<<style<<" "<<"品牌"<<pinpai<<" "<<"价格"<<price<<endl;
if(sea==season)
cout<<"mai!!!"<<endl;
else
cout<<"请注意鞋子已过季!!!"<<endl;
}
private:
float price;
string style;
string pinpai;
string season;
string sea;
};
class wanju:public shangping
{
public:
wanju(string name,int id,float inprice,int sum,int year,int month,int day,float price):shangping(name,id,inprice,sum,year,month,day),price(price){}
void show()
{
cout<<"玩具类: "<<endl;
shangping::show();
cout<<"价格"<<price<<endl;
}
private:
float price;
};
//主函数:
void main()
{
Food ("花生",20122753,100,100,2012,3,12,365,120,2012,5,20);
xie x("鞋子",20122752,200,50,2012,5,3,300,"篮球鞋","Nike","c","x");
wanju wj("枪",20122768,15,100,2012,5,7,25);
f.show();
x.show();
wj.show();
}
调试结果:
源程序:
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
class shangping
{
public:
shangping(string name,int id,float inprice,int sum,int year,int month,int day):name(name),id(id),inprice(inprice),sum(sum),year(year),month(month),day(day){}
void show()
{
cout<<"商品类型:"<<name<<endl;
cout<<"编号"<<id<<" "<<"进价"<<inprice<<" "<<"库存"<<sum<<" "<<"入库时间"<<year<<"."<<month<<"."<<day<<endl;
}
private:
string name;
int id;
float inprice;
int sum;
int year,month,day;
};
class food:public shangping
{ public:
food(string name,int id,float inprice,int sum,int year,int month,int day,int bzq,float price,int year1,int month1,int day1):shangping(name,id,inprice,sum,year,month,day),bzq(bzq),price(price),year1(year1),month1(month1),day1(day1),year(year),month(month),day(day){}
void show()
{cout<<"食物类:"<<endl;
shangping::show();
cout<<"保质期:"<<bzq<<" "<<"价格:"<<price<<endl;
if(((year1-year)*365+(month1-month)*30+(day1-day))<bzq)
cout<<"食品未过期,请放心食用!!"<<endl;
else
cout<<"请注意该食品已过期!!请及时处理!!!"<<endl;
}
private:
int bzq;
float price;
int year,month,day;
int year1,month1,day1;
};
class xie:public shangping
{
public:
xie(string name,int id,float inprice,int sum,int year,int month,int day,float price,string style,string pinpai,string season,string sea):shangping(name,id,inprice,sum,year,month,day),price(price),style(style),pinpai(pinpai),season(season),sea(sea){}
void show()
{ cout<<"鞋子类"<<endl;
shangping::show();
cout<<"款式"<<style<<" "<<"品牌"<<pinpai<<" "<<"价格"<<price<<endl;
if(sea==season)
cout<<"mai!!!"<<endl;
else
cout<<"请注意鞋子已过季!!!"<<endl;
}
private:
float price;
string style;
string pinpai;
string season;
string sea;
};
class wanju:public shangping
{
public:
wanju(string name,int id,float inprice,int sum,int year,int month,int day,float price):shangping(name,id,inprice,sum,year,month,day),price(price){}
void show()
{
cout<<"玩具类: "<<endl;
shangping::show();
cout<<"价格"<<price<<endl;
}
private:
float price;
};
void main()
{
food f("花生",20122753,100,100,2012,3,12,365,120,2012,5,20);
xie x("鞋子",20122752,200,50,2012,5,3,300,"篮球鞋","Nike","春","夏");
wanju wj("枪",20122768,15,100,2012,5,7,25);
f.show();
x.show();
wj.show();
}
学习心得:
本次实验让我对类的定义与运用更加熟悉,也让我真正的用上了类的知识,提升我的综合实验能力。 3、通过活动,使学生养成博览群书的好习惯。
B比率分析法和比较分析法不能测算出各因素的影响程度。√
C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。X
C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错
C产品的实际生产成本包括废品损失和停工损失。√
C成本报表是对外报告的会计报表。×
C成本分析的首要程序是发现问题、分析原因。×
C成本会计的对象是指成本核算。×
C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。√
C成本计算方法中的最基本的方法是分步法。X
D当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本
中。×
D定额法是为了简化成本计算而采用的一种成本计算方法。×
F“废品损失”账户月末没有余额。√
F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。X
F分步法的一个重要特点是各步骤之间要进行成本结转。(√)
G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错
G工资费用就是成本项目。(×)
G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对
J计算计时工资费用,应以考勤记录中的工作时间记录为依据。(√)
J简化的分批法就是不计算在产品成本的分批法。(×)
J简化分批法是不分批计算在产品成本的方法。对
J加班加点工资既可能是直接计人费用,又可能是间接计人费用。√
J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,X
K可修复废品是指技术上可以修复使用的废品。错
K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。X
P品种法只适用于大量大批的单步骤生产的企业。×
Q企业的制造费用一定要通过“制造费用”科目核算。X
Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。X
S生产车间耗用的材料,全部计入“直接材料”成本项目。X
S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。(×)
W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对
Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对
Y引起资产和负债同时减少的支出是费用性支出。X
Y以应付票据去偿付购买材料的费用,是成本性支出。X
Y原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。X
Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。(×)
Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对
Z直接生产费用就是直接计人费用。X
Z逐步结转分步法也称为计列半成品分步法。√
A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。
A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)
3、通过活动,使学生养成博览群书的好习惯。
B比率分析法和比较分析法不能测算出各因素的影响程度。√
C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。X
C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错
C产品的实际生产成本包括废品损失和停工损失。√
C成本报表是对外报告的会计报表。×
C成本分析的首要程序是发现问题、分析原因。×
C成本会计的对象是指成本核算。×
C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。√
C成本计算方法中的最基本的方法是分步法。X
D当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本
中。×
D定额法是为了简化成本计算而采用的一种成本计算方法。×
F“废品损失”账户月末没有余额。√
F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。X
F分步法的一个重要特点是各步骤之间要进行成本结转。(√)
G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错
G工资费用就是成本项目。(×)
G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对
J计算计时工资费用,应以考勤记录中的工作时间记录为依据。(√)
J简化的分批法就是不计算在产品成本的分批法。(×)
J简化分批法是不分批计算在产品成本的方法。对
J加班加点工资既可能是直接计人费用,又可能是间接计人费用。√
J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,X
K可修复废品是指技术上可以修复使用的废品。错
K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。X
P品种法只适用于大量大批的单步骤生产的企业。×
Q企业的制造费用一定要通过“制造费用”科目核算。X
Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。X
S生产车间耗用的材料,全部计入“直接材料”成本项目。X
S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。(×)
W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对
Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对
Y引起资产和负债同时减少的支出是费用性支出。X
Y以应付票据去偿付购买材料的费用,是成本性支出。X
Y原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。X
Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。(×)
Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对
Z直接生产费用就是直接计人费用。X
Z逐步结转分步法也称为计列半成品分步法。√
A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。
A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)
展开阅读全文