C语言的酒店客房管理系统
- 这是我之前用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语言的酒店客房管理系统相关推荐
- java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...
开题报告基于Java的酒店客房管理系统的设计与实现 毕业设计开题报告 课 题 名 称:基于Java的酒店客房管理系统的 设计与实现 姓 名: 班 级: 指 导 教 师: 所 在 系 部: 专 业 名 ...
- 小草酒店客房管理系统 免费
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告
源码获取:我的博客资源页面可以下载!!!! 项目名称 (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告 视频介绍 (精品)基于Web的酒店客房 ...
- 基于 SpringBoot+Vue+Java 实现酒店客房管理系统
文章目录 一.前言介绍 二.系统结构 三.系统详细实现 3.1用户信息管理 3.2会员信息管理 3.3客房信息管理 3.4收藏客房管理 3.5用户入住管理 3.6客房清扫管理 四.部分核心代码 源码下 ...
- 基于Java+SQLServer2017实现(Web)酒店客房管理系统【100010327】
酒店客房管理系统 一. 概述 1.1.数据库课程设计题目 此次程序设计选题为酒店客房管理系统. 1.2.项目背景 随着社会的发展,普通人工酒店客房管理已经难以适应.酒店需要一个信息管理系统对旅客住宿情 ...
- 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署
计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 本源码技术栈 ...
- java-php-python-桔子酒店客房管理系统计算机毕业设计
java-php-python-桔子酒店客房管理系统计算机毕业设计 java-php-python-桔子酒店客房管理系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...
- 计算机毕业设计asp.net酒店客房管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
一.源码特点 ASP.NET C# 酒店客房管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqls ...
- 小草酒店客房管理系统 v2.61 单机/网络版 bt
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- SpringBoot+Vue实现酒店客房管理系统
文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...
最新文章
- 奇点云发布三大无人零售终端产品,“云”“端”结合赋能零售商
- 如何入门论文阅读综述小解答
- graphpad做折线图坐标轴数字_多组数据制作折线图,四步让你的图表实用又美观,老板看了都说好...
- linux环境双网卡主机路由配置
- Android 优化电池使用时间——确定和检测网络状态
- 创建macOS 启动安装盘
- lr常用的几个函数(不完整)
- Linux yum安装
- 20155227第十二周课堂实践
- NLP硬核入门-Seq2Seq和Attention机制
- 【论文翻译】Image Super-Resolution Using Deep Convolutional Networks
- 远程桌面命令是什么 如何使用命令连接远程桌面
- 下载百度个性地图瓦片
- c语言统计单词平均长度,C++ 字符数组 - 统计一段英文单词的平均长度
- gitlab 添加了 ssh keys, git clone git@xxx:xx.git 无法拉取的解决思路及办法
- python求相关系数_python 求相关系数
- 很多人在Google Play商店购买或下载APP时出现问题,例如在你新安装的系统恢复APP或想要安装心愿单中的APP时,Play商店出现不能加载等错误,这实在是太烦人了。 所以,我通过搜索,把可
- 2022年5月信息系统项目管理师3科真题和答案解析 —— 后感
- WPF圆角按钮及触发背景变更_se7en3_新浪博客
- oracle中带有in查询的子查询绑定变量方式
热门文章
- Android 分贝测试仪功能,华为移动终端开发
- matlab lte rsrp,为什么选择 FieldFox 手持式分析仪?- 更宽带宽,更高精度
- java生成背景透明的png图片_关于Java生成背景透明的png图片
- 特朗普启动美国AI国家计划,人工智能角逐再添新变化!
- R可视化绘图二-ggplot2
- 3DGIS城市规划信息管理系统
- PLC 有哪几种常用编程语言
- 计算机软件需求说明编制指南gb/t 9385-2008,GBT 9385-2008 计算机软件需求说明编制指南.pdf...
- Windows7 445端口漏洞
- 软件的高可用性、可扩展性和高性能