最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言實(shí)現(xiàn)酒店管理系統(tǒng)

 更新時(shí)間:2020年03月07日 12:00:08   作者:林西相心  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)酒店管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

代碼如下:

#include<bits/stdc++.h> 
#include<conio.h>
#include <windows.h>
#include<string.h>
#include<time.h> 
#define NUM 1000 //控制房間個(gè)數(shù)
int j;
void LoginRoom();//登記房屋
void SearchRoom();//搜尋房屋
void ChangeRoom();//更換住房
void OutRoom();//退房
void save();//保存信息
void load();//載入信息
//struct Total
struct Total
{
 char Name[20];
 int Sex;
 int Age;
 char IDcard[18];
 int hour;
 
 int xx;
int yy;
int zz;

}; 
struct room
{
 int RoomID;
 char Tel[11];
 long Price;
 int Sign;
 int feiyong;
 //struct Date Datesum;
 struct Total Totallist;
 }Room[NUM];
// 將房間個(gè)數(shù)寫入信息

void LoginRoom() //登記,注冊(cè)客房信息函數(shù)
{
 int i,n,k;
 n=0;
system("cls");
 printf("    用戶登記\n");
 for(k=0;k<=1000;k++)
 {
 printf("請(qǐng)輸入客房號(hào):\n");
 scanf("%d",&i);
 if(Room[i-1].Sign==1)
{
 printf("對(duì)不起,該房間已入住,請(qǐng)重新輸入。\n");
 Sleep(160); //延時(shí)160幀
 system("cls");//清屏
return; //返回原函數(shù)
 }
 if(n==5)
 {
 printf("\n請(qǐng)查詢清楚客房入住信息后再來登記,謝謝");
 Sleep(1500); //時(shí)間延時(shí)1.5秒 
 system("cls");//清屏
 return ;
 }
 if(Room[i-1].Sign!=1)
 break;
 }
 printf("房間號(hào):%d\n",i);
 printf("客戶姓名:");
 scanf("%s",(char *)&Room[i-1].Totallist.Name);
 printf("性別(1.男 2.女):\n");
 
 scanf("%d",&Room[i-1].Totallist.Sex); 
 if(Room[i-1].Totallist.Sex>2){
 printf("信息錯(cuò)誤,請(qǐng)重新輸入");
 LoginRoom();

 } 
 printf("年齡:\n");
 scanf("%d",&Room[i-1].Totallist.Age);
 if(Room[i-1].Totallist.Age<18){
 printf("未到國(guó)家法定開房年齡,禁止開房\n");
 printf("請(qǐng)重新輸入");
LoginRoom();
 }

 printf("身份證號(hào)碼:\n");
 scanf("%s",&Room[i-1].Totallist.IDcard); //判斷身份證信息 
 if(strlen(Room[i-1].Totallist.IDcard)!=18){
 printf("信息錯(cuò)誤");
 LoginRoom();
}


 printf("聯(lián)系電話:");
scanf("%s",&Room[i-1].Tel);
 printf("入住時(shí)間:");
 scanf("%d %d %d",&Room[i-1].Totallist.xx,&Room[i].Totallist.yy,&Room[i].Totallist.zz);

 printf("住房時(shí)長(zhǎng):");
 scanf("%d",&Room[i-1].Totallist.hour);

 printf("請(qǐng)選擇套房(1.總統(tǒng)套房(300/小時(shí))\n2.雙人房(200/小時(shí))\n3.單人房(100/小時(shí))\n4.特價(jià)房(40/小時(shí)))\n");
 scanf("%d",&Room[i-1].feiyong); //////
 Room[i-1].RoomID=i;
 switch(Room[i-1].feiyong){
 case 1:Room[i-1].Price=(Room[i-1].Totallist.hour)*300;break;
 case 2:Room[i-1].Price=(Room[i-1].Totallist.hour)*200;break;
 case 3:Room[i-1].Price=(Room[i-1].Totallist.hour)*100;break;
 case 4:Room[i-1].Price=(Room[i-1].Totallist.hour)*40;break;
 }
 Room[i-1].Sign=1;
 save();
 printf("恭喜,入住成功!!\n要返回首頁(yè)嗎?(1:Y,0:N)");
 scanf("%d",&j);
 if(j==0)
 {
 LoginRoom();
 }
 system("cls");
}

void save() //將客房入住信息保存到文件中
{
 int i;
 FILE *fp;
if((fp=fopen("data.txt","w"))==NULL)
 {
 printf("無法打開文件\n");
return;
 }
 fwrite(Room,sizeof(struct room),NUM,fp);
 printf("文件寫入完成\n");
 fclose(fp);
}

