史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2007-12-08, 04:58 PM   #1
vp6662
註冊會員
榮譽勳章

勳章總數
UID - 272875
在線等級: 級別:2 | 在線時長:12小時 | 升級還需:9小時級別:2 | 在線時長:12小時 | 升級還需:9小時
註冊日期: 2007-07-06
文章: 25
精華: 0
現金: 35 金幣
資產: 35 金幣
預設 討論 - c++作業請幫幫我



--------------------
閱讀本主題的最佳解答
--------------------


計程車跳錶,前二公里80元,
偶後每0.5公里加5元
超過30公里以後再打八折
請寫一程式,讓使用者輸入金額
計算他可以坐多遠的車
(用到while ,if )
vp6662 目前離線  
送花文章: 30, 收花文章: 2 篇, 收花: 2 次
回覆時引用此帖
向 vp6662 送花的會員:
飛鳥 (2007-12-10)
感謝您發表一篇好文章
舊 2007-12-09, 11:47 AM   #2 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設



語法:
#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;
}
我的邏輯如此
但不知如何不能編譯
可否會的人看一下
__________________
http://i171.photobucket.com/albums/u287/sad_jellyfish/net-pic/s_zpsf91b1q3t.jpghttp://i171.photobucket.com/albums/u287/sad_jellyfish/gif/banner.gifhttp://i171.photobucket.com/albums/u287/sad_jellyfish/gif/kkk_zps3punatke.gif
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
向 猜謎人 送花的會員:
飛鳥 (2007-12-10)
感謝您發表一篇好文章
舊 2007-12-10, 12:15 PM   #3 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 283728
在線等級: 級別:2 | 在線時長:15小時 | 升級還需:6小時級別:2 | 在線時長:15小時 | 升級還需:6小時
註冊日期: 2007-10-25
文章: 34
精華: 0
現金: 56 金幣
資產: 56 金幣
預設 小弟的寫法 很新手 ="=

#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塊的情況
如果有錯請糾正一下 因為已經翹課了
還沒去想給零錢時要怎麼辦 且總感覺寫的還不夠好 敢去上課先~
a19870504 目前離線  
送花文章: 0, 收花文章: 6 篇, 收花: 14 次
回覆時引用此帖
有 2 位會員向 a19870504 送花:
vp6662 (2007-12-10),飛鳥 (2007-12-10)
感謝您發表一篇好文章
舊 2007-12-10, 03:43 PM   #4 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時
註冊日期: 2002-12-07
文章: 13261
精華: 0
現金: 26261 金幣
資產: 3024071 金幣
預設

遇到這種問題
先把變數設定好
錢是 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 編輯.
mini 目前離線  
送花文章: 2001, 收花文章: 7962 篇, 收花: 26757 次
回覆時引用此帖
向 mini 送花的會員:
vp6662 (2007-12-10)
感謝您發表一篇好文章
舊 2007-12-10, 04:29 PM   #5 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

請問mini大
我的程式為什麼無法編譯?
可否告知?下次才可注意!
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
舊 2007-12-10, 05:22 PM   #6 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 283728
在線等級: 級別:2 | 在線時長:15小時 | 升級還需:6小時級別:2 | 在線時長:15小時 | 升級還需:6小時
註冊日期: 2007-10-25
文章: 34
精華: 0
現金: 56 金幣
資產: 56 金幣
預設

看來小弟功力還是很淺 沒有辦法像各位大哥那樣很有條理的寫出來 真是慚愧
a19870504 目前離線  
送花文章: 0, 收花文章: 6 篇, 收花: 14 次
回覆時引用此帖
舊 2007-12-10, 06:37 PM   #7 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

引用:
作者: a19870504 查看文章
看來小弟功力還是很淺 沒有辦法像各位大哥那樣很有條理的寫出來 真是慚愧
我無法跑,還不知原因
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
舊 2007-12-10, 07:51 PM   #8 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 283728
在線等級: 級別:2 | 在線時長:15小時 | 升級還需:6小時級別:2 | 在線時長:15小時 | 升級還需:6小時
註冊日期: 2007-10-25
文章: 34
精華: 0
現金: 56 金幣
資產: 56 金幣
預設

編譯的時後不是會有錯誤訊息出來嗎?? 從那下手看看

再看自己設的變數或是迴圈哪裡有分號沒有加到 或是變數設定錯誤

我發現我每次寫完不能編譯幾乎都是因為少了分號或是變數設錯
a19870504 目前離線  
送花文章: 0, 收花文章: 6 篇, 收花: 14 次
回覆時引用此帖
舊 2007-12-10, 08:13 PM   #9 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時級別:96 | 在線時長:9694小時 | 升級還需:103小時
註冊日期: 2002-12-07
文章: 13261
精華: 0
現金: 26261 金幣
資產: 3024071 金幣
預設

引用:
作者: 猜謎人 查看文章
請問mini大
我的程式為什麼無法編譯?
可否告知?下次才可注意!
個人不常寫 c/c++
填到編譯器可以發現
scanf("%f",money);
應該寫成
scanf("%f",&money);

scanf 要賦值 需要用 &號 以記憶體位址方式
(這是規定沒得商量,除非你用 指標變數,才可省略 &)

再來還有一個錯誤
if(money=80)
比對的話要用兩個 =號
if(money==80)
mini 目前離線  
送花文章: 2001, 收花文章: 7962 篇, 收花: 26757 次
回覆時引用此帖
舊 2007-12-10, 08:17 PM   #10 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

引用:
作者: mini 查看文章
個人不常寫 c/c++
填到編譯器可以發現
scanf("%f",money);
應該寫成
scanf("%f",&money);

scanf 要賦值 需要用 &號 以記憶體位址方式
(這是規定沒得商量,除非你用 指標變數,才可省略 &)

再來還有一個錯誤
if(money=80)
比對的話要用兩個 =號
if(money==80)
對啊!沒想到
感謝大大教導
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
舊 2007-12-10, 08:23 PM   #11 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

還是一樣

他無法編譯的原因是
permission denied
ld returned 1 exit status
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
舊 2007-12-11, 07:07 AM   #12 (permalink)
管理版主
 
heavenheaven 的頭像
榮譽勳章
UID - 25460
在線等級: 級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時級別:68 | 在線時長:4975小時 | 升級還需:62小時
註冊日期: 2003-01-13
住址: 夢想的天空
文章: 5347
現金: 194 金幣
資產: 74542588 金幣
預設

猜大是用Dev-C++來寫的嗎??
預設開的檔是要用C++來寫喔
看猜大寫的語法是C
在下是用File -> New Project,再選C
貼上猜大的內容
Compile後再Run是ok的
__________________
我的噗浪 我的blog
MEGA免空建議使用Firefox或Chrome瀏覽器下載
檔案若有問題請PM告知,回覆在討論串中我不見得能即時發現
解壓縮前請確定檔案下載完全,解壓密碼用複製貼上,請勿自行輸入
影片播放有聲無影、有影無聲等問題,請安裝K-Lite Codec Pack解碼包
heavenheaven 目前離線  
送花文章: 2656, 收花文章: 2676 篇, 收花: 10154 次
回覆時引用此帖
舊 2007-12-11, 10:15 AM   #13 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

引用:
作者: heavenheaven 查看文章
猜大是用Dev-C++來寫的嗎??
預設開的檔是要用C++來寫喔
看猜大寫的語法是C
在下是用File -> New Project,再選C
貼上猜大的內容
Compile後再Run是ok的
了解啦
感謝天堂大的教導
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
請幫幫我....... 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


所有時間均為台北時間。現在的時間是 01:12 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1