這是一個兩部分的問題,我希望我能讓自己明白。我將根據需要進行編輯!我試圖編寫一個程序,它將從輸入文件中繼續進行計算。該文本文件將是這個樣子:從輸入文件到輸出文件的算術?
int + 25 10
double/5.5 8.5
...
每個實例與類型如int,雙,浮法,等開始,然後計算類型(加,減,等等),然後兩個數字。我希望能夠連續閱讀並輸出總和,產品等到輸出文件。舉例來說,如果我們使用上面的第一個例子中,該文件中的輸出將是:
int 25 10 = 35
我有代碼會做如下計算:
void doAddition(ifstream &inFile) {
int num1, num2;
inFile >> num1 >> num2;
cout << num1 << num2 << " = "<< (num1+num2) << '\n'; }
與此唯一的問題是,我不知道如何添加變量(我一直在使用字符串嘗試,但它似乎不工作)的類型,例如「INT」或「雙」,所以我得到:
25 10 = 35
相反作者:
int 25 10 = 35
我的第二個問題,你可能會看到,我正在使用「cout」在屏幕上顯示信息,當我真的想將它添加到outfile。這裏的一些信息:
我用的移動到下一行:我評論
ifstream inFile;
//ofstream outFile;
char ch;
int num1, num2;
inFile.open("infile.txt");
//outFile.open("outfile.txt");
if (inFile.is_open()){
inFile >> ch;
while (!inFile.eof())
{
switch (ch)
{
case '+':
doAddition(inFile);
break;
...
正如你可以看到外面ofstream的一部分,因爲我:
void readToNextLine(ifstream& inFile) {
string t1, t2;
inFile >> t1 >> t2; }
代碼在我的主無法讓它正常工作。有什麼建議麼?我現在打開大約10個窗口和兩個C++書籍,試圖將它們放在一起!
編輯:我不確定開關是否是最好的方法。我需要程序看到「int」並意識到這是一個詞。如果我使用了4種變量類型,如int,double,float和long,也許我可以檢查每個變量的第一個字母:i,d,f,l,然後一旦知道它可以進入+, - 等等檢查。感覺就像這樣做邏輯上它只是花更多的時間,當我可以使用一系列的類,但我只是不知道從哪裏開始。
如果有需要的任何其他信息,或者說我不會讓自己清楚,請讓我知道,我會相應地編輯自己的帖子! – Hydlide
我建議將其分解爲單獨的簡明問題。它會看起來更吸引SO用戶回答,並且會迫使你分解它。 – Andy