书店程序代码为:
<!Doctype html>
<html>
<body>
<p id="a"></p>
<script>
//switch
var sb;
document.write("<br><input type='text' id='a'> <button onclick='casss()'>Show Value</button>");
sb = document.getElementById('a').value;
function casss() {
switch (sb) {
case 1:
sb = "php";
break;
case 2:
sb = "html";
break;
case 3:
sb = "css";
break;
case 4:
sb = "javascript";
break;
}
document.write("<br>" + sb);
}
</script>
</body>
</html>
当输入中包含三个或更多不同的ISBN时,在我输入#include <iostream>
#include "Sales_item.h"
int main() {
Sales_item total;
if (std::cin >> total) {
Sales_item trans;
//read and process remaining transactions
while (std::cin >> trans) {
if (total.isbn() == trans.isbn()) {
total += trans;
} else {
std::cout << std::endl;
std::cout << total << std::endl;
total = trans;
}
}
std::cout << total << std::endl;
} else {
std::cerr << "No data?!" << std::endl;
return -1;
}
return 0;
}
之前,不能显示else {}中的输出,这应该是最后一个输出的要求。如:
EOF
这非常令人困惑,我希望有人能够回答这个问题。谢谢。
答案 0 :(得分:0)
由于在输入末尾没有换行符,所以仅当到达EOF时才处理输入的最后一行(在您的情况下为^D
)。
在您的代码中,总计会显示在所有占总行的之后的第一行。因此,在处理最后一行时,将打印倒数第二个总数。
将这两个放在一起,仅当收到EOF时处理倒数第二个总数。这正是您所观察到的。