京东购物管理系统

在这里插入图片描述

一、 选题背景及意义

购物中,数据维护量大,人工管理费时费力,效率低下,而且当查找某条记录时,由于数据量庞大,人工查找相当麻烦,效率低。当前社会飞速发展,原始记录方式已经被社会淘汰,计算机化管理正是适应时代的产物。计算机在各行各业中的运用已经得到普及。自动化,信息化的管理越来越广泛应用于各个领域。介于此,开发一套基于京东平台的购物管理系统。

二、 系统主要功能

在这里插入图片描述

主要有五个功能:

1.用户管理
用户在进行购物之前,需要先进行登录,这样用户结束购物时,通过登录账号来进行结账。对于新用户,可以在登录页面进行用户注册,通过填写注册信息,将信息提交给服务器。如果用户名已经存在,系统将向用户显示相应的错误信息,并提示用户使用其它的用户名进行注册。用户登录后可以随时修改个人注册信息。在用户输入用户名和密码后,系统将确认用户名和密码是否正确,如果验证成功,使用户处于登录状态。否则,系统只是显示用户名和密码的错误信息。
2.商品管理
可以录入商品信息、对已经录入的商品进行排序,购买商品或者退货,对商品的信息进行添加或者删除,对商品信息查找和浏览
3.购物车管理
用户在浏览商品的过程中,可以将所有满意的商品放入购物车中,可以移除购物车中不想购买的商品。可以修改购买商品的数量。
4.退出系统
退出京东购物系统,结束本程序
5.保存文件
将已经注册的用户信息、已经录入的商品信息以及用户所选的购物车商品的信息,存储到TEXT文件当中

三、 各功能模块设计实现思路

分模块编写程序将程序分为:
1、 头文件区域
在这里插入图片描述

2、 函数声明区域
在这里插入图片描述
在这里插入图片描述
3、 结构体和全局变量定义区域
在这里插入图片描述在这里插入图片描述
4、 主函数区域
在这里插入图片描述
5、 功能函数区域
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.在用户管理函数中才用结构体数组定义用户信息,并定义全局变量记录用户注册数目,注册时对姓名密码进行判断
2.采用双链表存储商品信息,因为对商品的排序交换,增删改查都是双向链表的有点
3.采用双向链表存储购物车的商品信息
四、 运行结果
初始界面
在这里插入图片描述
进入用户管理
在这里插入图片描述
注册:成功后显示登录账号
在这里插入图片描述
登录:登录成功后显示用户相关信息3
在这里插入图片描述
修改密码:先进行密码确认,正确后输入想修改的密码,自动返回 在这里插入图片描述
退出:返回一界面

进入商品管理:
初始界面
在这里插入图片描述
录入商品:可以循环录入,输入相关商品信息完成录入
在这里插入图片描述

商品排序:若为录入商品则无法进行排序
按照三种类别进行排序:编号、名称、类别
编号排序
在这里插入图片描述
名称排序:
在这里插入图片描述类别排序:
在这里插入图片描述

商品购退:
在这里插入图片描述

商品进货:
在这里插入图片描述

商品退货:
在这里插入图片描述

商品的信息添加与删除:
在这里插入图片描述

商品的信息删除:
在这里插入图片描述
在这里插入图片描述

商品信息修改:
在这里插入图片描述
商品信息浏览:
在这里插入图片描述

购物车管理
如果未登陆则无法进入:
在这里插入图片描述

管理界面:
在这里插入图片描述

商品添加:可以选择退出
在这里插入图片描述
在这里插入图片描述

商品删除:
在这里插入图片描述

查看已选商品:
在这里插入图片描述

查看已选商品:
在这里插入图片描述

退出系统:
在这里插入图片描述

保存文件:
在这里插入图片描述

在对应文件夹中可以看到相关文件
在这里插入图片描述

商品信息:
在这里插入图片描述

用户信息:
在这里插入图片描述

购物车信息
在这里插入图片描述

本程序能够记住用户信息,第二运行时能记住上一次的用户注册:
用户数位1
在这里插入图片描述

进行用户登录,登录成功:

在这里插入图片描述

code:

有需要可以自己用,不要白嫖啦,顺手点个赞,关注当然更好了

/*head files area*/
#include <stdio.h>    //输入输出头文件
#include "iostream"   //清除当前屏幕内容
#include <ctype.h>    //user_name_judgment
#include <stdlib.h>   //字符处理函数
#include <string.h>
#include "windows.h"


/* *************************函数声明*************************** */

/*用户管理模块函数声明*/
int user_name_judgment(char *p);        //用户姓名判断
int user_password_judgment(char *p);    //用户密码判定
void manager_user();             //用户管理函数
int manager_user_1();          //用户管理——1.注册
void manager_user_2();          //用户管理——2.登录
void manager_user_3();          //用户管理——3.修改密码
void manager_user_4();          //用户管理——4.退出

/*商品管理模块函数声明*/
int manager_goods_1();           //录入商品
void manager_goods_2();          //商品排序
void manager_goods_3_face();     //商品购退初始界面
void manager_goods_3();          //商品购退
void manager_goods_4();          //商品信息添加删除
void manager_goods_5();          //商品信息修改
void manager_goods_6();          //商品信息查找和浏览
void manager_goods_face();       //商品管理函数界面
void manager_goods();            //商品管理函数

/*购物车管理模块函数声明*/
int manager_shoppingcart_1();           //商品添加
void manager_shoppingcart_2();          //商品删除
void manager_shoppingcart_2();           //商品删除
void manager_shoppingcart_face();        //购物车函数管理初始界面
void manager_shoppingcart();             //购物车管理

/*退出系统模块函数声明*/
void exit_system();

/*保存文件模块函数声明*/
void save_file();

/*初始界面和功能函数选择声明*/
void interfaces();
void choice();

/*附加功能*/
int readmassage();   //将之前的信息读取到结构体数组,商品链表,购物车链表中

/* ******************结构体定义********************************/

typedef struct              //用户结构体定义
{
    char   name[20];
    char   password[13];
    char   interest[26];
    char   work[20];
} user_massage;

user_massage user[50];      //定义用户数

typedef struct goods_massage{   //商品函数结构体定义
    int         NO;
    int        name;
    int         sort;
    int         amount;
    double      price;
    goods_massage      *next, *head;    //双链表头尾指针,使商品节点在交换时,方便交换
}goods, *p_goods;

typedef struct shoppingcart     //购物车函数定义
{
    int         NO;
    int         name;
    int         sort;
    int         amount;
    double      price;
    shoppingcart     *next, *head;

}cart ,*p_shoppingcart;


//全局变量定义
p_goods L = (goods *)malloc(sizeof(goods));                           //生成商品的一个头节点

p_shoppingcart Lsc = (shoppingcart *)malloc(sizeof(shoppingcart));   //生成购物车的一个头节点

int count=0;    //已经注册用户人数
int load =0;    //登录状态确认


/* ***********************主函数*********************************************************/
int main()
{

    L->next   =  NULL;    //将商品头结点的next赋为空
    Lsc->next =  NULL;    //购物车链表的头结点的next赋为空


    readmassage();      //将之前的信息读取到结构体数组,商品链表,购物车链表中

    interfaces();	//初始界面图形函数
    choice();		//功能选择函数

    return 0;
}



/* ***************************功能函数区域*********************************************** */
                                                     /*基础功能已经实现*/