void save1() //將客房入住信息保存到文件中
{
 
 FILE *fp;
 if((fp=fopen("date.txt","w"))==NULL)
 {
 printf("無法打開文件\n");
 return ;
 }

fwrite(Room,sizeof(struct room),NUM,fp);
// gets(Room,sizeof(struct room),NUM,fp);
 //fputs(Room,sizeof(struct room),NUM,fp);

 printf("文件寫入完成\n");
 fclose(fp);
}

void load() //從文件中讀取客房入住信息
{     
FILE *fp;
int i;
 if((fp=fopen("date.txt","r"))==NULL)
 {
 printf("不能打開文件\n");
 return ;
}
 for(i=0;!feof(fp);i++)  //讀取文檔,從零開始直到結(jié)束 feof()函數(shù)
    //文檔的結(jié)尾都有一個(gè)隱藏字符”EOF”,
 {    //當(dāng)程序讀取它的時(shí)候,就會(huì)知道文件已經(jīng)到達(dá)結(jié)尾。通常使用while循環(huán)加EOF判斷作為讀取結(jié)束的標(biāo)志。
fread(&Room[i],sizeof(struct room),1,fp);  //sizeof實(shí)際上是獲取了數(shù)據(jù)在內(nèi)存中所占用的存儲(chǔ)空間,以字節(jié)為單位來計(jì)數(shù)
   // 讀取文檔,存儲(chǔ)信息
 }
fclose(fp);  //結(jié)束工作
 system("cls");
 printf("文件讀取成功\n");
}

void SearchRoom() //查詢客房信息
{
 int k;
 system("cls");
 printf("    查詢客房信息\n");
printf("請(qǐng)輸入要查詢的房間號(hào)碼:\n");
scanf("%d",&k);
if(k<=0||k>1000)
{
 printf("對(duì)不起,未能查到任何信息。\n");
 printf("請(qǐng)重新輸入");
 SearchRoom();  //重新調(diào)用
 }

 if(Room[k-1].Sign==1)  
 {
 printf("姓名:%s\n",Room[k-1].Totallist.Name);

 if(Room[k-1].Totallist.Sex==1)
 {
 printf("性別:男\(zhòng)n");
 }
else
{
 printf("性別:女\n");
 }

 printf("客戶年齡:%d\n",Room[k-1].Totallist.Age);
 printf("身份證號(hào):%s\n",Room[k-1].Totallist.IDcard);
 printf("聯(lián)系電話:%s\n",Room[k-1].Tel);
 printf("入住時(shí)間:%d/%d/%d\n",Room[k-1].Totallist.xx,Room[k-1].Totallist.yy,Room[k-1].Totallist.zz);
 printf("入住時(shí)長(zhǎng):%d\n",Room[k-1].Totallist.hour);
 switch(Room[k-1].feiyong){
 case 1:printf("總統(tǒng)套房(300/小時(shí))\n");break;
 case 2:printf("雙人房(200/小時(shí))\n");break;
 case 3:printf("單人房(100/小時(shí))\n");break;
 case 4:printf("特價(jià)房(40/小時(shí))\n");break;
 }
 
 printf("費(fèi)用:%ld\n",Room[k-1].Price);
 }


 else
 {
 system("cls");
 printf("很抱歉,沒有找到該房間登記的相關(guān)信息!!\n");
 }
 printf("要返回首頁(yè)嗎?(1:Y,0:N)");
 scanf("%d",&j);
 if(j==0)
 {
 SearchRoom();
 }
 system("cls");
}

