#c
Вопрос:
Я действительно ломаю голову, чтобы придумать способ найти день начала месяца в рамках моей программы. Я беру базовый C , поэтому мы изучили только основы, такие как операторы switch, if/else/while. Вот к чему я пришел до сих пор. Это грязно, и мне нужно установить оператор переключения, но я просто пытаюсь заставить его работать сейчас. У меня день начала установленного года в пределах 0-6 0 — воскресенье, а 6-суббота. Как бы я нашел это для отдельного месяца
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
char response;
int numdays;
do {
// Obtaining the month from user
int month;
cout << " enter a month between 1 and 12 inclusive" << endl;
cin >> month;
while (month > 12 || month < 1) //error check
{
cout << "Month cannot be less than 1 or more than 12," << endl;
cout << "please enter the month again";
cin >> month;
}
// Obtaining the year from user
int year;
cout << " enter the year for your calandar in numerical fashion" << endl;
cin >> year;
while (year < 2000) //error check
{
cout << "Year cannot be less than 2000" << endl;
cout << "please enter the year again";
cin >> year;
}
int firstday, leapyearcheck;
firstday = ((int)(((year - 1) * 365) floor((year - 1) / 4) - floor((year - 1) / 100)
floor((year - 1) / 400)) 1) % 7;
leapyearcheck = (!(year % 4) amp;amp; (year % 100)) || !(year % 400);
while (month <= 12) {
if (month == 1) {
numdays = 31;
cout << setw(12) << "January" <<setw(20)<<year<< endl; break;
}
else if (month == 2) {
if (leapyearcheck == false) {
numdays = 28;
}
else numdays = 29;
cout << setw(12) << "February" << setw(20) << year << endl; break;
}
else if (month == 3) {
numdays = 31;
cout << setw(12) << "March" << setw(20) << year << endl; break;
}
else if (month == 4) {
numdays = 30;
cout << setw(12) << "April" << setw(20) << year << endl; break;
}
else if (month == 5) {
numdays = 31;
cout << setw(12) << "May" << setw(20) << year << endl; break;
}
else if (month == 6) {
numdays = 30;
cout << setw(12) << "June" << setw(20) << year << endl; break;
}
else if (month == 7) {
numdays = 31;
cout << setw(12) << "July" << setw(20) << year << endl; break;
}
else if (month == 8) {
numdays = 31;
cout << setw(12) << "August" << setw(20) << year << endl; break;
}
else if (month == 9) {
numdays = 30;
cout << setw(12) << "September" << setw(20) << year << endl; break;
}
else if (month == 10) {
numdays = 31;
cout << setw(12) << "October" << setw(20) << year << endl; break;
}
else if (month == 11) {
numdays = 30;
cout << "November" << setw(20) << year << endl; break;
}
else if (month == 12) {
numdays = 31;
cout << setw(12) << "December" << setw(20) << year << endl; break;
}
}
cout<<"S"<< setw(6) <<"M"<< setw(6) <<"T"<< setw(6) <<"W"<< setw(6) <<"T"<< setw(6)<<"F"<<
setw(6)<<"S"<< endl;
cout << "_____________________________________" << endl << endl;
for (int k = 0; k < firstday; k ){
cout << " ";
}
for (int x = 1; x <= numdays; x ) {
cout << x << setw(6);
}
cout << endl << endl << "Would You Like Another Calandar? Y or N " << endl;
cin >> response;
cout << endl << endl << endl;
} while (response == 'Y' || response == 'y');
return 0;`