住宿结帐管理系统Word格式文档下载.docx

上传人:b****5 文档编号:21501328 上传时间:2023-01-30 格式:DOCX 页数:24 大小:28.67KB
下载 相关 举报
住宿结帐管理系统Word格式文档下载.docx_第1页
第1页 / 共24页
住宿结帐管理系统Word格式文档下载.docx_第2页
第2页 / 共24页
住宿结帐管理系统Word格式文档下载.docx_第3页
第3页 / 共24页
住宿结帐管理系统Word格式文档下载.docx_第4页
第4页 / 共24页
住宿结帐管理系统Word格式文档下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

住宿结帐管理系统Word格式文档下载.docx

《住宿结帐管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《住宿结帐管理系统Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。

住宿结帐管理系统Word格式文档下载.docx

8、系统源代码…………………………………12

试验目的:

(1)加深对C语言的理解,将在书本上掌握的知识点运用到实际的系统编程中去,为以后的学习打下基础。

(2)通过简单的系统设计,增强面对复杂问题的处理能力,为以后实际中解决问题打下基础。

实验内容:

试设计一个住宿结帐管理系统,住宿结帐管理信息包括:

住宿信息的录入修改、删除功能;

住宿信息的排序浏览功能;

系统总体模块图:

主程序模块

信息保存模块

按住宿房间号码查询模块

按住宿天数查询模块

按住宿天数浏览模块

信息统计模块

信息删除模块

信息修改模块

信息读取模块

信息录入模块

按住房间号码浏览模块

按房间号码排序模块

按住宿天数排序模块

小组任务分工

(1)由郭凌瑞负责住宿信息的录入、修改、删除功能;

(2)由张亮负责文件的读取与写入操作,统计及主函数;

(3)由方宇负责排序、浏览、查询功能;

子系统设计方案:

信息的录入、修改与删除通过对信息的标志的判断与修改,执行信息录入的地址、修改的目标及删除功能的实现。

文件的读取与写入可用已知的库函数来完成,统计工作可由已有信息通过计算获得,主函数可由swith语句来达到菜单选折功能的目的。

(3)信息的排序、浏览、查询;

排序功能可通过冒泡法来实现,浏览实现排序然后显示即可,查询时,根据“==”来达到找到匹配信息的目的。

子系统主要程序流程图

N为所有房间数,NN为非空房间数

信息读取模块流程图

开始

0=>

i

i+1=>

i<

N?

N

Y

P[i].flang==1?

N

输入一个信息P[i]

1=>

P

[i].flang

NN+1=>

NN

i==N-1?

“y”or“n”

输入信息房间已满

结束

信息修改模块流程图

输出所有住宿信息

输入修改的房间号n

i,NN=>

j

n==0?

Y

j--

Y

P[i].Rome==n?

重新输入该信息P[i]

j==0?

未找到要修改的信息

信息删除模块流程图

输入要删除的房间号n

N

P[i].flang

未找到要删除的信息

输入删除的房间号n

结束

按住宿时间查询模块

输入要查询的日期(年月日)

i<

N?

日期是否相等

N

输出要查询的信息P[i]

j==0?

未找到要查询的信息

按房间号码查询模块

输入要查询房间号码no

房间号码是否相等

个人设计小结及心得体会:

(1)在我设计的子系统部分,包含很多细节问题,如果稍有不慎,往往导致模块无法运行,在设计中,我尝试了很多方法,对思维能力有了很大锻炼,提高了解决复杂问题的能力,同时,也很大程度上锻炼了耐心,做到不急不弃是系统最终成功的保证。

计053郭凌瑞

(2)我的工作比较简单,但在书写代码时,发现了自己的问题:

文件无法顺利操作!

文件是很重要的一个知识点,很兴庆在这次实践中我及时弥补了以前的缺憾,为以后的继续学习和面对复杂问题打下了坚实的基础,问题在实践中才能被更好地发现和解决,在今后的学习中要更加重视实践的作用!

软051张亮