void ChangeRoom() //修改客房入住信息
{
 int i,n;
system("cls");
 printf("   修改客房信息\n");
 printf("請(qǐng)輸入房間號(hào):\n");
 scanf("%d",&i);
 if(Room[i-1].Sign==1)
 {
 printf("\t1.修改客戶姓名\n");
 printf("\t2.修改客戶性別\n");
 printf("\t3.修改客戶年齡\n");
 printf("\t4.修改住房時(shí)間\n");
 printf("\t5.修改住房時(shí)長(zhǎng)(續(xù)住)\n");
 printf("\t6.修改客戶電話號(hào)碼\n");
 printf("\t7.修改客戶身份證號(hào)\n");
 printf("請(qǐng)輸入要修改的項(xiàng):");
 scanf("%d",&n);
 switch(n)
 {
 case 1:scanf("%s",(char *)&Room[i-1].Totallist.Name);
 break;
 case 2:scanf("%d",&Room[i-1].Totallist.Sex);
break;
 case 3:scanf("%d",&Room[i-1].Totallist.Age);
 break;
 case 4:scanf("%d %d %d",&Room[i-1].Totallist.xx,&Room[i-1].Totallist.yy,&Room[i-1].Totallist.zz);
 break;
case 5:
 scanf("%d",&Room[i-1].Totallist.hour);
 break;

 switch(Room[i-1].feiyong){
 case 1:Room[i-1].Price=(Room[i-1].Totallist.hour)*300;break;
 case 2:Room[i-1].Price=(Room[i-1].Totallist.hour)*200;break;
 case 3:Room[i-1].Price=(Room[i-1].Totallist.hour)*100;break;
 case 4:Room[i-1].Price=(Room[i-1].Totallist.hour)*40;break;
 }

 break;
 case 6:scanf("%s",(char *)&Room[i-1].Tel);
 break;
 case 7:scanf("%s",(char *)&Room[i-1].Totallist.IDcard);
break;
 default:printf("輸入錯(cuò)誤,請(qǐng)從新選擇");
 break;
 }
 save();
 printf("修改成功!");
 }
 else
{
 system("cls");
 printf("該房間為空房!!\n");
}
printf("\n要返回首頁(yè)嗎?(1:Y,0:N)");
scanf("%d",&j);
 if(j==0)
 {
 ChangeRoom();
 }
 system("cls");
}

void OutRoom() //退房函數(shù)
{
 int i,j;
 system("cls");
 printf("    退房管理系統(tǒng)\n");
 printf("請(qǐng)輸入房間號(hào):\n");
 scanf("%d",&i);
 printf("確認(rèn)要退%d號(hào)房嗎?(1:Y/0:N)",i);
 scanf("%d",&j);
 if(j==1)
 {
if(Room[i-1].Sign==1)
 {
 Room[i-1]=Room[101];
 save();
 system("cls");
 printf("退房成功\n");
 }
else
 {
 system("cls");
 printf("該房間為空房\n");
 }
 }
printf("要返回首頁(yè)嗎?(1:Y,0:N)");
 scanf("%d",&j);
 if(j==0)
 {
 OutRoom();
 }
system("cls");
}

void FreeRoom() //查詢客房整體入住信息
{
 int f,sum;
sum=0;
 system("cls");
 printf("   客房入住信息\n");
 for(f=0;f<NUM;f++)
 {
 if(Room[f].Sign==1)
 {
 printf("%d號(hào)房已入住\n",f+1);
 sum=sum+1;
 }
 }
 printf("\n總共總共1~1000號(hào)房間中有%d個(gè)房間已入住,剩余%d個(gè)房間為空房。 \n",sum,NUM-sum);
printf("要返回首頁(yè)嗎?(1:Y,0:N)");
 scanf("%d",&j);
 if(j==0)
 {
 FreeRoom();
}
 system("cls");
}


void Ser()
{
char sy[7];
int i=0;
printf("\n\n\n\t\t\t 請(qǐng)輸入七位密碼\n\n\n\t\t\t ");
do
{
sy[i++]=getch();
printf("*");
}while(i!=6);
sy[i]='\0';
if(strcmp(sy,"strong")!=0)
{
system("cls");
printf("\n\n\n\t\t\t抱歉,您輸入的密碼有誤,請(qǐng)?jiān)俅屋斎?\n\n\n");
printf("\t ⊙-------------------☆☆☆-------------------⊙\n\n");
Ser();
}
}


void show(){

 printf(" ********************************************************************************\n");
 printf(" ************************歡迎使用客房登記系統(tǒng)************************************\n");
 printf("|    1.--登記客房     |\n");
 printf("|    2.--查詢客房     |\n");
 printf("|    3.--修改客房     |\n");
 printf("|    4.--退房管理     |\n");
 printf("|    5.--顯示當(dāng)前所有空房    |\n");
 printf("|    6.--退出系統(tǒng)     |\n");
 printf("|*******************************************************************************|\n");
 
 printf("|*******************************************************************************|\n\n");


}
void logtime(char c,int n,int s)
{
int i;
for(i=0;i<n;i++)
{
printf("%c",c);
Sleep(s);
}
}