int user_name_judgment(char *p)  //用户姓名判断
{
    if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <='Z'))
    {
        p++;
        while(*p)
        {
            if(!(isalpha(*p) || *p == '_' || isdigit(*p)))
                return 0;
            p++;
        }

        return 1;
    }
    else
        return 0;
}
int user_password_judgment(char *p) //用户密码判定
{
    int len;                //长度判断
    len = strlen(p);
    if(len<6||len>12)
    {
        return 0;
    }

    int i=0;               //字符有效性判断
    for(; *p != '\0'; p++)
    {
        if(!( (*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <='Z')||(*p >='0' && *p <= '9'))) //判断字符是否有效
            return 0;
    }
    return  1;
}
int manager_user_1()           //用户管理——1.注册
{
    if(count < 30)
    {
        printf("请输入注册姓名:");
        fflush(stdin);
        gets(user[count].name);
        if(user_name_judgment(user[count].name)==0)
        {
            printf("注册名字存在格式问题!\n");
            printf("是否再次注册Y,y/N,n?");
            char choice_name;
            scanf(" %c",&choice_name);
            if(choice_name == 'Y' || choice_name == 'y')
            {
                manager_user_1();
            }
            else
            {
                printf("5s后返回用户管理界面");
                Sleep(5000);
                system("CLS");
                manager_user();
            }
        }

        printf("请输入注册密码:");
        char repassword[13];
        fflush(stdin);
        gets(user[count].password);
        if(!user_password_judgment(user[count].password))
        {
            printf("注册密码存在格式问题!\n");
            printf("是否再次注册Y,y/N,n?");
            char choice_password;
            scanf(" %c",&choice_password);
            if(choice_password == 'Y' || choice_password == 'y')
            {
                manager_user_1();
            }
            else
            {
                printf("5s后返回用户管理界面");
                Sleep(5000);
                system("CLS");
                manager_user();
            }
        }

        printf("请再次输入密码: ");    //两次输入密码判断是否一样
        fflush(stdin);
        gets(repassword);
        if(strcmp(user[count].password,repassword))
        {
            printf("\n两次输入的密码不一致!");
            printf("是否再次注册Y,y/N,n?");
            char choice_repassword;
            scanf(" %c",&choice_repassword);
            if(choice_repassword == 'Y' || choice_repassword == 'y')
            {
                manager_user_1();
            }
            else
            {
                printf("5s后返回用户管理界面");
                Sleep(5000);
                system("CLS");
                manager_user();
            }
        }

        printf("请输入您的爱好:");
        fflush(stdin);
        gets(user[count].interest);




        printf("请输入您的工作:");
        fflush(stdin);
        gets(user[count].work);


        printf("您的注册编号为:%d,这将是你的登录账号.\n注册成功!",count+1);


        count++;
    }
    else
    {
        printf("注册用户数目已经达到上限,请联系后台管理员!!");
        printf("5s后返回用户管理界面");
        Sleep(5000);
        system("CLS");
        manager_user();
    }
    printf("\n5s后返回上一界面...");
    Sleep(5000);
    system("CLS");
    manager_user();
	return 0;
}
void manager_user_face()        //用户管理函数界面
{
    printf("☆   ◤***********************************************************◥   ☆  \n");
    printf("  △ ┇                       ___________                          ┇ △    \n");
    printf("☆   ┇                      |  --   --  |                         ┇   ☆  \n");
    printf("  △ ┇                      |   |  |  \\ |                         ┇ △    \n");   //显示存在字符的格式问题,按照这样才对称
    printf("☆   ┇                      | |_|  | _/ |                         ┇   ☆  \n");
    printf("  △ ┇                      |           |                         ┇ △    \n");
    printf("☆   ┇                      |___________|                         ┇   ☆  \n");
    printf("  △ ┇                         京   东                            ┇ △    \n");
    printf("☆   ┇                     在线购物管理系统                       ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                         用户管理                           ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                        1.注册                              ┇   ☆  \n");
    printf("  △ ┇                        2.登录                              ┇ △    \n");
    printf("☆   ┇                        3.修改密码                          ┇   ☆  \n");
    printf("  △ ┇                        4.退出                              ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                       西南石油大学                         ┇ △    \n");
    printf("☆   ┇                      廖冰翔版权所属                        ┇   ☆  \n");
    printf("  △ ┇************************************************************┇ △    \n");

    printf("\n \n \n");  //空行

    printf("----------------$---------$----------------$----------------$----------------$-----------------$----------------$----------------\n");
    printf("系统使用--温馨提示:\n");
    printf("→用户名在1-18之间,首字母为字母,后面必须为字母,数字或下划线在!!!\n");
    printf("\t→密码应在6-12之间,密码只能包含字母和数字!!!\n");
    printf("\t\t→爱好以26个小写字母组成或者数字小于12或长度小于8的汉字;\n");
    printf("\t\t\t→工作以26个小写字母组成或者数字小于12或长度小于8的汉字;\n");
    printf("----------------$---------$----------------$----------------$----------------$-----------------$----------------$----------------\n");
}
void manager_user()             //用户管理函数
{

    manager_user_face();
    printf("please input your choice:");
    int elect;
    scanf(" %d",&elect);
    switch (elect)
    {
    case 1:
        manager_user_1();
        break;
    case 2:
        manager_user_2();
        break;
    case 3:
        manager_user_3();
        break;
    case 4:
        manager_user_4();
        break;
    default:
        system("CLS");
        printf("输入错误,拜托你正经点...\n原谅你了,再来一次吧 ̄へ ̄\n");
        manager_user();
    }
}
void manager_user_2()           //用户管理——2.登录
{
    int account;
    char repassword[13];
    printf("请输入您的账号:");
    scanf(" %d",&account);
    fflush(stdin);
    printf("请输入你的密码;");
    gets(repassword);
    if(!strcmp(user[account-1].password,repassword))
    {
        load = 1;  //登录成功状态戳
        printf("登录成功!\n");
        printf("你的账号是%d\n你的注册姓名是%s\n你的爱好是:%s\n你的工作是:%s",account,user[account-1].name,user[account-1].interest,user[account-1].work);
        printf("\n5s后返回用户管理!");
        Sleep(5000);
        system("CLS");
        manager_user();
    }
    else
    {
        printf("\n账户密码不存在!5s后返回用户管理!");
        Sleep(5000);
        system("CLS");
        manager_user();
    }

}
void manager_user_3()           //用户管理——3.修改密码
{
    int account;
    char repassword[13];
    char repassword_2[13];
    printf("请输入您的账号:");
    fflush(stdin);
    scanf(" %d",&account);
    printf("请输入你的密码;");
    fflush(stdin);
    gets(repassword);
    if(!strcmp(user[account-1].password,repassword))
    {
        printf("密码正确,输入修改密码:");
        fflush(stdin);
        gets(repassword);
        if(user_password_judgment(repassword))
        {
            printf("请再次输入新密码:");
            fflush(stdin);
            gets(repassword_2);
            if(!strcmp(repassword,repassword_2))
            {
                printf("您的密码修改成功!5s后返回用户管理!");
                strcpy(user[account-1].password,repassword_2);
                Sleep(5000);
                system("CLS");
                manager_user();
            }
            else
            {
                printf("第二次输入密码不一样,5s后返回用户管理");
                Sleep(5000);
                system("CLS");
                manager_user();
            }
        }
        else
        {
            printf("输入密码格式错误,5s后返回用户管理!");
            Sleep(5000);
            system("CLS");
            manager_user();
        }
    }
    else
    {
        printf("账号和密码不存在!\n5s后返回用户管理!");
        Sleep(5000);
        system("CLS");
        manager_user();
    }
}
void manager_user_4()           //用户管理——4.退出
{
    system("CLS");
    interfaces();
    choice();
}



//商品函数区域
int manager_goods_1()           //录入商品
{
    p_goods newbase, q;     //newbase用于确定申请的空间是否分配成功
    char select = 'Y';
    for(;select=='y'||select=='Y';)
    {
        printf("是否录入商品信息?Y/y:");                        //是否录入商品信息
        fflush(stdin);//清除缓存区内容
        scanf("%c",&select);

        if(select!='y'&&select!='Y')  break;                   //判断录入条件是否成立

        newbase = (goods *)malloc(sizeof(goods));    //生成一个新的商品节点

        if (!newbase) return ERROR;    //分配未成功返回错误


        //把新生成的节点添加到,商品链表结尾
        q = L;     //把q定位到商品结尾
        while(q->next){
                q = q->next;
        }

        q->next = newbase;  //添加新节点

        newbase->next = NULL;  //给新节点的指针赋值
        newbase->head = q;

        q    =   q->next;   //q指向新节点


        printf("请输入商品编号:");     //商品信息录入
        scanf(" %d",&q->NO);

        printf("请输入商品名称:");
        fflush(stdin);   //清除缓存区
        scanf(" %d",&q->name);

        printf("请输入商品类别:");
        scanf(" %d",&q->sort);

        printf("请输入商品数目:");
        scanf(" %d",&q->amount);

        printf("请输入商品价格:");
        scanf(" %lf",&q->price);

        printf("录入结束!\n");
    }


    printf("5s后返回上层...");
    Sleep(5000);
    system("CLS");
    fflush(stdin);
    manager_goods();
}

void manager_goods_2()          //商品排序
{
    if(!L->next)
    {
        printf("未录入商品!!!");
        printf("5s后返回上层...");
        Sleep(5000);
        system("CLS");
        fflush(stdin);
        manager_goods();

    }
    printf("请选择你的排序方式:1.商品编号 2.商品名称 3.商品类别\n序号:");
    int select;
    scanf(" %d",&select);

    p_goods  p, temp, q = L->next;   //定义q指向链表的第一个商品, p指向q的后一个节点

    if(select == 1 )  //按照商品编号排序
    {
        for(;q->next!=NULL;)
        {
            p = q->next;
            do{                 //确保了在最后一个节点时,依旧能进行交换,当需要交换最后一个节点时,存在 bug
                if(q->NO > p->NO) //从小到大排序
                {

                    if(q->next == p && p->next != NULL)      //两个链表相邻情况,且不是表尾的情况
                    {
                        q->head->next = p;
                        p->head = q->head;
                        q->next = p->next;
                        p->next->head = q;
                        p->next = q;
                        q->head = p;
                    }
                    else if(q->next == p && p->next == NULL) //两个链表相邻情况,且是表尾的情况
                    {
                        q->head->next = p;
                        p->head = q->head;
                        p->next = q;
                        q->head = p;
                        q->next = NULL;
                    }
                    else if(q->next != p && p->next != NULL)//不相邻的情况,不是表尾
                    {
                        q->head->next = p;   q->next->head = p;
                        p->head->next = q;   p->next->head = q;
                        temp = q->head;  q->head = p->head; p->head = temp;
                        temp = q->next;  q->next = p->next; p->next = temp;
                    }
                    else if(q->next != p && p->next == NULL)//不相邻的情况,是表尾
                    {
                        q->head->next = p;
                        q->next->head = p;
                        p->head->next = q;
                        temp = q->head;
                        q->head = p->head;
                        q->head = temp;
                        p->next = q->next;
                        q->next = NULL;
                    }

                }
                p = p->next;
            }while(p);
            q = q->next;
            if(!q) break;
        }

        q = L->next;//指向首元节点
        printf("                  按照商品编号排序                      \n");
        printf("商品编号\t商品名称\t商品类别\t商品数量\t商品单价\n");
        do{
        printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->NO,q->name,q->sort,q->amount,q->price);
            if(q->next==NULL) break;
            q = q->next;
        }while(1);
    }
    else if(select==2)   //按照商品名称排序
    {
         for(;q->next!=NULL;)
        {
            p = q->next;
            do{                 //确保了在最后一个节点时,依旧能进行交换,当需要交换最后一个节点时,存在 bug
                if(q->name > p->name) //从小到大排序
                {

                    if(q->next == p && p->next != NULL)      //两个链表相邻情况,且不是表尾的情况
                    {
                        q->head->next = p;
                        p->head = q->head;
                        q->next = p->next;
                        p->next->head = q;
                        p->next = q;
                        q->head = p;
                    }
                    else if(q->next == p && p->next == NULL) //两个链表相邻情况,且是表尾的情况
                    {
                        q->head->next = p;
                        p->head = q->head;
                        p->next = q;
                        q->head = p;
                        q->next = NULL;
                    }
                    else if(q->next != p && p->next != NULL)//不相邻的情况,不是表尾
                    {
                        q->head->next = p;   q->next->head = p;
                        p->head->next = q;   p->next->head = q;
                        temp = q->head;  q->head = p->head; p->head = temp;
                        temp = q->next;  q->next = p->next; p->next = temp;
                    }
                    else if(q->next != p && p->next == NULL)//不相邻的情况,是表尾
                    {
                        q->head->next = p;
                        q->next->head = p;
                        p->head->next = q;
                        temp = q->head;
                        q->head = p->head;
                        q->head = temp;
                        p->next = q->next;
                        q->next = NULL;
                    }

                }
                p = p->next;
            }while(p);
            q = q->next;
            if(!q) break;
        }

        q = L->next;
        printf("                  按照商品名称排序                     \n");
        printf("商品名称\t商品编号\t商品类别\t商品数量\t商品单价\n");
        do{
        printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->name,q->NO,q->sort,q->amount,q->price);
            if(q->next==NULL) break;
            q = q->next;
        }while(1);

    }
    else if(select==3)  //类别排序
    {
          for(;q->next!=NULL;)
        {
            p = q->next;
            do{                 //确保了在最后一个节点时,依旧能进行交换,当需要交换最后一个节点时,存在 bug
                if(q->sort > p->sort) //从小到大排序
                {

                    if(q->next == p && p->next != NULL)      //两个链表相邻情况,且不是表尾的情况
                    {
                        q->head->next = p;
                        p->head = q->head;
                        q->next = p->next;
                        p->next->head = q;
                        p->next = q;
                        q->head = p;
                    }
                    else if(q->next == p && p->next == NULL) //两个链表相邻情况,且是表尾的情况
                    {
                        q->head->next = p;
                        p->head = q->head;
                        p->next = q;
                        q->head = p;
                        q->next = NULL;
                    }
                    else if(q->next != p && p->next != NULL)//不相邻的情况,不是表尾
                    {
                        q->head->next = p;   q->next->head = p;
                        p->head->next = q;   p->next->head = q;
                        temp = q->head;  q->head = p->head; p->head = temp;
                        temp = q->next;  q->next = p->next; p->next = temp;
                    }
                    else if(q->next != p && p->next == NULL)//不相邻的情况,是表尾
                    {
                        q->head->next = p;
                        q->next->head = p;
                        p->head->next = q;
                        temp = q->head;
                        q->head = p->head;
                        q->head = temp;
                        p->next = q->next;
                        q->next = NULL;
                    }

                }
                p = p->next;
            }while(p);
            q = q->next;
            if(!q) break;
        }

        q = L->next;
        printf("                  按照商品类别排序                      \n");
        printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
        do{
        printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
            if(q->next==NULL) break;
            q = q->next;
        }while(1);
    }
    else
    {
        printf("没有这个选项哦...亲亲\n");
        printf("5s后返回上层...");
        Sleep(5000);
        system("CLS");
        fflush(stdin);
        manager_goods();
    }
    printf("-----------------------------------------------------------------------------------------\n");
    printf("10s后返回上层...");
    Sleep(10000);
    system("CLS");
    fflush(stdin);
    manager_goods();

}
void manager_goods_3_face()  //商品购退初始界面
{
    system("CLS");
    printf("☆   ◤***********************************************************◥   ☆  \n");
    printf("  △ ┇                       ___________                          ┇ △    \n");
    printf("☆   ┇                      |  --   --  |                         ┇   ☆  \n");
    printf("  △ ┇                      |   |  |  \\ |                         ┇ △    \n");   //显示存在字符的格式问题,按照这样才对称
    printf("☆   ┇                      | |_|  | _/ |                         ┇   ☆  \n");
    printf("  △ ┇                      |           |                         ┇ △    \n");
    printf("☆   ┇                      |___________|                         ┇   ☆  \n");
    printf("  △ ┇                         京   东                            ┇ △    \n");
    printf("☆   ┇                     在线购物管理系统                       ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                         商品购退                           ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                       1.商品进货                           ┇   ☆  \n");
    printf("  △ ┇                       2.商品退货                           ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                       西南石油大学                         ┇ △    \n");
    printf("☆   ┇                      廖冰翔版权所属                        ┇   ☆  \n");
    printf("  △ ┇************************************************************┇ △    \n");

}
void manager_goods_3()          //商品购退
{
    int select;
    manager_goods_3_face();     //初始界面
    printf("输入选项:");
    scanf(" %d",&select);
    p_goods  q = L->next;
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);
    if(select==1)
    {
        int NO1, amount1;
        printf("请输入进货商品编号:");
        scanf(" %d",&NO1);
        printf("请输入进货商品数量:");
        scanf(" %d",&amount1);
        q = L->next;
         do{
                if(q->NO==NO1) break;
                q = q->next;
        }while(1);
        q->amount += amount1;
    }
    else if(select==2)
    {
        int NO2, amount2;
        printf("请输入退货商品编号:");
        scanf(" %d",&NO2);
        printf("请输入退货商品数量:");
        scanf(" %d",&amount2);
        q = L->next;
         do{
                if(q->NO==NO2) break;
                q = q->next;
        }while(1);
        q->amount -= amount2;

    }
    else
    {
        printf("没有这个选项哦...亲亲\n");
        printf("5s后返回上层...");
        Sleep(5000);
        system("CLS");
        fflush(stdin);
        manager_goods_3();
    }
    q = L->next;
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);
    printf("5s后返回上层...");
    Sleep(5000);
    system("CLS");
    fflush(stdin);
    manager_goods();


}
void manager_goods_4()          //商品信息添加删除  /*不知道商品信息,输入错误选项会异常退出
{
    p_goods q, p;
    int select;
    printf("请选择:1.添加商品信息    2.删除商品信息    *请输入 1或2 继续:");
    scanf(" %d",&select);
    if(select == 1)
    {
        q = L;
        for(;1;)
        {
            if (q->next==NULL) break;
            q = q->next;
         }

        p = q;
        q->next =(goods *)malloc(sizeof(goods));    //生成一个商品节点指针
        q = q->next;


        printf("请输入商品编号:");
        scanf(" %d",&q->NO);
        printf("请输入商品名称:");
        scanf(" %d",&q->name);
        printf("请输入商品类别:");
        scanf(" %d",&q->sort);
        printf("请输入商品数目:");
        scanf(" %d",&q->amount);
        printf("请输入商品价格:");
        scanf(" %lf",&q->price);
        printf("录入结束!\n");

        q->head =  p;
        q->next =  NULL;
    }
    else if(select == 2)
    {
        int no;
        printf("请输入所要删除的商品信息:");
        scanf(" %d",&no);
        q = L;
        for(;1;)
        {
            if (q->NO == no) break;
            q = q->next;
        }
        if(q->next == NULL)     //删除最后一个节点
        {
            q->head->next =  NULL;
        }
        else
        {
            q->head->next = q->next;
            q->next->head = q->head;
        }
        free(q);
    }
    q = L->next;        //遍历链表
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
            if(!q)  break;   //如果没有元素,退出
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);
    printf("10s后返回上层...");
    Sleep(10000);
    system("CLS");
    fflush(stdin);
    manager_goods();
}
void manager_goods_5()          //商品信息修改  /*存在输入错误编号,程序异常退出的问题
{
    p_goods q;
    q = L->next;        //遍历链表
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);

    int no;
    printf("输入你想修改的商品编号:");
    scanf(" %d",&no);
    q = L->next;        //遍历链表
    do{
        if(q->NO==no) break;
        q = q->next;
    }while(1);

        printf("请输入新的商品编号:");
        scanf(" %d",&q->NO);
        printf("请输入新的商品名称:");
        scanf(" %d",&q->name);
        printf("请输入新的商品类别:");
        scanf(" %d",&q->sort);
        printf("请输入新的商品数目:");
        scanf(" %d",&q->amount);
        printf("请输入新的商品价格:");
        scanf(" %lf",&q->price);

    q = L->next;        //遍历链表
    printf("新的商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);

    printf("10s后返回上层...");
    Sleep(10000);
    system("CLS");
    fflush(stdin);
    manager_goods();
}
void manager_goods_6()          //商品信息查找和浏览
{
    p_goods q;
    q = L->next;        //遍历链表
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);
    printf("10s后返回上层...");
    Sleep(10000);
    system("CLS");
    fflush(stdin);
    manager_goods();

}
void manager_goods_face()       //商品管理函数界面
{
    printf("☆   ◤***********************************************************◥   ☆  \n");
    printf("  △ ┇                       ___________                          ┇ △    \n");
    printf("☆   ┇                      |  --   --  |                         ┇   ☆  \n");
    printf("  △ ┇                      |   |  |  \\ |                         ┇ △    \n");   //显示存在字符的格式问题,按照这样才对称
    printf("☆   ┇                      | |_|  | _/ |                         ┇   ☆  \n");
    printf("  △ ┇                      |           |                         ┇ △    \n");
    printf("☆   ┇                      |___________|                         ┇   ☆  \n");
    printf("  △ ┇                         京   东                            ┇ △    \n");
    printf("☆   ┇                     在线购物管理系统                       ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                         商品管理                           ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                       1.录入商品                           ┇   ☆  \n");
    printf("  △ ┇                       2.商品排序                           ┇ △    \n");
    printf("☆   ┇                       3.商品购退                           ┇   ☆  \n");
    printf("  △ ┇                       4.商品的信息添加删除                 ┇ △    \n");
    printf("☆   ┇                       5.商品的信息修改                     ┇   ☆  \n");
    printf("  △ ┇                       6.商品的查找和浏览                   ┇ △    \n");
    printf("☆   ┇                       7. 返回上一级菜单                    ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                       西南石油大学                         ┇ △    \n");
    printf("☆   ┇                      廖冰翔版权所属                        ┇   ☆  \n");
    printf("  △ ┇************************************************************┇ △    \n");

    printf("\n \n \n");  //空行

    printf("----------------$---------$----------------$----------------$----------------$-----------------$----------------$----------------\n");
    printf("系统使用--温馨提示:\n");
    printf("→商品的编号、数量、单价:采用十进制数,规定最长宽度为8位;\n");
    printf("\t→商品名称为26位字母组成字符串,长度为20位或者长度小于8的汉字\n");
    printf("----------------$---------$----------------$----------------$----------------$-----------------$----------------$----------------\n");
}
void manager_goods()            //商品管理函数
{
    manager_goods_face();
    printf("please input your choice:");
    int elect;
    scanf(" %d",&elect);
    switch (elect)
    {
    case 1:
        manager_goods_1();  //录入商品
        break;
    case 2:
        manager_goods_2();  //商品排序
        break;
    case 3:
        manager_goods_3();  //商品购退
        break;
    case 4:
        manager_goods_4();  //商品信息添加删除
        break;
    case 5:
        manager_goods_5();  //商品信息修改
        break;
    case 6:
        manager_goods_6();  //商品信息查找和浏览
        break;
    case 7:
        system("CLS");
        interfaces();
        choice();
        break;
    default:
        system("CLS");
        printf("输入错误,拜托你正经点...\n原谅你了,再来一次吧 ̄へ ̄\n");
        manager_goods();
    }
}



