Я пытаюсь сделать противоположное случаю 3. Итак, идея состоит в том, что вы можете сказать: «x количество дней от сидения будет _». Это хорошо работает в моем case 3
, поэтому я решил, что то же самое будет работать, если вы захотите решить «x дней до того, как сидел будет _». Теперь мой case 4
работает только до ввода 6, тогда вы вводите отрицательные числа, которые я не толстый, когда делаю это ... И моя программа основана на массиве char dayChar[7][4] {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
, так что вы можете видеть, что case 4
на самом деле не работает. Любые предложения о том, как я могу это сделать, будут работать? Спасибо за тонну.Число строк и модулей C++
case 3: // Add days
cout << "Day selected is " << day << endl;
cout << "How many days would you like to add?" << endl;
cin >> addOrSub;
temp = (dayNum + addOrSub);
dayNum = (temp % 7);
cout << addOrSub << " days from " << day << " will be " << dayChar[dayNum] << endl;
break;
case 4: // Subtract days
cout << "Day selected is " << day << endl;
cout << "How many days would you like to subtract?" << endl;
cin >> addOrSub;
temp = (dayNum - addOrSub);
dayNum = (temp % 7);
cout << addOrSub << " before " << day << " was " << dayChar[dayNum] << endl;
Вы можете сначала вычесть кратное 7 из daynum, а затем добавить абсолютное значение количества дней для вычитания. Тогда это будет похоже на случай 3. Другими словами, для случая 4 просто временно сбросьте daynum до более раннего времени, чтобы вы добавляли не вычитание дней. – synaptik
dayNum = ((temp% 7) + 7)% 7; – d0c
@ d0c и синапитк, отличные предложения. Btw d0c. Кажется, я работаю над этим. Я знаю, если это так, вы должны опубликовать это как ответ. :) –