资源简介
linux内核分析实验 模拟宾馆房间预订系统,主要利用进程间通信和共享内存
代码片段和文件信息
#include
#include
#include
#include “hotel.h“
using namespace std;
#define MAX_OP 20 //最多操作个数
#define MAX_ROOM 128 //房间最大数目
room::room()
{
room_NO= -1 ;
res_info=new list;
}
bool room::can_reserved(class date start_dateint dayslist::iterator &loca)
{
list::iterator ij;
if(res_info->empty())
{
loca=res_info->begin();
return true;
}
class date end_date(start_date.monthstart_date.day);
end_date.add(days);
i=res_info->begin();
j=i; j++;
if(i->start_date.compareTo(end_date)>0)
{
loca=i;
return true;
}
while(j!=res_info->end() && i->end_date.compareTo(start_date) < 0)
{
if(j->start_date.compareTo(end_date)>0 )
{
loca=j;
return true;
}
else
{
i++; j++;
}
}
if(j==res_info->end() && i->end_date.compareTo(start_date) < 0)
{
loca=j;
return true;
}
return false;
}
bool room::addreserve(class date start_dateint dayschar name[50]list::iterator loca)
{
class date end_date(start_date.monthstart_date.day);
end_date.add(days);
struct reserved_info resinf;
resinf.days=days;
resinf.end_date=end_date;
resinf.start_date=start_date;
strcpy(resinf.namename);
res_info->insert(locaresinf);
}
bool room::search(class date start_dateint dayschar name[50]list::iterator &ite)
{
list::iterator i=res_info->begin();
while(i!=res_info->end())
{
if(strcmp(i->namename)==0 && i->start_date.month=start_date.month &&
i->start_date.day=start_date.day && i->days=days)
{
ite=i;
return true;
}
i++;
}
return false;
}
bool room::search_by_name(char name[50])
{
list::iterator i=res_info->begin();
bool flag=false;
while(i!=res_info->end())
{
if(strcmp(i->namename)==0)
{
flag=true;
printf(“check result:%s reserve NO.%d from %d.%d for %ddays \n“nameroom_NO
i->start_date.monthi->start_date.dayi->days);
}
i++;
}
return flag;
}
///////////////////////////////////////////////////
bool hotel::init_hotel(vector&vec)
{
roomnum = vec.size() ;
for ( int i = 0 ; i < vec.size() ; i++ )
{
rooms[i].room_NO = vec[i] ;
}
return true ;
}
int hotel::location_room ( int room_NO )
{
for ( int i = 0 ; i
{
if ( rooms[i].room_NO == room_NO )
return i ;
}
return -1 ;
}
bool hotel::do_request (char name[50] struct op cusop )
{
sleep(cusop.op_time/1000);//模拟操作时间
if( !check_data(cusop.start_date.monthcusop.start_date.month) )
{
printf(“%s %s from %d.%d for %ddays **Error:date error \n“namecusop.op_type
cusop.start_date.monthcusop.start_date.daycusop.days);
return false;
}
if(strcmp(cusop.op_type“reserve“)==0)
{
int loca=location_room(cusop.room_NO);
if(loca==-1)
{
printf(“%s reserve NO.%d from %d.%d for %ddays **Error:no this room \n“namecusop.room_NO
cusop.start_date.monthcusop.start_date.daycusop.days);
return false;
}
list:
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 37376 2012-07-24 15:21 09智能linux\!!-Project_Desc
文件 147867 2012-07-28 19:18 09智能linux\1.png
文件 376 2012-07-28 19:13 09智能linux\1.txt
文件 376 2012-07-28 18:43 09智能linux\1.txt~
文件 135983 2012-07-28 19:18 09智能linux\2.png
文件 10133 2012-07-26 18:24 09智能linux\hotel .c
文件 10132 2012-07-26 18:19 09智能linux\hotel .c~
文件 12721 2012-07-28 19:13 09智能linux\hotel.c
文件 12721 2012-07-28 19:10 09智能linux\hotel.c~
文件 3058 2012-07-28 19:13 09智能linux\hotel.h
文件 3463364 2012-07-28 19:19 09智能linux\hotel.h.gch
文件 2950 2012-07-28 18:49 09智能linux\hotel.h~
文件 51452 2012-07-28 19:19 09智能linux\hotel.o
文件 42673 2012-07-28 19:19 09智能linux\lxy
文件 2120 2012-07-28 19:19 09智能linux\main.c
文件 2130 2012-07-28 19:13 09智能linux\main.c~
文件 11780 2012-07-28 19:19 09智能linux\main.o
文件 370 2012-07-28 17:08 09智能linux\makefile
文件 342 2012-07-26 21:28 09智能linux\makefile~
文件 13707 2012-07-24 15:20 09智能linux\mytest.c~
文件 3361 2011-07-21 22:57 09智能linux\my_sv_ipc.c
文件 1882 2012-07-26 17:35 09智能linux\my_sv_ipc.h
文件 1533392 2012-07-28 19:19 09智能linux\my_sv_ipc.h.gch
文件 1885 2012-07-25 13:50 09智能linux\my_sv_ipc.h~
文件 3012 2012-07-28 19:19 09智能linux\my_sv_ipc.o
文件 523 2012-07-28 20:33 09智能linux\readme.txt
..AD... 0 2012-07-28 20:39 09智能linux
----------- --------- ---------- ----- ----
5505686 27
............此处省略0个文件信息
相关资源
- 宇视相机linux32位SDK
- 基于嵌入式Linux与S3C2410平台的视频采
- mibbrowser for linux
- linux(centos)系统安全snort——搭建入
- xilinx的fpga+pcie数据采集卡,包括linu
- 南阳理工学院Linux聊天室课程设计
- source insight3.5+许可证号
- 基于ARM和Linux的嵌入式视频采集存储系
- linux系统移植嵌入式linux系统:内核、
- ncurses-5.9
- readline-5.2
- linux下libtinfo.so.5函数!!!!
- openldap-2.4.39源码
- SElinux:使用安全增强的Linux2--selinux
- Linux设备驱动程序第三版.pdf
- linux ramdisk.gz
- sac-101.4 for linux
- UNIX环境高级编程中文版文字版带目录
- 操作系统Linux课程总结
- RedHat 6 X64位下安装Informatica 9.5.1
- Linux Kernel Networking: Implementation and Th
- Linux+C编程一站式学习.chm
- cdlinux 无线网卡 驱动和安装教程
- linux知识点--思维导图文件xmind原件
- (自学笔记)最全嵌入式Linux学习手册
- Eclipse 搭建ARM Lniux 内核驱动开发环境
- Linux Kernel Development 3rd Edition - Robert
- 传智播客linux-sys.zh.pdf
- 大数据分析离线项目
- 马哥linux手写笔记
评论
共有 条评论