//退出系统功能区域
void exit_system()  //退出系统
{
    system("CLS");
    printf("☆   ◤***********************************************************◥   ☆  \n");
    printf("  △ ┇                       ___________                          ┇ △    \n");
    printf("☆   ┇                      |  --   --  |                         ┇   ☆  \n");
    printf("  △ ┇                      |   |  |  \\ |                         ┇ △    \n");   //显示存在字符的格式问题,按照这样才对称
    printf("☆   ┇                      | |_|  | _/ |                         ┇   ☆  \n");
    printf("  △ ┇                      |           |                         ┇ △    \n");
    printf("☆   ┇                      |___________|                         ┇   ☆  \n");
    printf("  △ ┇                         京   东                            ┇ △    \n");
    printf("☆   ┇                     在线购物管理系统                       ┇   ☆  \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                         退出系统                           ┇   ☆  \n");
    printf("  △ ┇                       欢迎你的使用                         ┇ △    \n");
    printf("☆   ┇                          谢 谢 !                           ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                       廖冰翔版权所属                       ┇ △    \n");
    printf("☆   ┇                        西南石油大学                        ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                    @LBX&&ZLL&&SWPU   2019                  ┇ △    \n");
    printf("☆   ┇                        version    1.0                      ┇   ☆  \n");
    printf("  △ ┇                     ALL Rights Reserved                    ┇ △    \n");
    printf("☆   ┇************************************************************┇   ☆  \n");
    printf("  △ ◣                           再见                            ◢ △    \n");
}



