Linguaggio C/C++ – Calcolo della Pasqua con metodo di Gauss

Codifica completa
 

 

 #include <iostream>
 #include <iomanip>
 using namespace std;

 int main (void) {
	int Anno;
	string Mese;
	short Giorno;
	
	cout << "C A L C O L O   D E L L A   P A S Q U A";
	cout << endl << "METODO DI GAUSS" << endl << endl;
 	do {
		cout << "Inserire l'anno desiderato";
		cout << " compreso tra il 1600 e il 2199: ";
 		cin >> Anno;
 		if (Anno < 1600 || Anno > 2199)
			cout << endl << "Valore non corretto!" << endl;
		} while (Anno < 1600 || Anno > 2199);
		
	short a = Anno % 19;
	short b = Anno % 4;
	short c = Anno % 7;
	
	short M, N;
	switch (Anno/100) {
		case 16:
			M = 22; N = 2; break;
		case 17:
			M = 23; N = 3; break;
		case 18:
			M = 23; N = 4; break;
		case 19:
		case 20:
			M = 24; N = 5; break;
		case 21:
			M = 24; N = 6; break;
	}
	
	short d = (19 * a + M) % 30;
	short e = (2 * b + 4 * c + 6 * d + N) % 7;
	
	cout << endl << endl;
	
	if ((d + e) < 10) {
		Giorno = d + e + 22;
		Mese = "Marzo";
		}
	else {
		Giorno = d + e - 9;
		if (Giorno == 26)
			Giorno = 19;
		else if (Giorno==25 && d==28 && e==6 && a>10)
			Giorno = 18;
		Mese = "Aprile";
	}
	
	cout << "Giorno di Pasqua dell'anno " << Anno << ": " ;
	cout << Giorno << " " << Mese << endl << endl;		

	system ("pause");
	return 0;
 }
 

Visite: 1632

Pagine: 1 2 3 4