作者t78923t (トースト)
看板C_and_CPP
標題[問題] 副程式輸出當作自己的輸入
時間Wed Aug 5 22:27:54 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2008
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
function A用來量測數值,量到的變數以double data輸出
function A的輸出當作function B的其中一個輸入
function B的另一個輸入有給初始值,類型是char S
function B的輸出是字元char Snew
而char Snew則當作之後每次function B的輸入S
也就是function B的輸入S每次都會由自己的輸出更新再重新輸入
但實際執行後發現,function B的輸出並沒有一直更新
每次都輸出都是初始值而已,請問程式錯在哪邊??
是邏輯出錯了嗎?
謝謝
餵入的資料(Input):
預期的正確結果(Expected Output):
function B的輸出會持續更新並當作下一次的輸入
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
#include<.....>
.....
.....
using namespace std;
extern double data;
char Stage(double Loadcelldata, char S);
int main()
{
double Loadcelldata;
char S = 'I';
char Scurrent;
while(1)
{
fstream file;
file.open("S.txt",ios::app );
Datareadfunction();
Loadcelldata = Datareadfunction();
cout << Loadcelldata << endl;
Scurrent = Stage(Loadcelldata, S);
S = Scurrent;
file<< Scurrent <<"\n";
file.close();
}
system("PAUSE");
return 0;
}
char Stage( double Loadcelldata, char S)
{
.....
return Snew;
}
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.126.5.217
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1438784880.A.056.html
※ 編輯: t78923t (120.126.5.217), 08/05/2015 22:29:50
※ 編輯: t78923t (120.126.5.217), 08/05/2015 22:32:46
推 stupid0319: 幹嘛把檔案開開關關的? 08/05 22:43
推 johnpage: 迴圈離開條件,開檔時機 08/05 22:44
開檔時機影響到副程式Stage存下來的輸出??
我沒有設迴圈離開條件,因為我function A的值一直讀進來
我要用Stage這個function來判斷出狀態
所以我這樣寫邏輯上是對的??
※ 編輯: t78923t (120.126.5.217), 08/05/2015 22:50:02