//购物车的功能区域
int manager_shoppingcart_1()           //商品添加
{
    if(!load)
    {
        printf("未登录用户,请登录后再进行操作!\n");
        Sleep(4000);
        system("CLS");
        fflush(stdin);
        manager_shoppingcart();
    }
    p_goods q;                    //商品节点
    p_shoppingcart   newbase;       //存储realloc的新生成的数据地址

    q = L->next;                    //遍历链表
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);

    int no, amount;
    printf("输入你想要购买的商品编号:");
    scanf(" %d",&no);
    printf("输入你想要购买的商品数目:");
    scanf(" %d",&amount);

    q = L->next;        //遍历链表,找到想购买的商品节点
    do{
        if(q->NO == no) break;
        q = q->next;
    }while(1);
    q->amount -= amount;

    p_shoppingcart j, i;


 //遍历购物车链表,如果存在商品就添加数量,不存在商品就新生成节点
        j = Lsc->next;
        for(;1;)
        {
            if(j == NULL)     //购物车没有商品的情况
            {
                newbase = (shoppingcart *)malloc(sizeof(shoppingcart));    //生成一个商品节点指针
                if(!newbase) return ERROR;

                newbase->next = NULL;       //将j移动到下一个节点
                newbase->head = Lsc;
                Lsc->next = newbase;
                j = newbase;

                //商品信息拷贝到购物车
                j->NO     =  q->NO;
                j->name   =  q->name;
                j->sort   =  q->sort;
                j->amount =  amount;
                j->price  =  q->price;
                break;  //到最后一个节点,不存在就退出

            }

            if(j->NO == no)   //存在添加商品数量
            {
                j->amount += amount;
                break;
            }

            if(j->next == NULL)      //到最后一个节点,不存在购物车商品,就添加新的商品节点
            {
                newbase = (shoppingcart *)malloc(sizeof(shoppingcart));    //生成一个商品节点指针
                if(!newbase) return ERROR;

                newbase->next = NULL;       //将j移动到下一个节点
                newbase->head = j;
                j->next = newbase;
                j = j->next;

                //商品信息拷贝到购物车
                j->NO     =  q->NO;
                j->name   =  q->name;
                j->sort   =  q->sort;
                j->amount =  amount;
                j->price  =  q->price;
                break;  //到最后一个节点,不存在就退出
            }
            j = j->next;
         }


        printf("是否继续购买Y/y:");
        char select;
        scanf(" %c",&select);
        if(select=='Y'||select=='y')
        {
            system("CLS");
            fflush(stdin);
            manager_shoppingcart_1();

        }
        else
        {
            system("CLS");
            fflush(stdin);
            manager_shoppingcart();
        }


}
void manager_shoppingcart_2()           //商品删除
{
    if(!load)
    {
        printf("未登录用户,请登录后再进行操作!\n");
        Sleep(4000);
        system("CLS");
        fflush(stdin);
        manager_shoppingcart();
    }
    p_shoppingcart p, q;

    q = Lsc->next;                    //遍历链表
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);

        int no;
        printf("请输入所要删除的商品信息:");
        scanf(" %d",&no);
        q = Lsc->next;
        for(;1;)
        {
            if (q->NO == no) break;
            q = q->next;
        }

        if(q->next == NULL)     //删除最后一个节点
        {
            q->head->next =  NULL;
        }
        else
        {
            q->head->next = q->next;
            q->next->head = q->head;
        }
        free(q);


        system("CLS");
        fflush(stdin);
        manager_shoppingcart();

}
void manager_shoppingcart_3()           //查看已选商品,未考虑购物车不存在商品的情况
{
    if(!load)
    {
        printf("未登录用户,请登录后再进行操作!\n");
        Sleep(4000);
        system("CLS");
        fflush(stdin);
        manager_shoppingcart();
    }
    p_shoppingcart q;

    q = Lsc->next;                    //遍历链表
    printf("商品类别\t商品编号\t商品名称\t商品数量\t商品单价\n");
    do{
    printf("%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);

    printf("4s后返回上层...");
    Sleep(4000);
    system("CLS");
    fflush(stdin);
    manager_shoppingcart();
}
void manager_shoppingcart_face()
{
    system("CLS");
    printf("☆   ◤***********************************************************◥   ☆  \n");
    printf("  △ ┇                       ___________                          ┇ △    \n");
    printf("☆   ┇                      |  --   --  |                         ┇   ☆  \n");
    printf("  △ ┇                      |   |  |  \\ |                         ┇ △    \n");   //显示存在字符的格式问题,按照这样才对称
    printf("☆   ┇                      | |_|  | _/ |                         ┇   ☆  \n");
    printf("  △ ┇                      |           |                         ┇ △    \n");
    printf("☆   ┇                      |___________|                         ┇   ☆  \n");
    printf("  △ ┇                         京   东                            ┇ △    \n");
    printf("☆   ┇                     在线购物管理系统                       ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                       购物车管理                           ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                       1.商品添加                           ┇   ☆  \n");
    printf("  △ ┇                       2.商品删除                           ┇ △    \n");
    printf("☆   ┇                       3.查看已选商品                       ┇   ☆  \n");
    printf("  △ ┇                       4.返回                               ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                       西南石油大学                         ┇ △    \n");
    printf("☆   ┇                      廖冰翔版权所属                        ┇   ☆  \n");
    printf("  △ ┇************************************************************┇ △    \n");

}
void manager_shoppingcart()  //购物车管理
{
    manager_shoppingcart_face();
    int select;
    printf("输入选项:");
    scanf(" %d",&select);
    switch (select)
    {
    case 1:
        manager_shoppingcart_1();  //商品添加
        break;
    case 2:
        manager_shoppingcart_2();  //商品删除
        break;
    case 3:
        manager_shoppingcart_3();  //查看已选商品
        break;
    case 4:                        //返回
        system("CLS");
        interfaces();
        choice();
        break;
    default:
        system("CLS");
        printf("输入错误,拜托你正经点...\n原谅你了,再来一次吧 ̄へ ̄\n");
        manager_shoppingcart();
    }
}


//文件保存功能模块
void save_file()   //保存了,用户信息、 商品信息、 购物车信息
{
    //保存商品信息
    FILE *fp;
    if( (fp = fopen("E:\\Jingdong shopping system\\text\\goods_massage.txt","w+") ) == NULL)       //以读写方式打开文件
    {
            printf("Failure to open goods_massage.txt!\n");
            exit(0);
    }

    p_goods q;
    q = L->next;        //遍历链表
    do{
        if( q == NULL ) break;
        fprintf(fp,"%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",q->sort,q->NO,q->name,q->amount,q->price);
        if(q->next==NULL) break;
        q = q->next;
    }while(1);
    fclose(fp);

    //保存用户信息
    int i;
    FILE *u_fp;
    if( (u_fp = fopen("E:\\Jingdong shopping system\\text\\user_massage.txt","w+") ) == NULL )
    {
        printf("Failure to open user_massage.txt!\n");
        exit(0);
    }
    for( i = 0;i <  count ;  i++)
    {
        fprintf(u_fp,"%s \t\t%s \t\t%s \t\t%s\n",user[i].name,user[i].password,user[i].interest,user[i].work);
    }
    fclose(u_fp);

    //保存购物车信息
    FILE *c_fp;
    if( (c_fp = fopen("E:\\Jingdong shopping system\\text\\goods_cart.txt","w+") ) == NULL)       //以读写方式打开文件
    {
            printf("Failure to open goods_massage.txt!\n");
            exit(0);
    }

    p_shoppingcart p;
    p = Lsc->next;        //遍历链表
    do{
        if( p == NULL ) break;
        fprintf(c_fp,"%d \t\t%d \t\t%d \t\t%d \t\t%.2lf \n",p->sort,p->NO,p->name,p->amount,p->price);
        if(p->next==NULL) break;
        p = p->next;
    }while(1);
    fclose(fp);


}


//初始界面和功能函数选择
void interfaces()   //初始界面图形函数
{
    printf("☆   ◤***********************************************************◥   ☆  \n");
    printf("  △ ┇                       ___________                          ┇ △    \n");
    printf("☆   ┇                      |  --   --  |                         ┇   ☆  \n");
    printf("  △ ┇                      |   |  |  \\ |                         ┇ △    \n");   //显示存在字符的格式问题,按照这样才对称
    printf("☆   ┇                      | |_|  | _/ |                         ┇   ☆  \n");
    printf("  △ ┇                      |           |                         ┇ △    \n");
    printf("☆   ┇                      |___________|                         ┇   ☆  \n");
    printf("  △ ┇                         京   东                            ┇ △    \n");
    printf("☆   ┇                     在线购物管理系统                       ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                       1.用户管理                           ┇   ☆  \n");
    printf("  △ ┇                       2.商品管理                           ┇ △    \n");
    printf("☆   ┇                       3.购物车管理                         ┇   ☆  \n");
    printf("  △ ┇                       4.退出系统                           ┇ △    \n");
    printf("☆   ┇                       5.保存文件                           ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                       西南石油大学                         ┇ △    \n");
    printf("☆   ┇                      廖冰翔版权所属                        ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                    保护正版,翻版必究                      ┇ △    \n");
    printf("☆   ┇                                                            ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇                      version    1.0                        ┇   ☆  \n");
    printf("  △ ┇                                                            ┇ △    \n");
    printf("☆   ┇************************************************************┇   ☆  \n");
    printf("  △ ◣                      请选择菜单1-4                        ◢ △    \n");
}

void choice()       //功能选择函数
{
    int elect;
    printf("输入选项:");
    scanf("%d",&elect);
    system("CLS");
    if(elect==1)
    {
        manager_user(); //用户管理函数
    }
    else if(elect==2)
    {
        manager_goods();//商品管理函数
    }
    else if(elect==3)
    {
        manager_shoppingcart(); //购物车管理
    }
    else if(elect==4)
    {
        exit_system(); //退出系统
    }
    else if(elect==5)
    {
        save_file();  //保存文件
    }
    else
    {
        printf("本程序很有选择,请不要无理调戏我!\n");
        printf("要调戏请去找小姐姐ψ(*`ー′)ψ,3s后重新输入\n");
        Sleep(3000);
        system("CLS");        //清除当前屏幕内容
        printf("请再次输入正确答案:\n");
        interfaces();
        choice();
    }

}

/*附加功能*/
readmassage(){  //将之前的信息读取到结构体数组,商品链表,购物车链表中
    //读取用户信息
    FILE *fp;
    int i;
    if((fp = fopen("E:\\Jingdong shopping system\\text\\user_massage.txt","rb")) == NULL)
    {
        printf("Failure to open user_massage.txt!\n");
        exit(0);
    }
    for (i=0;!feof(fp);i++)
    {
        fscanf(fp,"%s \t\t%s \t\t%s \t\t%s\n",user[i].name,user[i].password,user[i].interest,user[i].work);
    }
    fclose(fp);
    printf("Total user is %d.\n",i-1);
	Sleep(2000);
	system("CLS");
    count = i-1;
    return i-1;
}
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
仿京东商城购物系统生成html正式版源代码下载购物网站模板V2030具体功能介绍: 一、 网站基本功能 1)网站基本信息后台设置: 网站名称、关键字、描述、联系方式、版权信息、ICP证书、Logo 设置是否显示浮动客服窗口,同时可以设置透明度 在线客服账户管理:支持多个QQ、MSN、旺旺、Skype 设置是否显示53kf客服窗口 设置是否显示:流量信息、报价单、发货单、赠品、优惠券、管理进入链接等 2)邮件发送系统:支持Jmail、ObjCdoMail、Aspemail、Cdo.Message组件 管理员可选择组件和设置SMTP发件信息 3)后台管理账户维护功能,管理员分为总管理员、订单管理员、产品管理员 管理员后台可设置添加、修改、删除信息成功后的处理方式 可选后台管理上下、左右显示模式 4)管理员后台可以查看服务器组件信息:脚本支持、组件支持、安全配置、运行速度 5)友情链接管理:管理员可以添加友情链接,支持图片和文字形式 二、 网站模板管理 1)网站支持多种界面,后台可以自由切换 2)每个大类可以设置不同风格的模板 3)目前支持的模板包括: 黑底深蓝:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 黑底炫彩:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 黑底深灰:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 黑底棕色:珠宝翡翠 紫砂壶 茶叶 特产 家具用品 装修建材 混合苍青:综合购物 数码产品 护肤产品 服装饰品 家居用品 文体用品 书籍杂志 登山野营 旅行装备 母婴用品 汽车配饰 装修建材 经典蓝色:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 朴素蓝色:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 明亮蓝色:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 精美浅蓝:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 韵味深蓝:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 品味棕色:紫砂壶 茶叶 特产 简洁灰色:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 汽车配饰 装修建材 明亮银灰:手机及配件 笔记本 电脑硬件 闪存卡 移动存储 数码相机 家电音响 办公设备 文具耗材 汽车配饰 装修建材 健康绿色:居家日用 厨房餐饮 卫浴洗浴 床上用品 窗帘布艺 茶叶 鲜花礼品 蛋糕礼盒 宠物食品 时尚家饰 服装饰品 植物绿色:居家日用 厨房餐饮 卫浴洗浴 床上用品 窗帘布艺 茶叶 鲜花礼品 蛋糕礼盒 宠物食品 时尚家饰 服装饰品 混合黄绿:居家日用 厨房餐饮 卫浴洗浴 床上用品 窗帘布艺 茶叶 鲜花礼品 蛋糕礼盒 宠物食品 时尚家饰 服装饰品 混合蓝绿:居家日用 厨房餐饮 卫浴洗浴 床上用品 窗帘布艺 茶叶 鲜花礼品 蛋糕礼盒 宠物食品 时尚家饰 服装饰品 可爱泡泡:流行首饰 时尚饰品 精品女装 韩版服饰 可爱洋红:流行首饰 时尚饰品 精品女装 韩版服饰 鲜花礼品 儿童服饰 益智玩具 儿童书籍 孕妇用品 精美鲜花:流行首饰 时尚饰品 精品女装 韩版服饰 鲜花礼品 可爱浅红:流行首饰 时尚饰品 精品女装 韩版服饰 鲜花礼品 儿童服饰 益智玩具 儿童书籍 孕妇用品 姹紫嫣红:成人用品 避孕用品 情趣内衣 彩妆香水 美发工具 美容护肤 个人护理 保健美容 混合紫蓝:成人用品 避孕用品 情趣内衣 彩妆香水 美发工具 美容护肤 个人护理 保健美容 精美深紫:成人用品 避孕用品 情趣内衣 彩妆香水 美发工具 美容护肤 个人护理 保健美容 鲜花礼品 精致淡紫:成人用品 避孕用品 情趣内衣 彩妆香水 美发工具 美容护肤 个人护理 保健美容 鲜花礼品 精美嫣红:成人用品 避孕用品 情趣内衣 彩妆香水 美发工具 美容护肤 个人护理 保健美容 鲜花礼品 服装配饰 仿京东红:综合购物 数码产品 护肤产品 服装饰品 家居用品 文体用品 书籍杂志 登山野营 旅行装备 母婴用品 稳重暗红:红 酒 护肤产品 服装饰品 母婴用品 火热红色:综合购物 护肤产品 服装饰品 母婴用品 家居用品 汽车配饰 装修建材 深色紫红:彩妆香水 美发工具 美容护肤 个人护理 保健美容 鲜花礼品 服装饰品 母婴用品 家居用品 淘宝金黄:综合购物 数码产品 护肤产品 服装饰品 家居用品 文体用品 书籍杂志 登山野营 旅行装备 母婴用品 汽车配饰 装修建材 清新浅黄:美容护肤 个人护理 保健美容 鲜花礼品 服装饰品 三、 产品功能模块 1)商品二级分类系统,支持分类排序 每个大类可选不同模板 商品大类、小类页面可以单独添加广告 2)产品品牌功能,品牌介绍支持html在线编辑器 3)产品一级分类、二级分类、品牌页面的搜索引擎优化 4)商品添加、修改、以及独创的复制功能,支持名称价格、库存、积分等批量修改 商品批量删除、批量转移分类、设置推荐、设置特价、设置分类推荐等 5)价格批量处理:可以将整站商品价格加、减、乘、除一定的值或者比例 6)商品自定义参数:商品可以按照大类设置最多50个参数,方便经营不同类型的产品 管理员可设置商品参数显示位置:商品图片右侧或者商品介绍底部 7)商品可选参数:同一款商品可以设置不同的参数如颜色、尺码让客户选择 8)商品积分、编号可以选手动输入或者按照规则自动生成,库存可设置默认值 9)商品价格体系 市场价格-仅供参考不参与订购计算 本站价格-实际成交价格 成本价格-用于后台计算成本和利润 10)商品多图功能,每个商品可以添加任意多商品图片 图片支持自动加水印,可选文字或者图片形式; 商品介绍支持html编辑器,支持图片、Flash、视频、音频、表格、文字格式等 11)管理员可以开启商品大小图功能,开启大小图可以优化显示效果同时加快打开速度 管理员可设置首页、分类页、产品内页商品缩略图尺寸 12)商品库存在客户成功订购自动减少,库存为0的商品无法订购 后台管理员登录后可以管理缺货商品 13)商品配件功能:可实现买产品送配件、买产品加*元送配件的功能 每个商品最多加五个配件(在2008之前版本此功能名称为“套装”) 14)商品页面的搜索引擎优化 15)商品评论功能:客户可以发表针对具体商品的评论或提问,管理员可以回复 管理员可以设置客户发表评论后直接显示在网站或者管理员回复后显示在网站 16)商品对比功能:用户可选多个商品进行资料的详细对比 17)管理员可以设置商品搜索范围是否包含: “商品名称、编号、关键字、简单介绍、详细介绍” 客户搜索关键字记录功能,后台可以查看、删除、批量删除、批量修改搜索次数 修正老版本关键字乱码的问题; 高级搜索功能:出关键字搜索外还支持按照分类、品牌、价格范围搜索商品 18)用户可选商品排序方式,支持按照以下方式排序: 网站推荐、销量、价格升序、价格降序、浏览量、上架时间 19)商品显示方式支持:每行多图片显示或者每行单图片显示 管理员可以设置默认方式,同时可以设置每行、每页显示商品数量 20)管理员可以设置首页各栏目是否显示,每栏目显示商品数量、每行显示商品数量 21)前台商品分类可选三种显示方式: 普通显示:直接显示大类小类 点击大类显示小类:默认只显示大类、鼠标点击后显示小类 鼠标移至大类显示小类:默认只显示大类、鼠标移至大类标题后显示小类 22)商品报价单功能,支持打印和分页,管理员可以关闭商品报价单 23)最近浏览商品功能:用户可以看到自己最近浏览的相关商品 24)商品收藏功能 四、 用户功能模块 1)用户基本功能:注册、登录、修改基本信息 管理员在后台管理可以按等级、用户名查找管理用户 管理员可以修改用户基本信息 管理员设置用户注册协议 2)找回密码功能:如果用户忘记了密码,可以通过预设的问题和答案重设密码 后台管理员也可以为用户修改密码 3)注册邮件功能:用户注册可以收到网站的提醒邮件,具体内容由管理员设置 4)用户积分和兑换积分:用户成功购物可以获得相应积分和兑换积分 具体积分由管理员添加商品时设置,积分和兑换积分可以自动累计 5)用户等级和折扣: 管理员可以预设多个等级,设置每个等级的折扣和升级需要达到的积分 当用户积分达到等级指定积分可以升级到该等级,享受更低的折扣价 管理员也可以手动设置每个用户的积分、等级 6)兑换优惠券: 用户的兑换积分可以用于兑换优惠券,兑换后可以获得一定金额的优惠券 优惠券有时间和使用期限的限制 7)邮件群发功能:管理员可以给注册用户群发邮件,也可以针对具体用户单独发邮件 8)用户订单管理:注册用户购物后可以在线管理订单:查看配送状态、打印订单 9)缺货登记功能:如果网站没有找到用户想要的产品,用户填写缺货登记单, 管理员后台可以回复,用户可以查看自己登记的缺货登记单以及管理员的回复 10)收藏夹功能:客户可以收藏自己感兴趣的产品,方便下次查看或订购 11)客户反馈、留言簿功能,客户可以发表建议或者问题,管理员可以回复 管理员可以设置客户留言后直接显示在网站或者管理员回复后显示在网站 12)商品评论或提问:客户可以发表针对具体商品的评论或提问,管理员可以回复 管理员可以设置客户发表评论后直接显示在网站或者管理员回复后显示在网站 五、 仿京东商城购物系统生成html正式版源代码下载购物网站模板订单功能模块 1)管理员可设置是否提供发票、选择发票增加多少税点 可以设置结算货币、货币单位、符号 2)管理员可选5种运费计算方式,可设置订购满一定金额免运费: 根据订单计算:每订单一个运费 根据商品设置:每个商品设置一个运费,运费=基本运费+订购商品运费总和 根据重量计算:运费=基本运费+超重重量*续费价格 根据商品件数:运费=基本运费+商品件数*单件运费 不计算运费:所有订单免运费 3)管理员可以设置送货方式、付款方式、到货时间,由客户下单时选择 4)用户选择商品加入购物车,选择完毕结算下单,运费根据管理员设置自动计算 5)用户订单管理功能,支持订单打印、订单状态处理、无效订单删除 6)订单投诉功能:用户如果遇到未收到货、货物有问题,可以在线投诉 管理员可回复、用户可以看到管理员回复信息 7)订单合并功能:同一用户的多个未处理订单可以合并为一个订单,方便收货管理 8)订单状态管理,支持以下状态: 未处理、已处理等待付款、已付款、已收款、已发货、已收货、无效订单 每个状态可以添加相关说明,如发货后可以说明发货方式、快递单号、发货时间 管理员确认收款后客户积分自动增加,管理员确认发货后商品库存自动减少 9)管理员按照时间段、用户名、订单状态查询管理订单,支持订单打印 可以进行销售汇总统计,计算销售额、利润等 10)管理员可以修改订单商品价格、商品数量、运费 11)订单支持优惠券功能,客户输入优惠券号码可以减去相应金额 优惠券可以管理员添加、也可以由客户用积分换取 优惠券可设置使用期限和使用条件 12)订购邮件提醒:客户订购成功后可以收到网站自动发出的邮件 具体邮件内容由管理员后台设置 13)管理员发货后系统自动发送邮件提醒客户,具体邮件内容由管理员后台设置 14)后台可以分配专门的订单管理员,权限仅限于订单管理 15)管理员可设置是否允许未登录用户下单,未注册用户下单获得积分 16)发货单功能:在订单系统外,管理员可以单独发布发货信息,提醒客户注意收货 17)垃圾数据删除:管理员可以批量删除客户加入购物车单并未结算的数据 六、 搜索引擎优化 1)网站的标题、关键字、描述支持后台自定义 2)产品一级分类页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 3)产品二级分类页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 4)产品品牌页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 5)产品介绍页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 6)新闻一级分类页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 7)新闻二级分类页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 8)新闻内容页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 9)帮助信息栏目页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 10)帮助信息页面的标题、关键字、描述支持后台自定义 标题、关键字、描述也可以设置按照一定规则自动生成 11)网站地图功能 12)针对Google的Sitemap功能,地图地址sitemap_google.asp 13)支持RSS功能 14)前台页面符合W3C标准 15)产品介绍关键字内链功能:后台可以设置关键字和对应的链接 如果产品介绍包含该关键字,会自动加上设置的链接 16)新闻介绍关键字内链功能:后台可以设置关键字和对应的链接 如果新闻内容包含该关键字,会自动加上设置的链接 17)后台搜索引擎优化管理收集了常见搜索引擎的登录地址,方便网站管理员提交网站 七、 促销功能模块 1)优惠券功能:客户下单时输入优惠券号码和密码可以从订单减去相应金额 2)后台支持批量添加优惠券,可以设置使用条件和使用期限 3)注册用户可以使用购物获得的积分兑换优惠券,兑换比例有后台管理员设置 4)管理员可以查看优惠券使用情况:订单号、用户 5)赠品功能:客户订单满一定金额可以选择相应的赠品 6)管理员可以添加、修改赠品,设置获取赠品需要购物满多少金额 7)商品配件功能:可实现买产品送配件、买产品加*元送配件的功能 每个商品最多加五个配件(在2008之前版本此功能名称为“套装”) 8)不同等级的用户可以享受不同的购物折扣 如一般会员不打折,VIP客户可以打98折,具体折扣由管理员设置 管理员还可以设置用户积分达到一定数量自动升级更高等级的会员 八、 在线支付系统 1)中文版支持六种支付平台: 支付宝、财付通、网银、云网支付@网、快钱、贝宝 英文版支持国际Paypal,货币可后台设置,支持美元、欧元等常见货币 2)支付宝集成了标准商家服务接口、纯担保交易接口,后台可选账户类型 其中标准接口需要开通商家服务,最低年费600 (含6万内提成,超出部分按1.5%收取提成) 纯担保交易接口0年费,单比交易提成1.5% 3)财付通集成了直接到帐交易接口:0年费,单比交易提成1% 4)网银:0年费,单比交易提成1%,需要在首页添加网银LOGO广告 5)云网支付@网:0年费,单比交易提成1%,支持免费短信提醒 6)快钱支付:收费项目不祥,网站没有具体说明,建议电话咨询 7)贝宝:完全免费,客户需要有贝宝账户才能支付 8)国际Paypal:货币根据后台设置的货币自动获取 支持美元、欧元、澳元、港币、日元等常见货币,提成:2.4% 到 3.4% + $ 0.30 USD 9)各个支付平台可以单独开启、关闭,使用相应的平台需要先申请相应的账户 九、 新闻发布系统 1)新闻分类管理:支持二级分类,支持分类排序 2)新闻大类、新闻小类页面的搜索引擎优化 3)新闻管理:新闻添加、删除、修改,支持按大类查询修改新闻 新闻支持html在线编辑器,支持图片、Flash、视频、音频、表格、文字格式等 4)顶部公告管理,前台公告滚动显示 5)新闻大类、新闻小类、新闻页面的搜索引擎优化 6)新闻查询功能 十、 帮助信息系统 1)帮助信息栏目管理:栏目添加、修改、删除 2)帮助信息栏目的搜索引擎优化 3)帮助信息管理:添加、修改、删除 支持html在线编辑器,支持图片、Flash、视频、音频、表格、文字格式等 4)帮助信息页面的搜索引擎优化 5)帮助信息中包含“付款”、“支付”的栏目将被直接读取到商品页面付款方式 6)帮助信息中包含“送货”、“配送”的栏目将被直接读取到商品页面送货方式 十一、 流量统计系统 1)总体数据:总访问量、在线人数、今日访问量、昨日访问量、今年访问量 本月访问量、统计天数、平均日访量、预计今日访问量 2)详细浏览记录:详细记录每次访问的时间、IP、地区、来源、操作系统、浏览器 3)按小时统计:最近24小时以小时为单位利用图标进行流量分析 4)按日统计:最近31天以天为单位利用图标进行流量分析 5)按周统计:最近一周以天为单位利用图标进行流量分析 6)按月统计:最近12个月以月为单位利用图标进行流量分析 7)访客来路统计:统计来源的网址,如百度、Google、互联网广告、合作网站等 8)被访问页面:统计来访用户针对网站各个具体页面的访问量 9)来自地区:统计访问者地区以及各个地区的访问量 10)IP统计:统计访问者IP以及各个IP的访问量 11)客户软件:统计来访用户使用的操作系统、浏览器版本 12)自定义统计:按照时间段、IP、地区、操作系统、浏览器、来源页面、 访问页面进行查询统计 13)使用帮助:统计系统使用帮助 14)数据归零:删除所有统计数据,统计将被初始化从零开始 15)前台可选统计显示的方式,支持:不显示、文字、图标、图片、Flash显示 十二、 广告模块 1)支持首页变幻广告 2)弹窗广告 3)左右对联广告 4)多处固定位置广告,支持图片和Flash,可以定义尺寸 5)商品大类、小类页面可以单独添加广告 十三、 数据库维护系统(仅限Access数据库) 1)查看数据库大小: 查看当前网站数据库大小 Access数据库大于30M时建议升级成MSSQL 2)压缩数据库:在线压缩数据库,压缩前建议备份数据库 3)备份数据库:将数据库备份成Bak文件,用于突发状况的还原 建议备份后通过ftp下载备份文件到本地机器备份 4)数据库恢复:慎用,一旦恢复数据库,所有数据将被恢复到备份数据库对应的内容
后台管理,网址后加admin/Wrzcnet_login.asp帐户:admin密码:admin   仿京东商城网上购物系统正式版源码下载商城网站模板V2030强势推出!国内首个完全仿京东商城的购物系统,无论是程序的功能,还是网站系统的网站模板都是很京东商城风格的.中国最好的购物系统,本商城购物系统采用先进的AJAX技术与XML技术相融生成静态,速度更快!管理也更为轻松!仿京东商城源码,仿京东商城源码下载,仿京东商城系统源码,免费京东商城源代码,软件代码多重过滤结合强大的SEO优化可以快速被搜索引擎收录,独特的静态生成算法可以大大减轻服务器的负担,无论在生成速度还是安全方面都达到国内领先水平。   仿京东商城系统,京东商城程序, 仿京东商城模板V2030的部分特点与精华:在拥有HTM静态生成功能的基础上,系统在SEO优化方面更是表现得淋漓尽致,软件代码多重优化过滤,无论是整站还是商品、三级分类的各个设置等细节方面,均可独立设置搜索关键词及描述,让您的客户第一时间在搜索引擎中找到你!   由此可见,HTML静态版系统具有诸多优点:1、第一时间被搜索引擎收录,让客户第一时间找到您!2、大大减轻服务器负担,同等环境下,HTML静态版浏览速度要比ASP高出近10倍!即使在服务器负载较重的情况下,也不会让您漏失客户!3、更安全!HTML静态文件无任何漏洞,让您高枕无忧。4、更易维护和管理,后台只须轻轻一点,即可全部生成,方便快捷5、是电子商务时代所趋,目前较为流行的购物站均采用静态化的HTML,采用HTML静态版已是大势所趋。   免费的生成html静态文件的仿京东商城程序,多风格的网店系统,国内最强大的32套模板购物网站网软志成HTML静态版V2030,采用更为直观的静态生成模式!所有静态生成均在一个页面完成。购物网站模板下载,免费的购物程序商业版,同时采用极为先进的进度条调度模式!系统生成静态统一采用百分比及进度条直观显示,全站静态生成以进度条显示,以及生成的百度比!非常形象。生成过程随时掌控,使之更直观的呈现在人们面前!同时运用先进的技术手段,采用静态生成与动态跟踪技术,网店网站模板,网上商城网页模板下载,完全版的电子商务网站系统,静态生成页面实时显示未生成的数据,独创不重复生成技术!运用多种不同的生成规则使生成速度变的更为快速,仿京东商城网上购物系统正式版源码下载商城网站模板在生成HTM的基础上实现多种只有动态文件才有的功能,如用户状态、新闻的浏览率、相应的价格级别等信息!完美解决了HTM文件不能实时显示动态信息的瓶颈。   京东商城源程序免费下载,仿京东商城模板下载,京东商城购物网站程序,下载京东商城模板,以人性化管理为出发点,系统加入多种智能静态生成。生成HTML的购物网站网页模板,商城系统完全版,网上商店开店系统,管理商城也由此变得游刃有余!有仿京东商城购物系统access版,仿京东商城网站模板mssql版,仿京东商城网站管理系统access生成html版,京东商城风格网页模板网店系统mssql生成html版下载.   系统功能方面更是十分强大!静态版率先支持了商品三级分类,支持七种在线支付,京东商城网源代码,京东商城网站源程序,京东商城源码,仿京东商城免费模板,同时支持Excel批量导入商品、文字或图片水印设置功能、商品优惠券及免运费设置的高级功能于一体,同时支持邮件订单通知与群发、完美整合BBS程序以及图片自动清除功能等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值