public bool Calculo(bool P1, bool P2, TipOperacoes op) { switch (op) { case TipOperacoes.AND: return(Expressoes.And(P1, P2)); case TipOperacoes.OR: return(Expressoes.Or(P1, P2)); case TipOperacoes.IF: return(Expressoes.Iff(P1, P2)); case TipOperacoes.IFTHEN: return(Expressoes.IfThen(P1, P2)); //case TipOperacoes.NAND: // return Expressoes.N(P1, P2); //case TipOperacoes.AND: // return Expressoes.Na(P1, P2); //case TipOperacoes.AND: // return Expressoes.And(P1, P2); //case TipOperacoes.AND: // return Expressoes.And(P1, P2); default: throw new NotImplementedException(); } }
//Teste individual public static void TesteIndividual() { byte op = 0; Console.Clear(); Console.WriteLine(" PONTIFICIA UNIVERSIDADE CATOLICA DE MINAS GERAIS"); Console.WriteLine(" TRABALHO INTERDISCIPLINAR"); Console.WriteLine(" 1o PERIODO - SISTEMAS DE INFORMACAO"); Console.WriteLine("\n"); Console.WriteLine(" Escolha o conectivo a ser testado:\n"); Console.WriteLine(" 1 - NOT."); Console.WriteLine(" 2 - AND."); Console.WriteLine(" 3 - OR."); Console.WriteLine(" 4 - IF...THEN."); Console.WriteLine(" 5 - IF...THEN...ELSE."); Console.WriteLine(" 6 - IFF."); Console.WriteLine(" 7 - ORR."); Console.WriteLine(" 0 - Sair do menu de conectivos\n"); do { Console.Write(" Digite sua escolha => "); try { op = Convert.ToByte(Console.ReadLine()); } catch (OverflowException) { op = 8; } bool t1, t2, t3; switch (op) { case 1: Console.Write("\n Teste NOT (1 variavel)"); Console.Write("\n Digite o valor da variavel do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n NOT T1({0}) = {1}\n\n", t1, Expressoes.Not(t1)); break; case 2: Console.Write("\n Teste AND (2 variaveis)"); Console.Write("\n Digite o valor da variavel 1 do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 2 do teste (1 = true | 0 ou !=1 = false) => "); t2 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n T1({0}) AND T2({1}) = {2}\n\n", t1, t2, Expressoes.And(t1, t2)); break; case 3: Console.Write("\n Teste OR (2 variaveis)"); Console.Write("\n Digite o valor da variavel 1 do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 2 do teste (1 = true | 0 ou !=1 = false) => "); t2 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n T1({0}) OR T2({1}) = {2}\n\n", t1, t2, Expressoes.Or(t1, t2)); break; case 4: Console.Write("\n Teste IF...THEN (2 variaveis)"); Console.Write("\n Digite o valor da variavel 1 do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 2 do teste (1 = true | 0 ou !=1 = false) => "); t2 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n IF T1({0}) THEN T2({1}) = {2}\n\n", t1, t2, Expressoes.IfThen(t1, t2)); break; case 5: Console.Write("\n Teste IF...THEN...ELSE (3 variaveis)"); Console.Write("\n Digite o valor da variavel 1 do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 2 do teste (1 = true | 0 ou !=1 = false) => "); t2 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 3 do teste (1 = true | 0 ou !=1 = false) => "); t3 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n IF T1({0}) THEN T2({1}) ELSE T3({2}) = {3}\n\n", t1, t2, t3, Expressoes.IfThenElse(t1, t2, t3)); break; case 6: Console.Write("\n Teste IFF (2 variaveis)"); Console.Write("\n Digite o valor da variavel 1 do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 2 do teste (1 = true | 0 ou !=1 = false) => "); t2 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n T1({0}) IFF T2({1}) = {2}\n\n", t1, t2, Expressoes.Iff(t1, t2)); break; case 7: Console.Write("\n Teste ORR (2 variaveis)"); Console.Write("\n Digite o valor da variavel 1 do teste (1 = true | 0 ou !=1 = false) => "); t1 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write(" Digite o valor da variavel 2 do teste (1 = true | 0 ou !=1 = false) => "); t2 = Convert.ToInt32(Console.ReadLine()) == 1 ? true : false; Console.Write("\n T1({0}) ORR T2({1}) = {2}\n\n", t1, t2, Expressoes.Orr(t1, t2)); break; default: Console.WriteLine(" ERRO!!!"); Console.WriteLine(" Digito invalido!\n"); break; } } while (op != 0); }