商场源码
1. php如何实现电子商城优惠卷
PHP生成唯一的促销/优惠/折扣码(附源码)
每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码。主要是实现一个优惠码系统,可用于跟踪用户来自某些特定的来源,例如有些主机促销的时候链接到别的页面会有优惠码生成,还有更多的促销代码等。因此,今天将讨论这样一个优惠码的实现过程
考虑的需求
代码应该很容易记住,因此保持短的长度是一个好主意,使用户可以很容易地记住它
没有特殊字符!它应该是字母数字组合,因为它会永远是为用户更容易记住
长度推广/折扣代码的正确。没有一个标准的长度,因为它取决于你想生成的长度,例如,如果你想生成1000代码的代码,那么你需要在至少4个字符代码。促销/优惠码长度通常为4到8个字符,但它取决于您的要求。
代码如下:
<?php
/**
* @param int
$no_of_codes//定义一个int类型的参数 用来确定生成多少个优惠码
* @param array
$exclude_codes_array//定义一个exclude_codes_array类型的数组
* @param int $code_length
//定义一个code_length的参数来确定优惠码的长度
* @return array//返回数组
*/
function
generate_promotion_code($no_of_codes,$exclude_codes_array='',$code_length = 4)
{
$characters = "";
$promotion_codes = array();//这个数组用来接收生成的优惠码
for($j = 0 ; $j <
$no_of_codes; $j++)
{
$code = "";
for ($i = 0; $i < $code_length;
$i++)
{
$code .= $characters[mt_rand(0, strlen($characters)-1)];
}
//如果生成的4位随机数不再我们定义的$promotion_codes函数里面
if(!in_array($code,$promotion_codes))
{
if(is_array($exclude_codes_array))//
{
if(!in_array($code,$exclude_codes_array))//排除已经使用的优惠码
{
$promotion_codes[$j] = $code;将生成的新优惠码赋值给promotion_codes数组
}
else
{
$j--;
}
}
else
{
$promotion_codes[$j] =
$code;//将优惠码赋值给数组
}
}
else
{
$j--;
}
}
return
$promotion_codes;
}
echo '<h1>Promotion / Discount
Codes</h1>';
echo '<pre>';
print_r(generate_promotion_code(50,'',4));
echo '</pre>';
?>
该代码由三个参数组成,
第一个参数是你要生成优惠码的个数(在这里是生成50个)。第二个参数exclude
array,确保在当前列表中的生成唯一优惠码,所以如果你已经数据库中有一些未使用的代码,你可以把它传递给exclude。最后一个参数是优惠码的的长度。这个函数将返回规定长度的优惠码
这里是4位的优惠码。
这里我已经使用数字和大写字母组合,赋值给$characters的字符串,你可以使用小写字母或任何其他的字母组合试用。此功能的作用是生成唯一的优惠码。这个是PHP版本的。
2. 谁有网站源码-集-博客,BBS,商城,CMS为一体的
你想要什么语言的 php如下
博客推荐 X-Space
cms推荐 DEDEcms PHPCMS PHP168
商城 以前有个 ecshop 现在应该也有
BBS Discuz! X1
这几个 是可以整合在一起的 除了 CMS 以外 都是一个公司的 这个公司还有一个SupeSite 也算是CMS 你可以去这个网址看一下http://www.comsenz.com/procts
3. java商城系统那个比较好
现在比较有名的有千米网B2C商城系统是Java开发的,ecshop商城系统是PHP开发的。相对来说比较推荐千米的Java商城系统,各种功能都很齐全,而且易操作上手,安全性也有保障。具体的商城类型可以做独立商城,也可以做多用户商城,比如京东的模式。
4. C++商场销售管理系统 源代码
/*************************************************
问题补充:设计一个收银台结算程序:货品的信息有货品代码、
货品名称、货品价格、货品数量等,该程序能根据货品的输入代码
统计货品价格,对多个货品能做价格的累加统计并显示清单,
另具有找零功能。
需求:
1、实现对货品信息的输入和查询。
2、能根据货品的输入代码统计货品价格。
3、能对十个货品的价格统计并显示清单。
4、具有找零功能!
*************************************************/
//为了顺便练习一下使用链表结构,所以用链表结构实现。
// -----By kuaidh00--------2008/01/08-------------
//****************************************************
#include <iostream>
#include <string>
#include <iomanip>
#include <stdio.h>
using namespace std;
struct Sale
{
//数据域。
string m_code;
string m_name;
float m_price;
unsigned int m_quantity;
//指针域。
struct Sale* next;
};
typedef struct Sale Node;//取外别名,Node.
typedef Node* Link;//取个别名,Link.
//创建链表。
Link Create(Link Head)
{
//-----初始化头节点 Head-------
Head=(Link)new Node;//每次动态分配一个Node内存大小。
Head->m_code="";
Head->m_name="";
Head->m_price=0.0;
Head->m_quantity=0;
Head->next=NULL;
//-----
Link ptr;//定义一个用来运算的指针 ptr。
ptr=Head;//指到首节点。
Link DNode;//定义数据节点,用来存放数据。
char GoOn;
do
{
cout<<"商品信息录入! "<<endl;
string code,name;
float price;
unsigned int quantity;
cout<<"输入代码:"<<endl;
cin>>code;
cout<<"输入名称:"<<endl;
cin>>name;
cout<<"输入价格:"<<endl;
cin>>price;
while(cin.fail())
{
cout<<"请输入正确的格式:"<<endl;
cin.clear();
fflush(stdin);
cin>>price;
}
cout<<"输入数量:"<<endl;
cin>>quantity;
while(cin.fail())
{
cout<<"请输入正确的格式:"<<endl;
cin.clear();
fflush(stdin);
cin>>quantity;
}
//----数据域-----
DNode=(Link)new Node;//每次动态分配一个Node内存大小。
DNode->m_code=code;
DNode->m_name=name;
DNode->m_price=price;
DNode->m_quantity=quantity;
//----指针域-----
DNode->next=NULL;//作为尾节点加入。
ptr->next=DNode;//链入链表中。
ptr=DNode;//使新节点成为下一次的前驱。
cout<<"商品信息录入成功! 是否继续录入?(Y/N) ";
cin>>GoOn;
}while(GoOn=='Y'||GoOn=='y');
return Head;
}
//释放链表。
void Release(Link Head)
{
Link ptr;
while(Head!=NULL)
{
ptr=Head;
Head=Head->next;
delete ptr;
}
}
//查询。
Link Search(Link Head,string& code)
{
Link ptr;
//Link front;
ptr=Head;//定义一个用于操作的指针ptr。
//ptr=fornt->next;
while(ptr!=NULL)
{
if(ptr->m_code==code)
return ptr;
else
ptr=ptr->next;
}
cout<<"无此商品!"<<endl;
return ptr;//此时的ptr为NULL了。
}
//打印链表。
void Display(Link Head)
{
Link ptr;
ptr=Head->next;//,不要头节点,只输出数据节点。
cout<<"==========================================================="<<endl;
cout<<"===============所有商品信息清单============================"<<endl;
cout<<"==========================================================="<<endl;
cout<<"货品代码=======货品名称======货品价格======货品数量===="<<endl;
while(ptr!=NULL)
{
cout<<setw(15)<<left<<ptr->m_code
<<setw(15)<<left<<ptr->m_name
<<setw(15)<<left<<ptr->m_price
<<setw(15)<<left<<ptr->m_quantity<<endl;
ptr=ptr->next;
}
}
void Display_One(Link Head,string& code,unsigned quantity)
{
Link ptr;
ptr=Search(Head,code);//,不要头节点,只输出数据节点。
cout<<"货品代码=======货品名称======货品价格======货品数量======小计(元)===="<<endl;
cout<<setw(15)<<left<<ptr->m_code
<<setw(15)<<left<<ptr->m_name
<<setw(15)<<left<<ptr->m_price
<<setw(15)<<left<<quantity
<<setw(15)<<left<<quantity*ptr->m_price<<endl;
}
//单个商品小结。
float CheckOut(Link Head,string& code,unsigned quantity)
{
Link ptr;
float sum(0);
ptr=Search(Head,code);
sum=(ptr->m_price*quantity);
return sum;
}
//总结帐。
void Total(Link Head)
{
Link ptr;
ptr=Head;
float sum(0);
float factly;
char GoOn;
while(1)
{
cout<<"要结束商品买入请按\'N\',其它任意键表示继续买入! "<<endl;
cin>>GoOn;
if(GoOn=='N'||GoOn=='n')
break;
else
{
string code;
unsigned int quantity;
cout<<"输入要购买的商品代码:"<<endl;
cin>>code;
cout<<"输入要购买的数量:"<<endl;
cin>>quantity;
sum+=CheckOut(ptr,code,quantity);
cout<<"你购买的商品为:"<<endl;
Display_One(ptr,code,quantity);
}
}
cout<<"----------------------------------------------------"<<endl;
cout<<"你应该付 "<<sum<<"元!"<<endl;
cout<<"你实际付(元): ";
cin>>factly;
cout<<"应该找回你 "<<factly-sum<<"元!"<<endl;//找零。
}
int main()
{
//---------菜单选项----------------
Link Head=NULL;
//Head=Create(Head);
int loop=1;
while(loop)
{
cout<<"***************************************************"<<endl;
cout<<"*---------------------菜单选项--------------------*"<<endl;
cout<<"*-------------------------------------------------*"<<endl;
cout<<"* 1.输入数据 2.买入商品 3.显示数据 0.退出系统 *"<<endl;
cout<<"***************************************************"<<endl;
int menu;
cin>>menu;
if(cin.fail())
{
cout<<"请按菜单对应的数字选择合适的操作,谢谢合作!"<<endl;
cin.clear();
fflush(stdin);
cin>>menu;
}
switch(menu)
{
case 0:
cout<<"已退出系统!"<<endl;
loop=0;
break;
case 1:
Head=Create(Head);
break;
case 2:
Total(Head);
break;
case 3:
Display(Head);
break;
}//switch(menu)
}//while(loop)
//Display(Head);
//Total(Head);
Release(Head);
return 0;
}