こんばんは。
現在、C++を勉強しているのですが、演習問題をやっていてエラーが出てしまい、原因が分からずてこづっております。具体的には、ファイルの読み込みは無事にできたのですが、if文での制御がうまく行ってないのか実行を行なうと最後の数字だけがループしてしまいます。
そこで、アドバイスをご教授して頂けると幸いです。
【演習問題】
ファイルの内容を読んで、2で割り切れる場合は「morning!」と表示を行い、3で割り切れる場合は「noon!」と表示を行い、2と3で割り切れる場合は「night!」と表示を行い、それ以外はそのまま数字を表示せよ。
(例)
input:1 2 3 4 5 6 7
output: 1 morning! noon! 4 5 night! 7
【プログラム】
#include<iostream>
using namespace std;
int main()
{
while(1){
int x;
cin >> x;
if(x%2 == 0 && x%3 == 0){ cout << "night!"<<" "; }else if(x%2 == 0){ cout << "morning!"<<" "; }else if(x%3 == 0){ cout << "noon!"<<" "; }else{ cout << x <<" "; } } return 0;
}
返信を下さった皆様へ
返信遅くなってしまい、申し訳ありません。
アドバイスをしていただき、ありがとうございます。おかげさまで解決しました。
ベストアンサーは、皆さんの説明が分かりやすく、迷ったのですが色々悩み決めさせて頂きました。
プログラムの解決に導いてくださり、ありがとうございました。
回答3件
あなたの回答
tips
プレビュー