|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2007-12-08, 04:58 PM | #1 |
註冊會員
|
討論 - c++作業請幫幫我
-------------------- 閱讀本主題的最佳解答 -------------------- 計程車跳錶,前二公里80元, 偶後每0.5公里加5元 超過30公里以後再打八折 請寫一程式,讓使用者輸入金額 計算他可以坐多遠的車 (用到while ,if ) |
送花文章: 30,
|
向 vp6662 送花的會員:
|
飛鳥 (2007-12-10)
感謝您發表一篇好文章 |
2007-12-09, 11:47 AM | #2 (permalink) |
榮譽會員
|
語法:
#include<stdio.h> #include<stdlib.h> int main(){ float money,mile; printf("請輸入你的車資:\n"); scanf("%f",money); if(money<80){printf("抱歉!你的車資不夠:\n");} if(money=80){ mile=2; printf("你可以坐公里%f",mile);} if(money >80){ mile=2; money=money-80; while(money<=0){ money=money-5; mile=mile+0.5; if(mile>30){ money=money-4; mile=mile+0.5;}}} printf("你可以坐公里%f",mile); system("PAUSE"); return 0; } 但不知如何不能編譯 可否會的人看一下 |
__________________ |
|
送花文章: 1110,
|
向 猜謎人 送花的會員:
|
飛鳥 (2007-12-10)
感謝您發表一篇好文章 |
2007-12-10, 12:15 PM | #3 (permalink) |
註冊會員
|
小弟的寫法 很新手 ="=
#include <iostream>
using namespace std; int main() { float n; float m=2; cout <<"請輸入搭乘預算:\n"; cin >> n ; while(((((n*1.25)-80)/5)*0.5)+m >= 30 ) //判斷預算是否可達30公里 for( n = n*1.25-80; n > 0 ; n-=5){ m += 0.5;} //以打八折的金額去計算基本上跟下面的一樣 n -= 80 ; for( n; n > 0; n -= 5 ){ //預算沒有到達30公里的loop m += 0.5; } cout <<"您的預算只可以搭乘"<< m <<"公里\n "; return 0; } 小弟用途手只驗算了三個情況 一個是剛剛好跑了30公里要多少錢 以及160塊跟100塊的情況 如果有錯請糾正一下 因為已經翹課了 還沒去想給零錢時要怎麼辦 且總感覺寫的還不夠好 敢去上課先~ |
送花文章: 0,
|
2007-12-10, 03:43 PM | #4 (permalink) |
管理版主
|
遇到這種問題
先把變數設定好 錢是 N 跑幾公里是 x 計價單位 y 每單位花多少錢 n 暫存變數 tmp 再來是先寫外圈 while (N>0) { x=x+y; N=N-n; } 接著再在圈內寫條件及改寫 語法:
if (N>=80) { //必須至少有 80元 /* 前面是2公里內,每公里 80元,題指個人是這麼解釋,如有誤那這一段就要改了*/ y=1; n=80; while (N>0) { x=x+y; if (x>2) { x=2; break; //離開 while 迴圈 } //試算是否可以跑下一個單位 tmp=N-n; if (tmp>0) { N=tmp; //扣款成立 }else { x=x-y; //錢變負的,之前跑得y公里要扣回 break; } } //第一段的 while迴圈結尾 if (x>=2) { //需跑到2公里才可套用以下算式 /* 後面是以每0.5公里 加5元來算,*/ y=0.5; n=5; while (N>0) { x=x+y; //試算是否可以跑下一個單位 tmp=N-n; if (tmp>0) { N=tmp; //扣款成立 }else { x=x-y; //錢變負的,之前跑得y公里要扣回 打折副程式; break; } if (打折副程式==1) break; } } //第二段的 while迴圈結尾 } int 打折副程式() { if (x>=30) { //試算 是否還有錢可以跑 0.5公里 tmp=N*0.8; //八折 if ((N-tmp)<5) { //至少要剩五元 N=tmp; 打折副程式=1; } } } 此帖於 2007-12-10 03:58 PM 被 mini 編輯. |
送花文章: 2016,
|
向 mini 送花的會員:
|
vp6662 (2007-12-10)
感謝您發表一篇好文章 |
2007-12-11, 07:07 AM | #12 (permalink) |
管理版主
|
猜大是用Dev-C++來寫的嗎??
預設開的檔是要用C++來寫喔 看猜大寫的語法是C 在下是用File -> New Project,再選C 貼上猜大的內容 Compile後再Run是ok的 |
__________________ ♪我的噗浪 ♪我的blog ‧MEGA免空建議使用Firefox或Chrome瀏覽器下載 ‧檔案若有問題請PM告知,回覆在討論串中我不見得能即時發現 ‧解壓縮前請確定檔案下載完全,解壓密碼用複製貼上,請勿自行輸入 ‧影片播放有聲無影、有影無聲等問題,請安裝K-Lite Codec Pack解碼包 |
|
送花文章: 2656,
|
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
請幫幫我....... | hihiju | 一般電腦疑難討論區 | 3 | 2003-09-06 12:26 AM |
懂得人請幫幫我!!!!! | Elegance | 一般電腦疑難討論區 | 2 | 2003-08-22 12:41 PM |
請幫幫我嗎?我outlook的檔案打不開! | wei123 | 一般電腦疑難討論區 | 2 | 2003-04-20 02:12 PM |
請問各位可否推薦我一兩個中文軟體序號網站??請幫幫我^^ | cougar | 一般電腦疑難討論區 | 2 | 2003-03-27 09:57 AM |
會寫 VB 的,真的請幫幫我 | xjapan520 | 軟體應用問題討論區 | 10 | 2003-01-04 06:16 PM |