Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <fstream> // For file handling
- using namespace std;
- char switchFun(bool);
- void negation();
- void conjunction();
- void disjunction();
- void exclusive();
- void implication();
- void biconditional();
- int main()
- {
- bool p = 0;
- bool q = 1;
- ofstream myFile;
- myFile.open("prog1_output.txt");
- myFile<< left << setw(6) << "p" << setw(6) << "q" << setw(6) << "~p" << setw(6) << "~q" << "\n";
- negation();
- cout << '\n';
- myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p /\\ q" << "\n";
- conjunction();
- myFile << '\n';
- myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p \\/ q" << "\n";
- disjunction();
- myFile << '\n';
- myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p !| q" << "\n";
- exclusive();
- myFile << '\n';
- myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p --> q" << "\n";
- implication();
- myFile << '\n';
- myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p <--> q" << "\n";
- biconditional();
- myFile.close();
- return 0;
- }
- char switchFunc(bool n)
- {
- switch (n)
- {
- case 0:
- return 'F';
- break;
- case 1:
- return 'T';
- }
- return 'E';
- }
- void negation(ofstream &myFile)
- {
- char valP,valQ;
- for (int i = 0; i <= 1; i++)
- for (int j = 0; j <= 1; j++)
- {
- if (i == 0)
- valP = 'T';
- else if (i == 1)
- valP = 'F';
- if (j == 0)
- valQ = 'T';
- else if (j == 1)
- valQ = 'F';
- cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << valP <<setw(6)<< valQ<<"\n";
- }
- }
- void conjunction(ofstream &myFile)
- {
- char val;
- for (int i = 0; i <= 1; i++)
- for (int j = 0; j <= 1; j++)
- {
- if (i == 0 && j == 0)
- val = 'F';
- else if (i == 0 && j == 1)
- val = 'F';
- else if (i == 1 && j == 0)
- val = 'F';
- else if (i == 1 && j == 1)
- val = 'T';
- cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
- }
- }
- void disjunction()
- {
- char val;
- for (int i = 0; i <= 1; i++)
- for (int j = 0; j <= 1; j++)
- {
- if (i == 0 && j == 0)
- val = 'F';
- else
- val = 'T';
- cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
- }
- }
- void exclusive()
- {
- char val;
- for (int i = 0; i <= 1; i++)
- for (int j = 0; j <= 1; j++)
- {
- if (i == 0 ^ j == 0)
- val = 'T';
- else if (i == 0 ^ j == 1)
- val = 'F';
- else if (i == 1 ^ j == 0)
- val = 'F';
- else if (i == 1 ^ j == 1)
- val = 'T';
- cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
- }
- }
- void implication()
- {
- char val;
- for (int i = 0; i <= 1; i++)
- for (int j = 0; j <= 1; j++)
- {
- if (i == 0 && j == 0)
- val = 'T';
- else if (i == 0 && j == 1)
- val = 'T';
- else if (i == 1 && j == 0)
- val = 'F';
- else if (i == 1 && j == 1)
- val = 'T';
- cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
- }
- }
- void biconditional()
- {
- char val;
- for (int i = 0; i <= 1; i++)
- for (int j = 0; j <= 1; j++)
- {
- if ((i == 0 && j == 0) || (i == 1 && j == 1))
- val = 'T';
- else
- val = 'F';
- cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement