假设甲公司销售商品有折扣,而已公司应怎样记账
先要认识销售折扣、销销折让,折扣销售的区别:
1、根据字面意思:销售折扣:就是先有销售后有折扣,此折扣多为现金折扣,即在多少天内付款,给予多少的折扣,通常表示为:以15天内付款折扣3%,30天付全款为例 :3/15,n/30。假定全款100元
发生折扣时销售方账务处理:借:银存 97元 财务费用 3元 贷:应收账款 100元
发生折扣时购买方账务处理: 借:应付账款 100元 贷:银存 97元 财务费用 3元(双方对于折扣额都是在财务费用中)
2、销售折让通常是指出售后,因货品质量问题 不达标等原因,给购买方一定的价款折扣,账务处理同上。
3、折扣销售:先折扣后销售,就是通常的打折销售。商品原价100元,打97折,实际买价97元。按正常购销商品作账务处理即可。
1、根据字面意思:销售折扣:就是先有销售后有折扣,此折扣多为现金折扣,即在多少天内付款,给予多少的折扣,通常表示为:以15天内付款折扣3%,30天付全款为例 :3/15,n/30。假定全款100元
发生折扣时销售方账务处理:借:银存 97元 财务费用 3元 贷:应收账款 100元
发生折扣时购买方账务处理: 借:应付账款 100元 贷:银存 97元 财务费用 3元(双方对于折扣额都是在财务费用中)
2、销售折让通常是指出售后,因货品质量问题 不达标等原因,给购买方一定的价款折扣,账务处理同上。
3、折扣销售:先折扣后销售,就是通常的打折销售。商品原价100元,打97折,实际买价97元。按正常购销商品作账务处理即可。
求解编程题 活动调度问题 成绩: 10 / 折扣: 0.8 假设要用很多个教室对...
#include<iostream>
#include<stdlib.h>
//#include<list>
using namespace std;
struct Node
{
int begin_time;
int end_time;
Node * next;
};
void InitNode(Node *node)
{
node=NULL;
}
void Create(Node *&node,int n)
{
//InitNode(node);
cout<< 活动开始时间 活动结束时间:\n ;
node = new Node;
Node *head=node;
cin>>node->begin_time>>node->end_time;
node->next=NULL;
Node *p;
for(int i=0;i<n-1;i++)
{
p=new Node;
cin>>p->begin_time>>p->end_time;
p->next=NULL;
node->next=p;
node=p;
}
node=head; //重新指向表头
}
void Sort(Node *node)
{
//对活动按开始时间排序
if(node==NULL)
{
exit(1);
}
Node *p=node;
Node *ap=NULL;
Node *q=node->next;
Node *aq=node;
Node *t=NULL;
while(q!=NULL)
{
while(p!=q)
{
if(q->begin_time>p->begin_time)
{
ap=p;
p=p->next;
}
else
{
t=q->next;
aq->next=q->next;
q->next=p;
if(ap!=NULL)
ap->next=p;
else
node=p;
break;
}
}
aq=q;
q=t;
p=node;
ap=NULL;
}
}
int MinRoom(Node *node)
{
int room=1;
Sort(node);
//Node *head=node;
Node *p=node;
Node *q=p->next;
int tag=0; //标记是否需要分配教室
while(q!=NULL)
{
tag=0;
while(p!=q)
{
if(q->begin_time>=p->end_time)
{
p->end_time=q->end_time;
tag=1;
break;
}
else
p=p->next;
}
if(tag==0)
room++;
q=q->next;
p=node;
}
return room;
}
int main()
{
Node *node;
int n;
cout<< 输入活动个数: ;
cin>>n;
Create(node,n);
int minRoom=0;
minRoom=MinRoom(node);
cout<< 至少需要 <<minRoom<< 个教室 <<endl;
system( pause );
return 0;
}
#include<stdlib.h>
//#include<list>
using namespace std;
struct Node
{
int begin_time;
int end_time;
Node * next;
};
void InitNode(Node *node)
{
node=NULL;
}
void Create(Node *&node,int n)
{
//InitNode(node);
cout<< 活动开始时间 活动结束时间:\n ;
node = new Node;
Node *head=node;
cin>>node->begin_time>>node->end_time;
node->next=NULL;
Node *p;
for(int i=0;i<n-1;i++)
{
p=new Node;
cin>>p->begin_time>>p->end_time;
p->next=NULL;
node->next=p;
node=p;
}
node=head; //重新指向表头
}
void Sort(Node *node)
{
//对活动按开始时间排序
if(node==NULL)
{
exit(1);
}
Node *p=node;
Node *ap=NULL;
Node *q=node->next;
Node *aq=node;
Node *t=NULL;
while(q!=NULL)
{
while(p!=q)
{
if(q->begin_time>p->begin_time)
{
ap=p;
p=p->next;
}
else
{
t=q->next;
aq->next=q->next;
q->next=p;
if(ap!=NULL)
ap->next=p;
else
node=p;
break;
}
}
aq=q;
q=t;
p=node;
ap=NULL;
}
}
int MinRoom(Node *node)
{
int room=1;
Sort(node);
//Node *head=node;
Node *p=node;
Node *q=p->next;
int tag=0; //标记是否需要分配教室
while(q!=NULL)
{
tag=0;
while(p!=q)
{
if(q->begin_time>=p->end_time)
{
p->end_time=q->end_time;
tag=1;
break;
}
else
p=p->next;
}
if(tag==0)
room++;
q=q->next;
p=node;
}
return room;
}
int main()
{
Node *node;
int n;
cout<< 输入活动个数: ;
cin>>n;
Create(node,n);
int minRoom=0;
minRoom=MinRoom(node);
cout<< 至少需要 <<minRoom<< 个教室 <<endl;
system( pause );
return 0;
}