#include using namespace std; int ANDLogico(int a, int b); // PROTOTIPO DELLA FUNZIONE DELL'AND LOGICO void stampaTabellaANDLogico(int (*f)(int, int)); // PROTOTIPO DELLA FUNZIONE PER STAMPARE LA TABELLA DELL'AND LOGICO int ORLogico(int a, int b); // PROTOTIPO DELLA FUNZIONE DELL'OR LOGICO void stampaTabellaORLogico(int (*f)(int, int)); // PROTOTIPO DELLA FUNZIONE PER STAMPARE LA TABELLA DELL'OR LOGICO int main() { stampaTabellaANDLogico(ANDLogico); // STAMPA DELLA TABELLA DELL'AND LOGICO stampaTabellaORLogico(ORLogico); // STAMPA DELLA TABELLA DELL'OR LOGICO return 0; } int ANDLogico(int a, int b) { return a && b; // } // FUNZIONE PER STAMPARE LA TABELLA DELL'AND LOGICO void stampaTabellaANDLogico(int (*f)(int, int)) { cout << "A\tB\tRisultato" << endl; cout << "-------------------" << endl; for (int a = 0; a <= 1; ++a) { for (int b = 0; b <= 1; ++b) { int risultato = f(a, b); // Calcola il risultato della funzione logica cout << a << "\t" << b << "\t" << risultato << endl; } } cout << endl << endl; } int ORLogico(int a, int b) { return a || b; // } // FUNZIONE PER STAMPARE LA TABELLA DELLA VERITA DELL'OR LOGICO void stampaTabellaORLogico(int (*f)(int, int)) { cout << "A\tB\tRisultato" << endl; cout << "-------------------" << endl; for (int a = 0; a <= 1; ++a) { for (int b = 0; b <= 1; ++b) { int risultato = f(a, b); // Calcola il risultato della funzione logica cout << a << "\t" << b << "\t" << risultato << endl; } } }