Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <fstream> // For file handling
  4.  
  5. using namespace std;
  6.  
  7.  
  8. char switchFun(bool);
  9. void negation();
  10. void conjunction();
  11. void disjunction();
  12. void exclusive();
  13. void implication();
  14. void biconditional();
  15.  
  16.  
  17.  
  18. int main()
  19. {
  20. bool p = 0;
  21. bool q = 1;
  22.  
  23. ofstream myFile;
  24. myFile.open("prog1_output.txt");
  25.  
  26. myFile<< left << setw(6) << "p" << setw(6) << "q" << setw(6) << "~p" << setw(6) << "~q" << "\n";
  27. negation();
  28.  
  29. cout << '\n';
  30. myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p /\\ q" << "\n";
  31. conjunction();
  32.  
  33. myFile << '\n';
  34. myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p \\/ q" << "\n";
  35. disjunction();
  36.  
  37.  
  38. myFile << '\n';
  39. myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p !| q" << "\n";
  40. exclusive();
  41.  
  42. myFile << '\n';
  43. myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p --> q" << "\n";
  44. implication();
  45.  
  46. myFile << '\n';
  47. myFile << left << setw(6) << "p" << setw(6) << "q" << setw(6) << "p <--> q" << "\n";
  48. biconditional();
  49.  
  50. myFile.close();
  51.  
  52. return 0;
  53.  
  54.  
  55. }
  56.  
  57.  
  58. char switchFunc(bool n)
  59. {
  60. switch (n)
  61. {
  62. case 0:
  63. return 'F';
  64. break;
  65. case 1:
  66. return 'T';
  67. }
  68.  
  69. return 'E';
  70.  
  71. }
  72.  
  73. void negation(ofstream &myFile)
  74. {
  75. char valP,valQ;
  76.  
  77. for (int i = 0; i <= 1; i++)
  78. for (int j = 0; j <= 1; j++)
  79. {
  80.  
  81. if (i == 0)
  82. valP = 'T';
  83. else if (i == 1)
  84. valP = 'F';
  85.  
  86. if (j == 0)
  87. valQ = 'T';
  88. else if (j == 1)
  89. valQ = 'F';
  90.  
  91. cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << valP <<setw(6)<< valQ<<"\n";
  92. }
  93.  
  94.  
  95. }
  96.  
  97. void conjunction(ofstream &myFile)
  98. {
  99. char val;
  100.  
  101. for (int i = 0; i <= 1; i++)
  102. for (int j = 0; j <= 1; j++)
  103. {
  104. if (i == 0 && j == 0)
  105. val = 'F';
  106. else if (i == 0 && j == 1)
  107. val = 'F';
  108. else if (i == 1 && j == 0)
  109. val = 'F';
  110. else if (i == 1 && j == 1)
  111. val = 'T';
  112.  
  113. cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
  114. }
  115.  
  116.  
  117. }
  118.  
  119. void disjunction()
  120. {
  121. char val;
  122. for (int i = 0; i <= 1; i++)
  123. for (int j = 0; j <= 1; j++)
  124. {
  125.  
  126. if (i == 0 && j == 0)
  127. val = 'F';
  128. else
  129. val = 'T';
  130.  
  131. cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
  132.  
  133. }
  134. }
  135. void exclusive()
  136. {
  137. char val;
  138. for (int i = 0; i <= 1; i++)
  139. for (int j = 0; j <= 1; j++)
  140. {
  141. if (i == 0 ^ j == 0)
  142. val = 'T';
  143. else if (i == 0 ^ j == 1)
  144. val = 'F';
  145. else if (i == 1 ^ j == 0)
  146. val = 'F';
  147. else if (i == 1 ^ j == 1)
  148. val = 'T';
  149.  
  150. cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
  151. }
  152. }
  153.  
  154. void implication()
  155. {
  156. char val;
  157. for (int i = 0; i <= 1; i++)
  158. for (int j = 0; j <= 1; j++)
  159. {
  160. if (i == 0 && j == 0)
  161. val = 'T';
  162. else if (i == 0 && j == 1)
  163. val = 'T';
  164. else if (i == 1 && j == 0)
  165. val = 'F';
  166. else if (i == 1 && j == 1)
  167. val = 'T';
  168.  
  169. cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
  170. }
  171. }
  172.  
  173. void biconditional()
  174. {
  175. char val;
  176. for (int i = 0; i <= 1; i++)
  177. for (int j = 0; j <= 1; j++)
  178. {
  179. if ((i == 0 && j == 0) || (i == 1 && j == 1))
  180. val = 'T';
  181. else
  182. val = 'F';
  183.  
  184. cout << left << setw(6) << switchFunc(i) << setw(6) << switchFunc(j) << setw(6) << val << "\n";
  185. }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement