- 締切済み
なんで繰り返すの?すいません急です汗
macでソースプログラムを作っています。 #include <iostream> using namespace std; main(){ int i = 1 ; while (i < 1000) { cout << i ; if (i % 2 == 0){ cout << "go\n" ; } else { cout << "\n"; } i++; } } これだとなぜか1000までの数字が 1 2go 3 4go 5 6go と繰り返しででてきてしまいます。 本当は好きな数字を入力する状況になるようにして例えば「2」を入力したら 2go とだけ表示したいんです。 どこがまちがってるのでしょうか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- digitalian
- ベストアンサー率29% (323/1104)
>本当は好きな数字を入力する状況になるようにして例えば「2」を入力したら >2go >とだけ表示したいんです。 1. 好きな数字を入力するには、cin >> n ; でいいですね。 2. 「2go」とだけ表示したいのなら、cout << n << "go" ; ですね。 回答例はこうなります。 #include <iostream> using namespace std; int main ( ) { int n ; cout << "好きな数字を入力してね。---->" ; cin >> n ; cout << n << "go" ; return 0 ; } ……。これだけです。なんで繰り返しに使う While 文が出てきたのですか? どうして if 文なんて使ったのですか? ご質問のソースは、本当にあなたが考えて書いたものなのか、私にははなはだ疑問に感じるのです。ですから「間違いも何も……」という答えしか返ってこなかったわけです。 おそらく学校の課題でしょう。先生の言うことを良く聞いて、教科書を読むなり、自分で調べたりして、どうか自力で努力してください。ここへ投稿することも良いでしょうが、あまりにも他人に頼りすぎることは、自分のためにならないと、私は思います。
- Gotthold
- ベストアンサー率47% (396/832)
その他(プログラミング)で質問するなら言語名は明確に示しましょうよ。 また、それ以前の問題として、質問しようとしている言語のためのカテゴリがあるならそちらのカテゴリで質問しましょう。
- digitalian
- ベストアンサー率29% (323/1104)
あの~、ご質問にあるソースでは、やりたいこととぜんぜん違うプログラムになっちゃっているんですよ。どこが間違っているのかと問われれば、「ヘッダを除いて全部」と言えちゃうくらいに。 いま、ソースはどうなっているんですか? (暇なときに)ていねいに教えて差し上げますから、現在のソースを見せてください。
- SilverThaw
- ベストアンサー率32% (260/806)
No.1への返答 >間違ってる所のご指摘とどのように直せばいいのか教えていただけませんか? その「修正した」ソースを開示してください。 どうなおしたのかわからなければ対処しようがありません。
- SilverThaw
- ベストアンサー率32% (260/806)
>どこがまちがってるのでしょうか? 色々と まず >本当は好きな数字を入力する状況になるようにして の「入力処理」がありません。 そして >例えば「2」を入力したら >2go >とだけ表示したいんです。 while()の処理は、 ・iを1000になるまでループ ・iが偶数であったら「i」と「go」を表示 ・iが奇数であったら「i」を表示 ・表示したらiに1を足す という処理です。
- digitalian
- ベストアンサー率29% (323/1104)
好きな数字を入力するには cin>>n; を使わなくちゃダメじゃないですか。どうして繰り返しちゃうのって、While文は繰り返しのためにあるんでしょ! 落ち着いて!!
お礼
回答ありがとうございます。 早速whileを消してcin>>n; を入れてみたところ数字を入力できるようにはなったんですけど、 数字を入力してエンターを押すとなぜか繰りかえしが起こってしまいます。 申し訳ございません。 間違ってる所のご指摘とどのように直せばいいのか教えていただけませんか? よろしくお願いします。