int main()//主函數(shù)
{
 int i,j;
Ser();
system("mode con cols=82");
printf("\n\n\t\tloging");
logtime('.',6,200);
 system("color 3f");
 load();
 system("cls");
 for(j=0;j<NUM;j++) //為房間狀態(tài)賦值為0,當(dāng)有人入住時(shí),其值改變?yōu)?
 {
 Room[j].RoomID=j+1;
 }
do //菜單欄
{
printf("\n");

 show();

 printf("輸入需要選擇的功能:");
 scanf("%d",&i);
switch(i) //通過輸入相應(yīng)數(shù)字調(diào)用不同函數(shù)進(jìn)行相應(yīng)工作
 {
 case 1:LoginRoom();
 break;
 case 2:SearchRoom();
 break;
 case 3:ChangeRoom();
 break;
 case 4:OutRoom();
 break;
 case 5:FreeRoom();
 break;
 case 6:printf("謝謝使用客房登記系統(tǒng),正在退出..........\n退出成功,按任意鍵關(guān)閉程序!!\n");
 break;
 default:
 printf("\n 輸入錯(cuò)誤,請(qǐng)從新選擇\n");
 break;
 }
}
 while(i!=6);
 return 0;
}

更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++中的對(duì)象指針總結(jié)

    C++中的對(duì)象指針總結(jié)

    以下是對(duì)C++中的對(duì)象指針進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-10-10
  • 深入分析C++中聲明與定義的區(qū)別

    深入分析C++中聲明與定義的區(qū)別

    C++學(xué)了這么多年你知道為什么定義類時(shí),類的定義放在.h文件中,而類的實(shí)現(xiàn)放在cpp文件中。它們?yōu)槭裁茨軌蜿P(guān)聯(lián)到一起呢?你知道什么東西可以放在.h文件中,什么不能。什么東西又可以放在cpp文件中。如果你忘記了或是壓根就不明白,那么讀過此文你會(huì)清晰無比??!
    2014-09-09
  • C++趣味算法之偵探推理

    C++趣味算法之偵探推理

    本文詳細(xì)講解了C++趣味算法之偵探推理,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • C++17之std::visit的具體使用

    C++17之std::visit的具體使用

    本文主要介紹了C++17之std::visit的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C語(yǔ)言高效編程的幾招小技巧

    C語(yǔ)言高效編程的幾招小技巧

    這篇文章主要介紹了C語(yǔ)言高效編程的幾招小技巧,本文講解了以空間換時(shí)間、用數(shù)學(xué)方法解決問題以及使用位操作等編輯技巧,并給出若干方法和代碼實(shí)例,需要的朋友可以參考下
    2015-05-05
  • C++實(shí)現(xiàn)教師管理系統(tǒng)

    C++實(shí)現(xiàn)教師管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)教師管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語(yǔ)言輸出任意邊長(zhǎng)的菱形

    C語(yǔ)言輸出任意邊長(zhǎng)的菱形

    大家好,本篇文章主要講的是C語(yǔ)言輸出任意邊長(zhǎng)的菱形,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 文件編譯時(shí)出現(xiàn)multiple definition of ''xxxxxx''的具體解決方法

    文件編譯時(shí)出現(xiàn)multiple definition of ''xxxxxx''的具體解決方法

    以下是對(duì)文件編譯時(shí)出現(xiàn)multiple definition of 'xxxxxx'的解決方法進(jìn)行了詳細(xì)的分析介紹,如也遇到此問題的朋友們可以過來參考下
    2013-07-07
  • Opencv基于CamShift算法實(shí)現(xiàn)目標(biāo)跟蹤

    Opencv基于CamShift算法實(shí)現(xiàn)目標(biāo)跟蹤

    這篇文章主要為大家詳細(xì)介紹了Opencv基于CamShift算法實(shí)現(xiàn)目標(biāo)跟蹤,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語(yǔ)言算法積累加tag的循環(huán)隊(duì)列

    C語(yǔ)言算法積累加tag的循環(huán)隊(duì)列

    這篇文章主要為大家介紹了C語(yǔ)言算法積累加tag的循環(huán)隊(duì)列的解題思路,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評(píng)論

阳曲县| 栾城县| 嘉祥县| 万年县| 松潘县| 重庆市| 玉环县| 陆川县| 上栗县| 上栗县| 南城县| 封丘县| 宁化县| 永嘉县| 西乌珠穆沁旗| 龙胜| 黄梅县| 股票| 江津市| 浦城县| 安徽省| 清徐县| 米易县| 安国市| 桐庐县| 余江县| 峨山| 兴城市| 吉林省| 蛟河市| 龙山县| 巴南区| 奇台县| 阜阳市| 土默特左旗| 自贡市| 雅安市| 慈利县| 沙湾县| 伽师县| 河曲县|