1. 这是我之前用c做过的一个酒店客房管理系统,做了挺久(可能因为学艺不精),有的部分可能考虑还不是很周全。发出来希望大家能给点建议什么的。(小白勿喷)

#define _CRT_SECURE_NO_WARNINGS
//这句命令可以防止在c++语言中strcpy,scanf,puts()等不安全函数
//而报错误和警告
#include<stdio.h>
#include<string.h>     
#include<Windows.h>
#include<stdlib.h>
void menu(struct room *m, struct person *p);
void menu1(struct room *m, struct person *p);
void menu2(struct room *m, struct person *p);
//提前声明函数
typedef struct person
{
    char zhanghao[20];
    char mima[20];
    char juese[20];
    char quanxian[20];
    struct person *next;
}pn, *a;
//定义管理员结构体,重命名为pn,定义一个结构体变量指针a
typedef struct room
{
    char name[20];
    char sex[20];
    int age;
    char AD[20];
    int num;
    int yajin;
    char qishiriqi[20];
    char jieshuriqi[20];
    int day;
    int renshu;
    float danjia;
    float zongjine;
    float yingfu;
    float shifu;
    float qiantui;
    char kongxian[20];
    char leixing[20];
    struct room *nnext;
}rm, *b;
void ListInsert(pn *L, pn *p)
{
    pn *q = L;
    p->next = NULL;
    while (q->next != NULL)
    {
        q = q->next;
    }
    q->next = p;
}
void jiedian(rm *j, rm *m)
{
    rm *n = j;
    m->nnext = NULL;
    while (n->nnext != NULL)
    {
        n = n->nnext;
    }
    n->nnext = m;
}
int w[5] = { 0,0,0,0,0 };
int j = 0;
void dengji(struct room *m, struct person *p)
{
    struct room *n, *r = m;
    struct room *v = m->nnext;
    int flag = 0;
    system("cls");
    n = (struct room *)malloc(sizeof(struct room));
    n->nnext = NULL;
    printf("\t\t 本酒店含以下几种类型房间:\n");
    printf("\t 类型             单价  \n");
    printf("\t 标准单人间(SK) 100   \n");
    printf("\t 标准双人间(ST) 150   \n");
    printf("\t 豪华单人间(DK) 200   \n");
    printf("\t 豪华双人房(DT) 300   \n");
    printf("\t 商务套房  (JS) 400   \n");
    printf("姓名 性别 年龄 人数 身份证号码  房间类型  房间号  入住天数 起始日期  终止日期  \n");
    scanf("%s %s %d %d %s %s %d  %d %s %s", n->name, n->sex, &n->age,&n->renshu, n->AD, n->leixing, &n->num,  &n->day, n->qishiriqi, n->jieshuriqi);
        if (n->age<18)
        {
            flag = 1;
            printf("\t对不起,客人尚未成年,无法入住!\n");
            Sleep(1000);
            menu2(m, p);
        }
        while(v!=NULL)
    {
        if (v->num == n->num && strcmp(v->qishiriqi, n->qishiriqi) <= 0 &&strcmp(v->jieshuriqi, n->jieshuriqi) >= 0)
        {
            flag = 1;
            printf("\t该房间已有客人入住!\n\t系统将在1秒后返回登记入住页面!\n");
            Sleep(1000);
            menu2(m, p);
            break;
        }
        v=v->nnext;
    }
    if (strcmp(n->leixing, "SK") == 0)
    {
        if (w[0] >= 2)
        {
            printf("该类型房间已满,请重新选择!\n");
            getchar();
            getchar();
            menu2(m, p);
        }
        else
        {
            n->danjia= 100;
            n->yajin = 50; w[0]++;
        }
    }
    if (strcmp(n->leixing, "ST") == 0)
    {
        if (w[1] >= 10)
        {
            printf("该类型房间已满,请重新选择!\n");
            getchar();
            getchar();
            menu2(m, p);
        }
        else
        {
            n->danjia = 150;
            n->yajin = 100;w[1]++;
        }
    }
    if (strcmp(n->leixing, "DK") == 0)
    {

if (w[2] >= 10)

{
            printf("该类型房间已满,请重新选择!\n");
            getchar();
            getchar();
            menu2(m, p);
        }
        else
        {
            n->danjia = 200; n->yajin = 100; w[2]++;
        }
    }
    if (strcmp(n->leixing, "DT") == 0)
    {
        if (w[3] >= 10)
        {
            printf("该类型房间已满,请重新选择!\n");
            getchar(); 
            getchar();
            menu2(m, p);
        }
        else
        {
            n->danjia = 300;
            n->yajin = 150;w[3]++;
        }
    }
    if (strcmp(n->leixing, "JS") == 0)
    {
        if (w[4] >= 10)
        {
            printf("该类型房间已满,请重新选择\n");
            getchar();
            getchar();
            menu2(m, p);
        }
        else
        {
            n->danjia = 400;
            n->yajin = 200;w[4]++;
        }
    }
    n->zongjine = n->danjia * n->day;
    n->yingfu = n->zongjine + n->yajin;
    printf("\t本次入住需支付%5.2f元,其中含押金%d元\n", n->yingfu, n->yajin);
    printf("\t请输入客户支付金额:");
    scanf("%f", &n->shifu);
    n->qiantui = n->shifu - n->yingfu + n->yajin;
    while (r->nnext != NULL)
    {
        r = r->nnext;
    }
    r->nnext = n;
    if (flag == 0)
    {

strcpy(n->kongxian, "YES!");
        printf("\t添加成功!\n");
        printf("\t按回车键返回\n");
        getchar();
        j++;
    }
    else
        printf("\t添加失败\n");
    getchar();
    menu2(m, p);
}
void jiezhang(struct room *m, struct person *p)
{
    struct room *n = m->nnext;
    int num, flag = 0;
    system("cls");
    printf("\t请输入需要结账的房间号:\n");
    scanf("%d", &num);
    while (n != NULL)
    {
        if (n->num == num)
        {
            flag = 1;
            printf("\t 客房信息:客户姓名 单价 入住天数 总金额 应付房款 实付房款 欠/退金额 \n");
            printf("\t %s %5.2f %d %5.2f %5.2f %5.2f %5.2f", n->name, n->danjia, n->day, n->zongjine, n->yingfu, n->shifu, n->qiantui);
            printf("\n");
            if (n->qiantui > 0)
            {
                printf("\t温馨提示:退还金额%5.2f元 ", n->qiantui);
                printf("\n");
                Sleep(1000);
            }
            if (n->qiantui < 0)
            {
                printf("\t请注意:该客人仍未付清房款,欠款%5.2f元 ", n->qiantui);
                printf("\n");
                    Sleep(1000);
            }
            strcpy(n->kongxian, "NO!");
            if (strcmp(n->leixing, "SK") == 0)
            {
                w[0]--;
            }
            if (strcmp(n->leixing, "ST") == 0)
            {
                w[1]--;
            }
            if (strcmp(n->leixing, "DK") == 0)
            {
                w[2]--;
            }
            if (strcmp(n->leixing, "DT") == 0)
            {
                w[3]--;
            }
            if (strcmp(n->leixing, "JS") == 0)
            {
                w[4]--;
            }
        }
        n = n->nnext;
    }
    if (flag == 0)
    {
        printf("\t无该房间信息\n");
    }
    getchar();
    getchar();
    menu2(m, p);
}
void chaxun(struct room *m, struct person *p)
{
    int a;
    struct room *n = m->nnext;
    char name[20], qishiriqi[20], jieshuriqi[20];
    int flag = 0, num;
    system("cls");
    printf("\t欢迎进入客房信息查询界面\n");
    printf("\t请选择查询方式:\n");
    printf("\t 1.按客户名称查询\n");
    printf("\t 2.按房间号查询\n");
    scanf("%d", &a);
    if (a == 1)
    {
        printf("\t请输入客户名称:\n");
        scanf("%s", name);
        while (n != NULL)
        {
            if (strcmp(n->name, name) == 0)
            {
                flag = 1;
                printf("\t\t\t该用户信息:\t\n");
                printf("姓名  年龄  房间号  单价  天数  总金额\n");
                /**/
                printf("%s  %d   %d   %5.2f    %d    %5.2f\n", n->name, n->age, n->num, n->danjia, n->day, n->zongjine);
            }//wenti
            n = n->nnext;
        }
        if (flag == 0)
            printf("\t无该客户信息\n");
    }
    if (a == 2)
    {
        printf("\t请输入房间号及查询起止时间:\n");
        scanf("%d %s %s", &num, qishiriqi, jieshuriqi);
        while (n != NULL)
        {
            if (n->num == num || strcmp(jieshuriqi, n->jieshuriqi) >= 0 || strcmp(qishiriqi, n->qishiriqi) <= 0)
            {
                printf("\t姓名\t\t\t身份证号\t\t入住天数\n");
                printf("\t %s\t\t\t%s\t\t\t%d\n", n->name, n->AD, n->day);
                n = n->nnext;
            }
            else
            {
                printf("\t暂无房间信息!");
            }
        }
    }
    getchar();
    getchar();
    menu2(m, p);
}
void bijiao(struct room *n1, struct room *n2)
{
    char a1[20], a2[20];//类型 入住
    int b1, b2, b3;//房间号,入住人数,入住天数
    b1 = n1->num;
    n1->num = n2->num;
    n2->num = b1;
    strcpy(a1, n1->leixing);
    strcpy(n1->leixing, n2->leixing);
    strcpy(n2->leixing, a1);
    strcpy(a2, n1->kongxian);
    strcpy(n1->kongxian, n2->kongxian);
    strcpy(n2->kongxian, a2);
    b2 = n1->renshu;
    n1->renshu = n2->renshu;
    n2->renshu = b2;
    b3 = n1->day;
    n1->day = n2->day;
    n2->day = b3;
}
void dayin(struct room *m, struct person *p)
{
    struct room *n1 = m->nnext;
    struct room *n2;
    struct room *n = m->nnext;
    int x, y;
    system("cls");
    if (n == NULL)
    {
        printf("\t暂无房间信息打印\n");
    }
    else
    {
        for (x = 1;x < j;x++)
        {
            for (y = x + 1;y <= j;y++)
            {
                n2 = n1;
                n1 = n1->nnext;

if (n1->num < n2->num)
                {
                    bijiao(n1, n2);
                }
            }
            n1 = m->nnext;
            n2 = m->nnext;
        }
        while (n != NULL)
        {
            printf("\t房间号\t房间类型\t是否有人入住\t入住人数\t入住天数\n");
            printf("\t%d\t%s\t     %s\t           %d\t                %d \n", n->num, n->leixing, n->kongxian, n->renshu, n->day);
            n = n->nnext;
        }
    }
    getchar();
    getchar();
    menu2(m, p);
}

