資源簡介
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?
{
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個文件信息
評論
共有 條評論