gpt4 book ai didi

c++ - 数行和模数 C++

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:17 24 4
gpt4 key购买 nike

我正在尝试与案例 3 相反。所以我的想法是你可以说“x amount of days from sat will be _”。这在我的案例 3 中效果很好,所以我认为如果您想解决“x days before sat will be _”,同样的方法也适用。现在我的 case 4 只工作到输入 6 然后你输入负数,我在做这个的时候并没有详细说明......我的程序基于数组 char dayChar[7 ][4] {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; 所以你可以看到case 4 并没有真正起作用。关于我该怎么做的任何建议都行得通吗?提前致谢。

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;

最佳答案

一个简单的解决方案是:dayNum = ((temp % 7) + 7) % 7;

因为 temp % 7 保证大于 -7,所以加 7 保证给你一个正数,等于原来的数(模 7)。不过,生成的数字可能大于 7,这就是为什么需要额外的模运算的原因。

关于c++ - 数行和模数 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25824324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com