趣味新聞網 logo



題目:請撰寫一個自動訂位係統來替航空公司安排飛機座位 你的程式應列齣下列選單以供選擇:Please type 1 for “first class"Please type 2 f ... c語言問題 c語言問題 - 趣味新聞網


題目:請撰寫一個自動訂位係統來替航空公司安排飛機座位 你的程式應列齣下列選單以供選擇:Please type 1 for “first class"Please type 2 f ... c語言問題  c語言問題


發表日期 2008-05-21T00:16:58+08:00



     趣味新聞網記者特別報導 : 題目:請撰寫一個自動訂位係統來替航空公司安排飛機座位,你的程式應列齣下列選單以供選擇:Please type 1 for “first class"Please type 2 f ... c語言問題 .....


     題目:
請撰寫一個自動訂位係統來替航空公司安排飛機座位,你的程式應列齣下列選單以供選擇:
Please type 1 for “first class"
Please type 2 for “economy"
如果你鍵入1你的程式應幫他安排頭等艙(座位1-5) ,如果鍵入2程式應幫他安排經濟艙(座位6-10) ,然後你的程式應印齣此位旅客的座位號碼。
請使用一維陣列錶示飛機的座位錶,當座位為空時對應的陣列元素設定為零,每劃一個機位後相對應的陣列元素設定為一;你的程式不允許重復劃位,當頭等艙或經濟艙客滿時,你應詢問旅客是否改換成經濟艙或頭等艙,如果他不要即印齣訊息
"Next flight leaves in 3 hours.";當座位都客滿時,你的程式應印齣訊息
" All seats for this flight are sold."
以下是我寫的程式:
請各位高手幫我看看哪裏寫錯瞭
我每次依輸入1就會直接跳到Are you change to economy ?(y/n)

#include <stdio.h>
#include <stdlib.h>
#define seat_number 10
int main(int argc, char *argv[])
{
int type1,i=0;
char type2;
int seats[seat_number];

while(1>0){
printf("Please type 1 for first class ");
printf("Please type 2 for economy ");
scanf("%d",&type1);
if(type1 == 1){
for(i=0;i<=4;i++){
if(seats==0){
seats=1;
printf("Your seat number is %d, your seat type is firstclass.",i);
break;
}
else if(seats!=0){
printf("Are you change to economy ?(y/n) ");
scanf("%c",&type2);
if(type2=='y'||type2=='Y'){
for(i=6;i<=10;i++){
seats[seat_number]=1;
printf("Your seat number is %d, your seat type is economy. ",i+1);
break;
}
}
}
}

}
else{
for(i=5;i<=9;i++){
seats=1;
printf("Your seat number is %d, your seat type is economy. ",i+1);
break;
}
}
}


system("PAUSE");
return 0;
}


謝謝各位大大

分享鏈接



看最新新聞就到趣味新聞網
quweinews.com
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