void tongji(struct room *m, struct person *p)
{
    struct room *n = m->nnext;
    char day[20];
    float people = 0, fangjian = 0, kongfang;
    float ruzhulv, kongfanglv, money = 0;;
    system("cls");
    if (n == NULL)
    {
        printf("\t暂时无需要统计的信息");
    }
    else
    {
        printf("\t 请输入日期:\n");
        scanf("%s", day);
        while (n != NULL)
        {
            if (strcmp(n->qishiriqi, day) <= 0 || strcmp(n->jieshuriqi, day) >= 0)
            {
                people = n->renshu + people;
                fangjian++;
                money = n->shifu + money;
                n = n->nnext;
            }

}
        kongfang = 50 - fangjian;
        ruzhulv = fangjian / 50;
        kongfanglv = 1 - ruzhulv;
        printf("\t入住人数   入住房间数\t空房数\t入住率\t空房率\t实收房款\n");
        printf("\t%5.0f\t%5.0f        %5.0f\t%5.2f\t  %5.2f\t%5.2f", people, fangjian, kongfang, ruzhulv, kongfanglv, money);
    }
    getchar();
    getchar();
    menu2(m, p);
}
void duqu(rm *j)

{
    FILE *pf;
    rm *r;
    char name[20], sex[20], leixing[20], qishiriqi[20], jieshuriqi[20], AD[20], kongxian[20];
    int age, num, yajin, day, renshu;
    float danjia, zongjine, yingfu, shifu, qiantui;
    pf = fopen("room.txt", "a+");
    if (pf == NULL)
    {
        printf("无法打开文件\n");
        system("pause");
        exit(0);
    }
    while (!feof(pf))
    {
        if ((EOF == fgetc(pf)) || (EOF == fgetc(pf)) || (EOF == fgetc(pf)))
            break;
        else
            fseek(pf, -3L, 1);
        //fseek(文件类型指针,位移量,起始量)
        //将文件位置标记从当前位置后退3字节处
        fscanf(pf, "%s %s %d  %d %s %d %s %d %s %s %d %f %f %f %f %f", name, sex, &age, &renshu, AD, &num, leixing, &yajin, qishiriqi, jieshuriqi, &day, &danjia, &zongjine, &yingfu, &shifu, &qiantui);
        //从磁盘文件中读取信息送给链表中的变量
        r = (rm *)malloc(sizeof(rm));
        strcpy(r->name, name);
        strcpy(r->sex, sex);
        strcpy(r->leixing, leixing);
        strcpy(r->qishiriqi, qishiriqi);
        strcpy(r->jieshuriqi, jieshuriqi);
        strcpy(r->AD, AD);
        strcpy(r->kongxian, kongxian);
        r->age = age;
        r->renshu = renshu;
        r->num = num;
        r->yajin = yajin;
        r->day = day;
        r->danjia = danjia;
        r->zongjine = zongjine;
        r->yingfu = yingfu;
        r->shifu = shifu;
        r->qiantui = qiantui;
        jiedian(j, r);
        r = r->nnext;
    }
    fclose(pf);
}
void baocun(rm *j)
{
    FILE *pf;
    rm *m = j->nnext;
    if ((pf = fopen("room.txt", "r")) == NULL)
    {
        printf("不能打开此文件,按回车键退出\n");
        system("pause");
        exit(0);
    }
    while (m)
    {
        fprintf(pf, "%s %s %d %s %d %s %d %s %d %s %s %d %f %f %f %f %f\n", m->name, m->sex, m->age, m->kongxian, m->renshu, m->AD, m->num, m->leixing, m->yajin, m->qishiriqi, m->jieshuriqi, m->day, m->danjia, m->zongjine, m->yingfu, m->shifu, m->qiantui);
        //把变量输出到fp指向的文件中
        m = m->nnext;
    }
    fclose(pf);
}
void Look(struct room *m, struct person *p)
{
    struct person *q = p->next;
    char zhanghao[20];
    int flag = 0;
    system("cls");
    printf("\t请输入你要查看的系统用户的账号:\n");
    scanf("%s", zhanghao);
    while (q != NULL)
    {
        if (strcmp(q->zhanghao, zhanghao) == 0)
        {
            flag = 1;
            printf("\t            账号     密码    角色   权限\n");
            printf("\t该用户信息:%s   %s   %s   %s\n", q->zhanghao, q->mima, q->juese, q->quanxian);
        }
        q = q->next;
    }
    if (flag == 0)
    {
        printf("\t无该用户\n");
    }
    printf("按回车键返回管理员界面\n");
    getchar();
    getchar();
    menu1(m, p);
}
void ADD(struct room *m, struct person *p)
{
    struct person *q, *n = p;
    struct person *h = p->next;
    char juese[20] = { "总台服务员" };
    char quanxian[20] = { "12345" };//为了在后面初始化
    int flag = 0;
    system("cls");
    q = (struct person *)malloc(sizeof(struct person));
    q->next = NULL;//让链表的指针域指向空
    printf("\t请输入你添加的用户的账户和密码:\n");
    printf("\t账号:");
    scanf("%s", q->zhanghao);
    printf("\t密码:");
    scanf("%s", q->mima);
    getchar();
    strcpy(q->juese, juese);
    strcpy(q->quanxian, quanxian);
    while (h != NULL)
    {
        
        if (strcmp(h->zhanghao , q->zhanghao)==0)
        {
            flag = 1;
            printf("\t该账号已存在\n");
            Sleep(1000);
            menu1(m, p);
        }
        h = h->next;
    }
    while (n->next != NULL)
    {
        n = n->next;
    }
    n->next = q;//链表的增加

if (flag == 0)
    {
        printf("\t添加成功\n");
        printf("\t 账号    密码    权限\n");
        printf("\t %s  %s   %s    \n", q->zhanghao, q->mima, q->quanxian);
        printf("\t按回车键返回菜单\n");
    }
    else
        printf("\t添加失败\n");
    getchar();
    getchar();
    menu1(m, p);
}
void Dele(struct room *m, struct person *p)
{
    struct person *q = p->next;
    struct person *n = p;
    char zhanghao[20];
    int flag = 0;
    system("cls");
    printf("\t请输入你要删除的系统用户的账号:");
    scanf("%s", zhanghao);
    while (q != NULL)
    {
        if (strcmp(q->zhanghao, zhanghao) == 0)
        {
            flag = 1;
            n->next = q->next;//链表的删除
            free(q);
            break;
        }
        n = q;
        q = q->next;
    }
    if (flag != 1)
    {
        printf("\t无该用户信息\n");
    }
    else
    {
        printf("\t删除成功\n");
    }
    getchar();
    getchar();
    menu1(m, p);
}
void Change(struct room *m, struct person *p)
{
    struct person *q = p->next;
    char zhanghao[20];
    int flag;
    int i;
    char quanxian[20];
    system("cls");
    printf("\t请输入你要修改的系统用户的账号:");
    scanf("%s", zhanghao);
    getchar();
    while (q != NULL)
    {
        if (strcmp(q->zhanghao, zhanghao) == 0)
        {
            flag = 1;
            printf("\t %s %s\n", q->zhanghao, q->quanxian);
            
            printf("\t 1.登记入住权限\n");
            printf("\t 2.结账权限\n ");
            printf("\t 3.查询房间权限\n ");
            printf("\t 4.客房信息打印权限\n ");
            printf("\t 5.统计权限\n ");
            printf("\t请输入修改后的权限:");
            scanf("%s", quanxian);
            strcpy(q->quanxian, quanxian);
            break;
        }
        q = q->next;
    }
    if (flag == 0)
    {
        printf("\t无该系统用户的信息\n");
    }
    else
    {
        printf("\t修改成功\n");
        Sleep(1000);
    }
    menu1(m, p);
}
void savePersonFile(pn *L)
{
    FILE *fp;
    pn *p = L->next;
    if ((fp = fopen("person.txt", "r+")) == NULL)
    {
        printf("不能打开此文件,请按回车键退出\n");
        system("pause");
        exit(1);
    }
    while (p)
    {
        fprintf(fp, "%s %s %s %s\n", p->zhanghao, p->mima, p->juese, p->quanxian);
        p = p->next;
    }

fclose(fp);
}
void readPersonput(pn *L)
{
    FILE *fp;
    pn *n;
    char zhanghao[20];
    char mima[20];
    char juese[20];
    char quanxian[10];
    fp = fopen("person.txt", "a+");
    if (fp == NULL)
    {
        printf("无法打开文件!\n");
        system("pause");
        exit(0);
    }
    while (!feof(fp))
    {
        if ((EOF == fgetc(fp)) || (EOF == fgetc(fp)) || (EOF == fgetc(fp)))
            break;
        else
            fseek(fp, -3L, 1);
        fscanf(fp, "%s %s %s %s", zhanghao, mima, juese, quanxian);
        n = (pn *)malloc(sizeof(pn));
        strcpy(n->zhanghao, zhanghao);
        strcpy(n->mima, mima);
        strcpy(n->juese, juese);
        strcpy(n->quanxian, quanxian);
        ListInsert(L, n);
        n = n->next;
    }
    fclose(fp);
}
void denglu1(struct room *m, struct person *p)
{
    char b[20], c[20];
    system("cls");
    printf("请输入账号和密码:\n");
    printf("\t账号:");
    scanf("%s", b);
    if (strcmp(b, "nishizhuma?") != 0)
    {
        printf("输入账号错误。");
        Sleep(1000);
        menu(m, p);
    }
    else
    {
        printf("\t密码:");
        scanf("%s", c);
        if (strcmp(c, "woshizhu") != 0)
        {
            printf("输入密码错误!");
            Sleep(1000);
            menu(m, p);
        }
        else
        {
            system("cls");
            menu1(m, p);
        }
    }
}
void denglu2(struct room *m, struct person *p)
{
    struct person *q = p->next;
    char b[20], c[20];
    system("cls");
    printf("\t请输入账号和密码\n");
    printf("\t账号:");
    scanf("%s", b);
    while (q != NULL)
    {
        if (strcmp(q->zhanghao, b)!= 0)
        {
            printf("输入账号错误。");
            Sleep(1000);
            menu(m, p);
        }
        else
        {
            printf("\t密码:");
            scanf("%s", c);
            if (strcmp(q->mima, c) != 0)
            {
                printf("输入密码错误。");
                Sleep(1000);
                menu(m, p);
            }
            else
            {
                system("cls");
                menu2(m, p);
            }
        }
    }
}
void menu(struct room *m, struct person *p)
{
    int a;
    system("cls");
    printf("\t欢迎登录酒店客房管理系统\n");
    printf("\t请选择角色:\n");
    printf("\t1.系统管理员\n");
    printf("\t2.总台服务员\n");
    printf("\t3.退出\n");
    scanf("%d", &a);
    switch (a)//
    {
    case 1:denglu1(m, p);break;
    case 2:denglu2(m, p);break;
    case 3:
        {
            system("pause");
            exit(0);
        }
    default:
        {
            printf("\t输入不合法\n");
            Sleep(1000);//暂停1s
            menu(m,p);
            break;
        }
    }
}
void menu1(struct room *m, struct person *p)
{
    int z;
    system("cls");
    printf("\t欢迎登录系统管理员界面\n");
    printf("\t 1.用户资料打印\n");
    printf("\t 2.添加用户\n");
    printf("\t 3.删除用户\n");
    printf("\t 4.修改用户权限\n");
    printf("\t 5.返回酒店管理系统首页面\n");
    printf("\t 6.退出\n");
    scanf("%d", &z);
    switch (z)
    {
    case 1:Look(m, p);break;
    case 2:ADD(m, p);break;
    case 3:Dele(m, p);break;
    case 4:Change(m, p);break;
    case 5:menu(m, p);
    case 6:{savePersonFile(p);system("pause");exit(0);}
    default:
        {
            printf("\t输入不合法\n");
            Sleep(1000);
            menu(m,p);
            }
    }
}
void menu2(struct room *m, struct person *p)
{
    int k;
    int flag = 0;
    char c;
    int i;
    struct person *q=p->next;
    system("cls");
    while (1)
    {
        printf("\t欢迎登录总台服务员界面\n");
        printf("\t 1.登记入住功能\n");
        printf("\t 2.结账功能\n");
        printf("\t 3.查询房间功能\n");
        printf("\t 4.客房信息打印\n");
        printf("\t 5.统计功能\n");
        printf("\t 6.返回酒店客房管理系统首页面\n");
        printf("\t 7.退出\n");
        scanf("%d", &k);
        for (i = 0;q->quanxian[i]!='\0';i++)
        {
            if (k == 1)
            {    
                if (q->quanxian[i]=='1')
                {
                    flag = 1;
                    dengji(m,p);
                    break;
                }
            }
            if (k == 2)
            {
                if(q->quanxian[i] =='2')   
                {
                    flag = 1;
                    jiezhang(m, p);
                    break;
                }
            }
            if (k == 3)
            {
                if(q->quanxian[i]=='3')
                {
                    flag = 1;
                    chaxun(m, p);
                    break;
                }
            }
            if (k == 4)
            {
                if(q->quanxian[i]=='4')
                {
                    flag = 1;
                    dayin(m, p);
                    break;
                }
            }
            if (k == 5)
            {
             if(q->quanxian[i]=='5')
                {
                    flag = 1;
                    tongji(m, p);
                    break;
                }
            }    
            if(k==6)
            {
                menu(m, p);
            }
            if (k == 7)
            {
                baocun(m);
                system("pause");
                exit(0);
            }
            if (k > 6 && k <= 0)
            {
                printf("\t输入不合法\n");
                Sleep(1000);
                menu(m,p);
            }
        }
        if (flag == 0)
        {
            printf("对不起,您尚无此权限!");
            Sleep(1000);
            menu(m, p);
        }
    }
}
int main()
{
    struct person *p, *head;
    struct room *m, *hhead;
    struct room kongxian = { "NO!" };
    head = p = (struct person *)malloc(sizeof(struct person));
    hhead = m = (struct room*)malloc(sizeof(struct room));
    m->nnext = NULL;
    duqu(m);
    baocun(m);
    p->next = NULL;
    readPersonput(p);
    menu(m, p);
    savePersonFile(p);
    getchar();
    getchar();
    return 0;
}

