安徽工业大学c语言程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return cs->ID;
}
int get_room_num(struct Guest *cs)
{
return cs->room_num;
}
int get_day(struct Guest *cs)
{
return cs->day;
}
int get_prepaid(struct Guest *cs)
void data(); //更新删除系统
void book();//订房
void ruzhu();//入住
void tuifang();//退房
void search();//查询
int i=0,t=0;
struct Room //定义房间的结构体
{
int dank;
int price;
int num;
cin>>&account;
if(account=='1')
{
int k;
for(k=0;k<80;k++)
{
if(room[k].num==get_room_num(guest[j]))
room[k].state=0;
}
i--;
for(;j<i;j++)
{
guest[j]=guest[j+1];
}
break;
}
}
break;
case 2: cout<<"住房的总费用:"<<day*70;
for(n=20;n<40;n++)
{
if(room[n].state==0)
{
cout<<"住宿的房间为"<<room[n].num;
room[n].state=2;
set_room_num(guest[i],room[n].num);
break;
case 3:
cout<<"顾客的房间号是"<<room_num<<"为标准间,每天80元"<<endl;
cout<<"该顾客预付了房费"<<get_prepaid(guest[j])<<"元"<<"实际消费"<<day2*60<<"元整!"<<endl;
if(day>0)
cout<<"请退给该顾客"<<day*80<<"元整!"<<endl;
{switch(b)
{
case 1: book(); break;
case 2: search(); break;
case 3: data(); break;
case 4: tuifang(); break;
case 5: master();break;}
cout<<"继续使用本系统请按1,退出请按2"<<endl;
break;
}
}
break;
case 4: cout<<"住房的总费用:"<<day*60;
for(n=60;n<80;n++)
{
if(room[n].state==0)
{
cout<<"住宿的房间为"<<room[n].num;
room[n].state=2;
set_room_num(guest[i],room[n].num);
if(day<0)
cout<<"请补收该顾客住房费"<<-day*80<<"元整!"<<endl;
break;
case 4:
cout<<"顾客的房间号是"<<room_num<<"为总统套房,每天500元"<<endl;
cout<<"该顾客预付了房费"<<get_prepaid(guest[j])<<"元"<<"实际消费"<<day2*60<<"元整!"<<endl;
{
int n;
case 1: cout<<"住房的总费用:"<<day*60;
for(n=0;n<20;n++)
{
if(room[n].state==0)
{
cout<<"住宿的房间为"<<room[n].num;
room[n].state=2;
set_room_num(guest[i],room[n].num);
cout<<"欢迎来到安徽工业大学F#233宾馆!!! "<<endl;
cout<<" ******************************** "<<endl;
cout<<"进入系统请选择1,退出请选择2!"<<endl;
cin>>a;
if(a==1)
cout<<"欢迎进入系统管理系统!!!"<<endl;
安徽工业大学计算机学院
2015年11月
正文格式参考:
课题: 宾馆管理系统
一、需求分析
描述问题。建立宾馆管理信息系统,包括宾馆内的客房信息、订房信息、结算信息等,客房信息为客房编号、客房类型、客房位置、客房单价和备注信息等;订房信息为客房编号、客房种类、顾客姓名、顾客身份证号码、入住时间等;结算信息为客房编号、客房种类、客房单价、顾客姓名、顾客身份证号码、入住日期、结算日期、折扣、价格等
break;
}
}
break;
case 3: cout<<"住房的总费用:"<<day*80;
for(n=40;n<60;n++)
{
if(room[n].state==0)
{
cout<<"住宿的房间为"<<room[n].num;
room[n].state=2;
set_room_num(guest[i],room[n].num);
if(1==a)
{
int j,k=0;
cout<<"下列房间没人住:"<<endl;
for(j=0;j<80;j++)
{if(room[j].state==0)
{
if(k%10==0)
cout<<room[j].num;//这里出现了一点问题自己无法调试
cout<<"该顾客预付了房费"<<get_prepaid(guest[j])<<"元"<<"实际消费"<<day2*60<<"元整!"<<endl;
if(day>0)
cout<<"请退给该顾客"<<day*70<<"元整!"<<endl;
if(day<0)
cout<<"请补收该顾客住房费"<<-day*70<<"元整!"<<endl;;
二、总体设计
(程序设计组成框图、流程图)
三、详细设计
这次的实验是以C语言为基本基础写成的程序设计,以vc6.0作为编译环境,在其中采用了调用函数,指针,链表等知识点,在下面的源代码中用了结构体Guest来定义用户的几个变量,包括姓名,性别,身份证号码等等,同时也定义调用了这样的几个函数,第一个是输入客户信息的函数,Create(),第二个是正对查询信息说对应的函数Find(),在这个函数里面,用switch进行选择具体查找的信息,包括姓名,入住时间,房号等等,第三个是更新用户信息,包括Alter()和Delete,修改客户信息和直接删除客户信息,第四个就是退房结算功能。
cout<<"请输入该顾客实住天数:"<<endl;
cin>>day2;
for(j=0;j<i;j++)
{
if((strcmp(get_name(guest[j]),name2)==0)&&(strcmp(get_ID(guest[j]),id2)==0))
{
char account;
room_num=get_room_num(guest[j]);
int state;
};
struct Guest //定义顾客的结构体
{
char name[20];
char ID[20];
int room_num;
int day;
int change;
int prepaid;
};
void set_name(struct Guest *cs, char *n)
{
strcpy(cs->name,n);//把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
if(day>0)
cout<<"请退给该顾客"<<day*500<<"元整!"<<endl;
if(day<0)
cout<<"请补收该顾客住房费"<<-day*500<<"元整!"<<endl;;
break;
}
cout<<"退房核算清楚,请按1: "<<endl;
fflush(stdin);//用来清空输入缓存,以便不影响后面输入的东西
cs->prepaid = cs->change = cs->day = 0;
}
void book()
{ int room_,day;
guest[i] = (struct Guest*)malloc(sizeof(struct Guest));//分配一个大小为结构体stu的大小的空间
GGuest(guest[i]);
{
cs->day=d;
}
void set_prepaid(struct Guest *cs, int p)
{
cs->prepaid=p;
}
char *get_name(struct Guest *cs)
{
return cs->name;
}
char *get_ID(struct Guest *cs)
{
cout<<"请选择您所需要的房间的类型:"<<endl;
cout<<"1.单人间60/天2.双人间70/天3.标准间80/天4.总统套房500/天"<<endl;
cin>>room_;
cout<<"请输入住宿的天数:"<<endl;
cin>>day;
set_day(guest[i],day);
switch(room_)
fflush(stdin);
cin>>d;
}
cout<<endl;
}
return 0;}
void GGuest(struct Guest *cs)
{
cout<<"请您输入顾客的姓名"<<endl;
cin>>cs->name;
cout<<"请您输入顾客的身份证号码"<<endl;
cin>>cs->ID;
standard=room_num/100;
day1=get_day(guest[j]);
day=day1-day2;
switch(standard)
{
case 1:
cout<<"顾客的房间号是"<<room_num<<"为单人间,每天60元"<<endl;
cout<<"该顾客预付了房费"<<get_prepaid(guest[j])<<"元"<<"实际消费"<<day2*60<<"元整!"<<endl;
}
void set_ID(struct Guest *cs, char *p)
{
strcpy(cs->ID,p);
}
void set_room_num(struct Guest *cs, int n)
{
cs->room_num=n;
}
void set_day(struct Guest *cs, int d)
if(day>0)
cout<<"请退给该顾客"<<day*60<<"元整!"<<endl;
if(day<0)
cout<<"请补收该顾客住房费"<<-day*60<<"元整!"<<endl;;
break;
case 2:
cout<<"顾客的房间号是"<<room_num<<"为双人间,每天70元"<<endl;
break;
}
}
break;
}
i++;t++;
}
void tuifang() //退房
{
char name2[10],id2[19];
int standard,j,room_num,day1,day2,day;
cout<<"请输入要退房的顾客姓名和身份证号码:"<<endl;
cin>>name2>>id2;
while(d=1)
{cout<<"进入信息管理选择项目:1.登记并打印客户信息;2.查询信息;3.更新(增加删除);4.退房结算;5.管理!"<<endl;
cout<<"请做出相应的选择,谢谢!";
cin>>b;
if((b>5)||(b<1))
相关文档
最新文档