if(seats==0){
         seats=1;
seats is an array, you should change it to seats.......

不对不对!
你想想看i每次都是从0开始,此时倘若经济舱第一个位置有人了,此时i=0的时候 并不会执行到break对吧!? 所以呢? 按照你的写法 程式会跳到else if(seats!=0){} 这行 所以你才会 因为这时候的seat[0]!=0 所以他会问你是否要换位置,所以...我想在你分配位置之前 就应该先做"该class 是否还有座位"的动作.如果没有就要询问"是否变更class"的动作
if(type1 == 1){           
    for(i=0;i<=4;i++){     
      if(seats==0){
         seats=1;
         printf("Your seat number is %d, your seat type is firstclass.",i);
         break;
      }
      else if(seats!=0){                      <====只要第一个位置有人 就会每次都跳来这边


还有 你忽略一件事情! 按照你的写法 倘若 旅客输入的type是2 但是豪华仓的位置已经满了
你似乎没有询问他是否要换经济舱的机制吧?
补充说明! 我想建议你用主程式 唿叫副程式的方法来写 这样比较不会乱!

[ 本帖最后由 turelove1106 于 2008-5-21 11:59 编辑 ]


给你参考参考...你可以增加防呆功能啦 好比说 预防输入1和2以外的数字
我用C++写滴!
#include "stdafx.h"
#include <iostream>
using namespace std;


void Economy_class(int seat[])
{
  for(int i=0;i<=4;i++)
  {
    if(seat==0)
    {
      seat=1;
      cout<<"your seat is [economy number]:"<<i+1<<" "<<endl;
      break;
    }
  }
}

void First_class(int seat[])
{
  for(int i=5;i<=9;i++)
  {
    if(seat==0)
    {
      seat=1;
      cout<<"your seat is [First-class number]:"<<i+1<<" "<<endl;
      break;
    }
  }
}

int check_seat(int a,int seatnum[]) //检查是否还有位置,如果满了就询问是否要换class
{
  char answer;
  int full=0;
  if(seatnum[4]==1 && seatnum[9]==1)
  {
    cout<<"All seats for this flight are sold."<<" "<<endl;
    full=1;
    return full;
  }
  if(a==1&&seatnum[4]==1)//economy 都满了
  {
    cout<<"Sorry!! Economy is Full! Do you want to change class to first-class?(Y/N) "<<endl;
    cin>>answer;
    if(answer=='y'||answer=='Y')//economy满了 且愿意换到first_class
    {
      First_class(seatnum);
    }
    else
    {
      cout<<"Next flight leaves in 3 hours."<<endl;
    }  
  }
  if(a==2 && seatnum[9]==1)
  {
    cout<<"Sorry!! first-class is Full! Do you want to change class to economy?(Y/N) "<<endl;
    cin>>answer;
    if(answer=='y'||answer=='Y')
    {
      Economy_class(seatnum);
    }
    else
    {
      cout<<"Next flight leaves in 3 hours."<<endl;
    }  
  }

  
}

int _tmain(int argc, _TCHAR* argv[])
{
  int i,class_type,seat[10]={0};
  while (1)
  {
    cout<<"Welcome to our order seat system!"<<endl;
    cout<<"press 1 to order Economy class, or press 2 to order first-class cabin==>"<<endl;
    cin>>class_type;
    int full = check_seat(class_type,seat);

    if(full!=1)
     {
        if(class_type==1)
        {
        Economy_class(seat);
        }
        if(class_type==2)
        {
        First_class(seat);
        }
      }
   }
}



tag

相关新聞

c語言小問題??

    1. 産生10個亂數 介於正10到負10之間 2. f(x)=5x+3 3. 12* 16 的最大公因數和最小公倍數 還有質數如何求?? 以上的問題要用C++語言寫   謝謝高手你 [ 本帖最後由 mayday03225 於 2008-12-.......


c語言要如何轉換成組閤語言

    請問c語言專換成組閤語言 有甚麼竅門嗎? 我不太懂組閤語言的寫法 [ 本帖最後由 mayday03225 於 2008-11-8 14:26 編輯 ].......


d9遊戲映像檔轉D5?

    小弟前幾天在某處下載瞭D9的遊戲映像檔(MDF) 想請問有辦法將他轉成D5的格式,或者是分成兩片D5燒下來嗎? 我有看到有人分享D5版本的,查看種子內容有好幾個壓縮檔 我又不想重下....(容量很大啊....) 所以請問有辦法轉檔嗎@@ [ .......


dev-C++ 抓取時間的問題

    我想問一下我想用C++寫一個抓取現在電腦時間, 然後可以一直更新,而不是抓取一次就停住瞭,顯示在dos畫麵的時間最好是一直 更著電腦同步更新,就是 電腦時間 11.28 那dos畫麵可以顯示1128或是11.28 電腦時間 11.29 那dos畫麵.......


diamond喇叭ㄉ問題

    我剛拿到我ㄉdiamond 通話時 不使用擴音喇叭 直接在耳邊接聽 音質清晰 沒有問題 但是如果使用擴音喇叭 即便音量已經調到最大 聲音還是非常虛無飄渺 當然 如果以手圍住手機上方ㄉ擴音喇叭孔 聲音會比較聚集 但是 總覺得不是辦法 不知道有沒有人跟我.......


diamond的msn可以視訊通話嗎

    有一個問題請教有經驗的大大 如果我將touch diamond連接電腦上網  我可以順利使用msn和朋友打字聊天 請問有沒有辦法進行視訊聊天ㄋ 鑽石機不是有30萬畫素的視訊鏡頭嗎 可以綁這個當作視訊攝影機來用嗎 還是這個視訊鏡頭隻能用來做視訊電話的.......


dopod 838 pro換殼問題

    一事想請教網友 我的手機是國外版的dopod 838 pro,他的按鍵配置和CHT9000差不多 可是又有些不同 想要請教高手們 如果我買瞭CHT9000的外殼,可不可以順利更換我現在的手機外殼呢?.......


dopod828一問...

    買迴來大約一年半 期間發生過滿多次 "備用電池電力嚴重不足"訊息 但事實上...我主電源都還沒見底阿... 原本電量顯示的畫麵 會有上下兩條 後麵各標註百分比 ex: 主電池: 剩餘電池電量:   _________________.......


dreamweaver 的 mouse over 和 mouse out

    小弟我設瞭apdiv1 和apdiv2 當鼠標碰到 div1 時 原本隱藏的 div2 顯示    鼠標離開div1 時 div2隱藏 但有個問題 我的鼠標還在 div1 裏麵移動   但div2 卻一下隱藏一下顯示   請問一下各位高手.......


driveway/免註冊/免讀秒/單檔500MB

driveway/免註冊/免讀秒/單檔500MB

    本帖最後由 李斯特霍華 於 2009-8-31 12:13 編輯 本文章以審核 driveway/免註冊/免讀秒/單檔500MB 遊客,如果您要查看本帖隱藏內容請迴覆!請點擊“迴覆按鈕”查看隱藏內容!迴覆 請使用感謝作者代替迴文!!.......


dvd rw格式化

    請問如何將空白DVD RW格式化 感謝 [ 本帖最後由 rickhsu 於 2008-6-16 22:55 編輯 ].......


dvd影片問題

    想請問各位大大 小弟的dvd影片 大概七G多 內容如下 VIDEO_TS VTS_01_0 VTS_01_1 VTS_01_2 VTS_01_3 VTS_01_4 VTS_01_5 VTS_01_6 VTS_01_7 VTS_01.......


dvd聲音太小聲

    請問一下 我邊有片dvd是我以前燒的dvd 但現在看覺得聲音太小聲瞭 請問有什麼辦法可以不要破壞他的畫質.. 把它變得大聲然後再重燒一片dvd呢? [ 本帖最後由 李斯特霍華 於 2008-12-15 17:40 編輯 ].......


dvd音效為dts,無法轉成vcd

    最近下載一部DVD其音效為DTS,本想把它轉成VCD或Avi以節省空間卻有影無聲 ,用avicodec查看顯示未支援此音效(但能撥放),想請教各位高手該如何解決?謝謝 [ 本帖最後由 ching1652 於 2008-8-6 00:14 編輯 ].......


dv的短片撥放問題??

    1.在dv上看是沒問題的,但是燒到dvd時有些片段就隻有聲音沒有影像.(撥放程式是medio play) 2.dvd燒錄後也無法作串聯撥放. [ 本帖最後由 流星的諾言 於 2008-9-21 07:06 編輯 ].......


endnote有中文程式嗎?

    endnote有中文程式嗎?我在網路上都沒看到,誰能告訴我是否有endnote中文程式嗎? [ 本帖最後由 ss055045 於 2008-8-6 20:18 編輯 ].......


excel 製作課錶??

    我將資料打進EXCEL 是這樣 編號 課程名稱 時間               地點 老師 星期 01 ㄅㄅ   10:00~12:00  A110    TT      一 02 ㄆㄆ   16:00~18:00  A111     BB   .......


excel單位換算運用!!

    如圖示 我想要請問一下那位大大 可以幫我解決一下 我在公尺欄位中如果輸入瞭1000然後按下 開始計算 那公分欄位中會齣現100000 那如果我在公分欄位中輸入瞭1000然後按下 開始計算 那公分欄位中會齣現10 怎麼樣讓兩個欄位都可以互相轉換 .......


excel快速鍵功能一問?

    請問高手excel一快速鍵的用法: 如何將工作錶1的某區塊,復製貼上在工作錶2上,工作錶1的數值或文字變動時,工作錶2也跟著變動,性質類似貼上一張圖片的概念,有誰能為我解答告訴我? -----------------------------------.......


excel的問題?

    求助各位大: 我使用excel的增益集內的條件式加總功能. 在設定範圍及條件後,無法在新的儲存格內, 隻能用文字錶示,無法秀齣數字,睏擾,不知該如何是好 請各位大大,幫忙解決. 感激不盡. [ 本帖最後由 tone.chang 於 2008-8-13 14:17 編輯 ].......


excel裏的下拉式選單如何修改呢?

    各位高手救命呀 。。。。   附檔的excel檔裏的分頁calculator裏有下拉式的選單,   請問我該如何修改選單內的文字呢?   因為是參考用的資料,還滿急的,所以要麻煩各位,感激不盡。。。 [ 本帖最後由 tone.chang 於 .......


execl 2007疑問

    剛安裝完offices2007 但excel 找不到巨集在哪裏? 請知道的大大解惑一下 [ 本帖最後由 tone.chang 於 2008-6-17 22:58 編輯 ].......


execl 2個工作頁比對問題?

    各位大大我有個問題不知道EXECL能不能將2頁的數值作比較 當有一頁其中一個值改變就會自動上色?用格色化的條件"用公式行嗎" 例如 : 有SHEET1 和 SHEET 2內都是有一樣的數值 範圍是 A1 ~H20...當SHEET1 的數值有變.........


explorer.exe發生問題,必須關閉

explorer.exe發生問題,必須關閉

    我在打開某個資料夾時 就會齣現 點選錯誤報告時 齣現的是 ModName :這裏顯示的是divxdec.ax 是不是代錶是divx跟sp2有衝突? 我應該要怎麼解決比較好呢 或是divx要怎麼移除 電腦使.......


explorer.exe造成CPU100%

    我有一颱電腦 一開機explorer.exe就會造成CPU跑到50~100%之間 我把explorer.exe 結束處理程序, 我在新增explorer.exe工作, 結果過一下子, explorer.exe還是讓CPU跑到100%, .......


fast xp 9.0的相關問題

    我想請問各位大大,我目前有fast xp 9.0 cd版,但是他的cd版有兩片阿!! 我要怎麼將兩片便成一片的係統安裝光碟呢?? 感謝各位的解答 發文請看一下Windows 係統版 發問規則 http://ck101.com/forums/threa.......


fedora8 部份字體是亂碼

    如題要怎麼解決 要如何在linux底下讀取windows 的軟體 例如office 遊戲 能否給我詳細教學 我是菜鳥 [ 本帖最後由 degit 於 2008-8-20 22:38 編輯 ].......


fedora9 無法下載套件

    fedora9 無法下載套件 他齣現no network connecting available 但是可以正常上網 不支要如何解決 [ 本帖最後由 degit 於 2008-8-20 22:38 編輯 ].......


fedora、centOS 支援NTFS嗎?

    如標題所問的問題 我想請問fedora 到幾版纔有內建支援ntfs (重新編核心不算喔!!) 還有centOS 要幾版纔有呢?! centOS 我用的是5.2版~~~ 可是好像也沒有內建支援ntfs呢? 因為我插入ntfs的usb碟,抓不到 .......


flashget下載BT時的問題?

    不知道為什麼有時候使用flashget下載bt時,在瀏灠網頁時就連結不齣去 可是隻要把flashgte的任務停下,瀏灠網頁就恢復正常瞭 可是這種情況隻是"有時候"會發生,可是就是很麻煩要把flashget停停開開的 請問各位有什麼解決辦法,或者.......


flash按鈕如何用鍵盤控製

    這程式 http://ittheone.ws/paly_frame_section_01.rar 我如何設成用鍵盤控製按鈕 比如按下鍵盤的 A 會執行  95 那按鈕 按下鍵盤的 S 會執行  99 那按鈕 請大大指導 感謝 [ 本帖.......


fluke es2 pro 網路分析儀

    這是一個很smart的工具 這颱設備真的很利害,它是走unix os的,真的很棒 。 [ 本帖最後由 mayday03225 於 2008-11-14 23:32 編輯 ].......


foobar cue題

    cue檔案不可撥放請問不知從何修改?謝謝! APE檔名: CDImage.ape CUE檔名: CDImage.cue ____________________________________________ 資訊 (CORE) : 啓動時間:31.......


foobar2000播放問題!!!

    在下下載瞭無損因樂像TTA和APE裏麵都會有一個至三個的CUE幾K而已!! 有些TTA或APE的CUE點她都能播放音樂,有些就沒有任何動作隻能點TTA和APE纔會播放!! 但直接點APE和TTA都是全部一起播的,請問是我本版太就瞭嗎(我是9.4..的).......


foobar2000無法播放TAK的檔案

    請問TAK是我用錯播放程式嗎???還是.....有彆的問題! TAK是剛抓下來的音樂檔案,和無損音樂檔案一樣的問題又跑齣來瞭!! [ 本帖最後由 degit 於 2008-7-12 19:51 編輯 ].......


foobar開日文歌麯的問題

    foobar開日文或者是簡體 他會齣現標簽有無效字元 請問如何解決 謝謝 無法利用AppLocale解決! foobar版本為0.8.3 [ 本帖最後由 流星的諾言 於 2008-9-15 10:32 編輯 ].......


freegrab的問題,煩請高手入內救命!

    ZS空間最近好像都不能載瞭說~不知道是齣瞭甚麼問題@@ 不是說颱灣IP已經不會擋瞭嗎... 但是我想下載都不行~"~ 還是因為版本問題阿!?有勞高手大大救命指導! [ 本帖最後由 李斯特霍華 於 2008-12-10 15:30 編輯 ].......


frpntpage的問題 ..

    因為 以前這颱電腦都沒有用過fprntpage所以不知道是不是這颱 以前這颱電腦都沒有用過fprntpage所以不知道是不是這颱電腦的問題 但是 最近因為要做作業瞭 纔在這颱電腦上安裝瞭frontpage 但是 我準備要編輯首頁時 他錯跑齣一個視.......


garmin mobile xt 地圖

    我剛在 HD 上灌好颱灣地圖... 請問我可以用同樣的破解方式將美國地圖也灌上去嗎? 這樣檔案復蓋完颱灣的會不見嗎? 有沒有人試過ㄚ?.......


geforce6600顯示器參數相關問題

geforce6600顯示器參數相關問題

    geforce6600顯示器參數相關問題 不曉得要去哪各地方問  所以來這各地方哦  希望有好得結果 想請教各位大大一各小小問題 就是 geforce6600顯示器 進階參數設定的相關名詞 這是小弟老闆想知道的 也是老闆給我的題目 小弟就靠各位利害大大的教導囉 如附件 圖片圈起來的地方 各代錶什麼意思?? [ 本帖最後由 degit 於 2008-7-11 18:51 編輯 ].......




金像奬戲院賣座位 2個40萬

台灣微軟Hour of Code年度活動開跑

你坐到瞭嗎?小心買到比經濟艙更爛的「墊底艙」機票!

華航新總座張有恆:3年內拚進前10大最佳航空

他無傢可歸卻總是能免費搭頭等艙!秘密究竟是什麼?


前一篇新聞
c語言 s = p*(1+r)^n
后一篇新聞
c語言小問題??





© 2024 - quweinews.com. All Rights Reserved.
© 2024 - quweinews.com. 保留所有權利