(3)在我设计的模块中,主要是对已有信息的处理,对排序算法有了一个新的认识,从深层次理解了排序函数的思想,突破了以前是似而非的局限。

查询模块的书写,注意了很多细节,使模块在整体上有了很大优化,给了用户一个人性化的界面。

软052方宇

小组设计总结:

本次课程设计,我们做了一个简单管理系统,系统的功能较以前的小程序有了很大加强,对个人及团队的能力有了更大的要求,事实上,在本次课设中的确出现了很多以前没有遇到的问题,这是一次自我提高的过程,从中我们弥补了以前遗漏的很多东西,使自己的知识结构更加完善和牢固;

同时,这也是一次实践的机会,是增加面对复杂问题处理经验的机会,对以后做一些比较大的系统有一定的借鉴。

在本次试验的整个过程中,组员之间的合作起到了很大作用,共同解决了很多关键性难题,最终,在我们的共同努力下,我们的第一个系统正常运行了,巨大成就感促使我们有一种挑战更高目标的欲望!

#include<

stdio.h>

string.h>

#defineN3//总房间数

intNN=0;

//非空房间数

//类定义区

structDate{//入住时间

intyear;

intmonth;

intday;

};

structPayroll{//顾客信息列表

intflang;

//用来标志该顾客信息是否存在

charName[15];

//顾客姓名

Datedate;

//入住时间

intRome;

//房间号

intNumber;

//顾客数量

intPrice;

//每日价格

intDays;

//住宿天数

floatDiscountrate;

//折扣率

floatMoney;

//实收金额

//子函数声名区

voidImput(PayrollP[],FILE*fp);

//结帐信息的录入

voidRead(PayrollP[],FILE*fp);

//结账信息的读取

voidSave(PayrollP[],FILE*fp);

//信息保存为文件

voidReput(PayrollP[],FILE*fp);

//结账信息的修改

voidDelete(PayrollP[],FILE*fp);

//结账信息的删除

voidStat(PayrollP[],FILE*fp);

//信息统计

voidTimeread(PayrollP[],FILE*fp);

//按住宿天数浏览

voidRomenumber(PayrollP[],FILE*fp);

//按住宿房间浏览

voidTime(PayrollP[],FILE*fp);

//按住宿天数查询

voidRome(PayrollP[],FILE*fp);

//按住宿房间查询

voidDAY(PayrollP[],FILE*fp);

//按住宿天数排序

voidROME(PayrollP[],FILE*fp);

//按房间号码排序

//以下为主函数

voidmain()

{

FILE*fp;

structPayrollP[N];

fp=fopen("

accout.dat"

"

ab+"

);

intselect;

Read(P,fp);

//从文件中读取结账信息

printf("

*******************住宿结账管理系统***************\n\n"

~~~~~~~~~~~~~~~~~~~~欢迎使用本系统!

~~~~~~~~~~~~\n\n"

===============菜单===============\n"

"

请选择:

\n"

1--添加新信息\n"

2--修改信息\n"

3--删除信息\n"

4--统计信息\n"

5--按住宿天数浏览\n"

6--按住宿天数查询\n"

7--按放房间号码浏览\n"

8--按房间号码查询\n"

9--退出\n"

scanf("

%d"

&

select);

while(select!

=9)//没有退出本系统时,循环提示操作

{

switch(select)

case1:

Imput(P,fp);

//信息录入

break;

case2:

Reput(P,fp);

//修改信息

break;

case3:

Delete(P,fp);

//删除信息

break;

case4:

Stat(P,fp);

//统计信息

case5:

Timeread(P,fp);

case6:

Time(P,fp);

case7:

Romenumber(P,fp);

//按放房间号码浏览

case8:

Rome(P,fp);

//按房间号码查询

}

\n\n"

请选择要进行的操作:

//每完成一次操作选折下一次操作

"

Save(P,fp);

//将本次系统运行结果保存为文件

谢谢使用,再见!

}

//子函数定义区

voidImput(PayrollP[],FILE*fp)//结帐信息的录入

inti;

charch;

姓名入住时间房间顾客数量每日价格住宿天数折扣率\n"

printf("

=============================================\n"

for(i=0;

N;

i++)

{

if(P[i].flang!

=1)//避免覆盖已有信息

scanf("

%s%d%d%d%d%d%d%d%f"

P[i].Name,&

P[i].date.year,

&

P[i].date.month,&

P[i].date.day,&

P[i].Rome,&

P[i].Number,

P[i].Price,&

P[i].Days,&

P[i].Discountrate);

P[i].flang=1;

//标示已存信息

NN++;

P[i].Money=P[i].Days*P[i].Discountrate*P[i].Price;

if(i==N-1)

printf("

是否继续录入?

(yorn)"

getchar();

ch=getchar();

if(ch!

='

n'

姓名入住时间房间顾客数量每日价格住宿天数折扣率\n"

======================================\n"

else

break;

if(i==N-1)

printf("

抱歉,所有房间已满!

voidSave(PayrollP[],FILE*fp)//信息保存为文件

if(P[i].flang==1)

fwrite(&

P[i],sizeof(structPayroll),1,fp);

fclose(fp);

voidRead(PayrollP[],FILE*fp)//结账信息的读取

fread(&

voidReput(PayrollP[],FILE*fp)//结账信息的修改

intn,j=NN;

charch;

姓名住宿时间房间顾客数量每日价格住宿天数折扣率实收金额\n"

=========================================================================\n"

if(P[i].flang==1)

%8s%6d%3d%3d%10d%8d%8d%8d%8.2f%8.2f\n"

P[i].Name,

P[i].date.year,P[i].date.month,P[i].date.day,P[i].Rome,P[i].Number,

P[i].Price,P[i].Days,P[i].Discountrate,P[i].Money);

请输入要修改的房间号(输入零结束修改!

):

scanf("

n);

while(n!

=0)

if(P[i].Rome==n)

{

确认要修改吗?

getchar();

ch=getchar();

if(ch=='

y'

{

请重新输入该信息:

===========================================================\n"

P[i].date.year,&

P[i].date.day,

P[i].Number,&

P[i].Price,

P[i].Money=P[i].Days*P[i].Discountrate*P[i].Price;

}

else

continue;

}

else

j--;

}

else

continue;

if(j==0)

没有找到要修改的内容!

请确认后再输入!

):

voidDelete(PayrollP[],FILE*fp)//住宿信息的删除

inti,n;

intk=NN,j=NN;

intNO=NN;

姓名入住时间房间顾客数量每日价格住宿天数折扣率实收金额\n"

=============================================================================\n"

%8s%6d%3d%3d%10d%6d%8d%8d%8.2f%8.2f\n"

P[i].Name,P[i].date.year,P[i].date.month,P[i].date.day,

P[i].Rome,P[i].Number,P[i].Price,P[i].Days,

P[i].Discountrate,P[i].Money);

请输入要删除的房间号(输入零结束删除!

{

{

printf("

确认要删除吗?

if(ch=='

if(k==1)//此时删除所有住宿信息

for(i=0;

P[i].flang=0;

NO--;

P[i].flang=0;

//删除该项内容

k--;

else

}

j--;

if(k==0)

if(j==0)

没有找到要删除的内容,请确认!

scanf("

}

NN=NO;

voidTimeread(PayrollP[],FILE*fp)//按天数浏览

{

//Read(P,fp);

DAY(P,fp);

姓名入住时间房间顾客数量每日价格

住宿天数折扣率实收金额\n"

============================================

=======================\n"

voidRomenumber(PayrollP[],FILE*fp)//按住宿房间浏览

inti,j=NN;

ROME(P,fp);

姓名入住时间房间顾客数量每日价格

住宿天数折扣率实收金额\n"

================================================

=================\n"

%8s%6d%3d%3d%8d%6d%8d%8d%8.2f%8.2f\n"

voidStat(PayrollP[],FILE*fp)//信息统计

inti,n=N;

intSumperson=0;

//总人数

floatSum=0;

//总收入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1