[問題] 這個程式怪怪的跑不出

看板C_and_CPP作者 (wayne)時間13年前 (2011/07/13 12:47), 編輯推噓5(5054)
留言59則, 13人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NO #include (iostream.h) int main() { float R,PI=3.1415926; cout<<"圓半徑="; cin>>R; cout<<"圓周長="<<2*PI*R; cout<<"圓面積="<<R*PI*R; system("pause"); return 0; } 要寫一個求圓and面積的程式 可是我總是跑不出來 他說第五行有問題 還有第一行後面有些人會+ #include <stdlib.h>這是+跟不+都沒關係嗎 請問 第二行加#include <stdlib.h>有差嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.204.43

07/13 12:50, , 1F
;有些打錯 我都修改過了 可是還是不能ˊˋ
07/13 12:50, 1F

07/13 12:51, , 2F
#include <iostream> //?
07/13 12:51, 2F

07/13 12:52, , 3F
#include <iostream>
07/13 12:52, 3F

07/13 12:52, , 4F
namespace std ??
07/13 12:52, 4F

07/13 12:53, , 5F
樓上各位大大 什麼意思??
07/13 12:53, 5F

07/13 12:54, , 6F
第一行改過了<>還是不能跑
07/13 12:54, 6F

07/13 12:54, , 7F

07/13 12:54, , 8F
如果再不能跑,請貼上錯誤訊息
07/13 12:54, 8F

07/13 12:55, , 9F
namespace std;//讓你可以省略std::的開頭 像是std::cout
07/13 12:55, 9F

07/13 12:56, , 10F
請問 第二行加#include <stdlib.h>有差嗎
07/13 12:56, 10F

07/13 12:56, , 11F
我發現你用了全型的分號.....
07/13 12:56, 11F

07/13 12:57, , 12F
http://pastie.org/2205464 ←複製過去跑跑看
07/13 12:57, 12F

07/13 13:00, , 13F
想請問是用那個開發平台?vc6?dev c++?..etc ?
07/13 13:00, 13F
※ 編輯: wayne79 來自: 125.224.204.43 (07/13 13:04)

07/13 13:05, , 14F
stdlib.h 是為了 system 那行而加的
07/13 13:05, 14F

07/13 13:08, , 15F
我記得如果使用#include <iostream>,好像不用加stdlib
07/13 13:08, 15F

07/13 13:08, , 16F
我剛剛用g++要加
07/13 13:08, 16F

07/13 13:09, , 17F
所以只要有#include <iostream.h>就不用打stdlib.h了嗎//
07/13 13:09, 17F

07/13 13:10, , 18F
可是超哥,g++的環境下就無法使用pause呢
07/13 13:10, 18F

07/13 13:11, , 19F
那是好像,有點不太確定.因為我現在都被迫寫c.所以一定有
07/13 13:11, 19F

07/13 13:12, , 20F
stdlib.h.
07/13 13:12, 20F

07/13 13:12, , 21F
請不要寫<iostream.h>,<iostream>才是正確的
07/13 13:12, 21F

07/13 13:13, , 22F
可是老師教要.h 我就不懂一定要+stdlib.h嗎
07/13 13:13, 22F

07/13 13:15, , 23F
= =原po一定是搞混老師的話,iostream才是對的
07/13 13:15, 23F

07/13 13:16, , 24F
要加stdlib.h
07/13 13:16, 24F

07/13 13:18, , 25F
cstdlib ?
07/13 13:18, 25F

07/13 13:20, , 26F
建議用getchar()或std::cin.get()之類的取代system("pause");
07/13 13:20, 26F

07/13 13:23, , 27F
謝謝PkmX<m.m>
07/13 13:23, 27F

07/13 13:30, , 28F
以解決了可以跑程式了
07/13 13:30, 28F

07/13 13:31, , 29F
但是還是沒人肯說清楚到底
07/13 13:31, 29F

07/13 13:31, , 30F
+ #include <stdlib.h>是在什麼情況下加
07/13 13:31, 30F

07/13 13:34, , 31F
stdlib.h是為了system那行加的...我有講過了...
07/13 13:34, 31F

07/13 13:34, , 32F
你刪掉 system("pause"); 那行的話就不用加 stdlib.h
07/13 13:34, 32F

07/13 13:35, , 33F
可是我沒有+可是有打system也可以跑程式....
07/13 13:35, 33F

07/13 13:36, , 34F
那就是不需要加了
07/13 13:36, 34F

07/13 13:37, , 35F
恩謝謝啦~"~~
07/13 13:37, 35F

07/13 13:37, , 36F
多謝大家幫我上了一堂課程
07/13 13:37, 36F

07/13 16:07, , 37F
沒加的話,編譯器自動當做 return int
07/13 16:07, 37F

07/13 16:07, , 38F
剛好 system 也是 return int ,所以 link 才沒出錯
07/13 16:07, 38F

07/13 16:37, , 39F
樓上在說什麼...?
07/13 16:37, 39F

07/13 17:15, , 40F
鴨七學長....
07/13 17:15, 40F

07/13 18:08, , 41F
C++ 已經不會把沒寫 return type 自動當作 return int了
07/13 18:08, 41F

07/13 18:33, , 42F
在C的那種狀況你拿strcpy(非return int)來試link也會過
07/13 18:33, 42F

07/13 18:36, , 43F
原po的現象應該是在過去非標準的 iostream.h 多包了其他
07/13 18:36, 43F

07/13 18:38, , 44F
header 的東西進去,以標準來說不該放那了
07/13 18:38, 44F

07/13 18:40, , 45F
這只是現在讓你一時方便可以少 include 一些東西,等你換
07/13 18:40, 45F

07/13 18:41, , 46F
比較新的編譯環境之後就會碰到錯誤
07/13 18:41, 46F

07/13 19:31, , 47F
= =認真的講,原po應該出去玩了吧!很奇怪堅持不改成
07/13 19:31, 47F

07/13 19:31, , 48F
iostream,竟然忽略善良的超哥建議.
07/13 19:31, 48F

07/13 20:07, , 49F
謝謝樓上 〒△〒
07/13 20:07, 49F

07/13 20:42, , 50F
從include可以打成() 可以判斷原po一定相當程度誤會老師的
07/13 20:42, 50F

07/13 20:43, , 51F
教學... #include <iostream> #include <cstdlib>
07/13 20:43, 51F

07/13 20:46, , 52F
說不定只是筆記抄得太潦草 XD
07/13 20:46, 52F

07/13 20:47, , 53F
有可能是在cmd下看的 XD
07/13 20:47, 53F

07/13 20:48, , 54F
怪不得樓上已經拿到黃金卡.
07/13 20:48, 54F

07/13 20:59, , 55F
黃金卡可以換P幣嗎 XD
07/13 20:59, 55F

07/13 21:06, , 56F
不可以,只能換到無止盡的悲傷.
07/13 21:06, 56F

07/13 21:07, , 57F
TAT
07/13 21:07, 57F

07/13 22:08, , 58F
原來原po是用C++... 沒注意xd
07/13 22:08, 58F

07/13 22:13, , 59F
我在 Xcode 這樣做會出現 implicit declaration 警告
07/13 22:13, 59F
文章代碼(AID): #1E7ID9DK (C_and_CPP)