我正在打开一个文件,并从中获取行.第一行应该说明有多少变量,以及它们的名称是什么.第二行应该是使用这些变量的逻辑方程.赋值是打印出变量和方程的真值表.
程序进入的第一行不是在没有插入新行字符的情况下打印.我尝试转换为字符串并使用printf和cout.
输入所有内容的主文件:
#include "truthTable2.h"
int main(int argc, const char* argv[]){
ifstream inFile;
if(argc != 2){
cout << "Enter an input file name: ";
char *inFileName = "";
cin >> inFileName;
inFile.open(inFileName);
}
else
inFile.open(argv[1]);
TruthTable tTable;
while(!inFile.eof()){
char variableLine[256];
inFile.getline(variableLine, 256);
printf("%s ", variableLine);
string variable(variableLine);
tTable.setVariables(variable);
char formulaLine[256];
inFile.getline(formulaLine, 256);
cout << formulaLine << "\n";
string formula(formulaLine);
tTable.setFormula(formula);
tTable.printTable();
}
inFile.close();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
样本输入:
2 x y
( \wedge x ( \not y ) )
Run Code Online (Sandbox Code Playgroud)
输出来自:
( …Run Code Online (Sandbox Code Playgroud)