C语言的酒店客房管理系统相关推荐

  1. java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...

    开题报告基于Java的酒店客房管理系统的设计与实现 毕业设计开题报告 课 题 名 称:基于Java的酒店客房管理系统的 设计与实现 姓 名: 班 级: 指 导 教 师: 所 在 系 部: 专 业 名 ...

  2. 小草酒店客房管理系统 免费

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

  3. (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告

     源码获取:我的博客资源页面可以下载!!!! 项目名称 (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告 视频介绍 (精品)基于Web的酒店客房 ...

  4. 基于 SpringBoot+Vue+Java 实现酒店客房管理系统

    文章目录 一.前言介绍 二.系统结构 三.系统详细实现 3.1用户信息管理 3.2会员信息管理 3.3客房信息管理 3.4收藏客房管理 3.5用户入住管理 3.6客房清扫管理 四.部分核心代码 源码下 ...

  5. 基于Java+SQLServer2017实现(Web)酒店客房管理系统【100010327】

    酒店客房管理系统 一. 概述 1.1.数据库课程设计题目 此次程序设计选题为酒店客房管理系统. 1.2.项目背景 随着社会的发展,普通人工酒店客房管理已经难以适应.酒店需要一个信息管理系统对旅客住宿情 ...

  6. 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署

    计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 本源码技术栈 ...

  7. java-php-python-桔子酒店客房管理系统计算机毕业设计

    java-php-python-桔子酒店客房管理系统计算机毕业设计 java-php-python-桔子酒店客房管理系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...

  8. 计算机毕业设计asp.net酒店客房管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目

    一.源码特点         ASP.NET C# 酒店客房管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqls ...

  9. 小草酒店客房管理系统 v2.61 单机/网络版 bt

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

  10. SpringBoot+Vue实现酒店客房管理系统

    文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...

最新文章

  1. 奇点云发布三大无人零售终端产品,“云”“端”结合赋能零售商
  2. 如何入门论文阅读综述小解答
  3. graphpad做折线图坐标轴数字_多组数据制作折线图,四步让你的图表实用又美观,老板看了都说好...
  4. linux环境双网卡主机路由配置
  5. Android 优化电池使用时间——确定和检测网络状态
  6. 创建macOS 启动安装盘
  7. lr常用的几个函数(不完整)
  8. Linux yum安装
  9. 20155227第十二周课堂实践
  10. NLP硬核入门-Seq2Seq和Attention机制
  11. 【论文翻译】Image Super-Resolution Using Deep Convolutional Networks
  12. 远程桌面命令是什么 如何使用命令连接远程桌面
  13. 下载百度个性地图瓦片
  14. c语言统计单词平均长度,C++ 字符数组 - 统计一段英文单词的平均长度
  15. gitlab 添加了 ssh keys, git clone git@xxx:xx.git 无法拉取的解决思路及办法
  16. python求相关系数_python 求相关系数
  17. 很多人在Google Play商店购买或下载APP时出现问题,例如在你新安装的系统恢复APP或想要安装心愿单中的APP时,Play商店出现不能加载等错误,这实在是太烦人了。 所以,我通过搜索,把可
  18. 2022年5月信息系统项目管理师3科真题和答案解析 —— 后感
  19. WPF圆角按钮及触发背景变更_se7en3_新浪博客
  20. oracle中带有in查询的子查询绑定变量方式

热门文章

  1. Android 分贝测试仪功能,华为移动终端开发
  2. matlab lte rsrp,为什么选择 FieldFox 手持式分析仪?- 更宽带宽,更高精度
  3. java生成背景透明的png图片_关于Java生成背景透明的png图片
  4. 特朗普启动美国AI国家计划,人工智能角逐再添新变化!
  5. R可视化绘图二-ggplot2
  6. 3DGIS城市规划信息管理系统
  7. PLC 有哪几种常用编程语言
  8. 计算机软件需求说明编制指南gb/t 9385-2008,GBT 9385-2008 计算机软件需求说明编制指南.pdf...
  9. Windows7 445端口漏洞
  10. 软件的高可用性、可扩展性和高性能