School-Coding-Cpp/sfusi/and_logico_e_or_logico.cpp

55 lines
1.6 KiB
C++

#include <iostream>
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;
}
}
}