こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

なんで繰り返すの?すいません急です汗

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までの数字が

2go

4go

6go
と繰り返しででてきてしまいます。
本当は好きな数字を入力する状況になるようにして例えば「2」を入力したら

2go

とだけ表示したいんです。
どこがまちがってるのでしょうか?

投稿日時 - 2009-10-20 12:30:01

QNo.5381893

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

>本当は好きな数字を入力する状況になるようにして例えば「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 文なんて使ったのですか? ご質問のソースは、本当にあなたが考えて書いたものなのか、私にははなはだ疑問に感じるのです。ですから「間違いも何も……」という答えしか返ってこなかったわけです。
 おそらく学校の課題でしょう。先生の言うことを良く聞いて、教科書を読むなり、自分で調べたりして、どうか自力で努力してください。ここへ投稿することも良いでしょうが、あまりにも他人に頼りすぎることは、自分のためにならないと、私は思います。

投稿日時 - 2009-10-21 12:00:30

ANo.5

その他(プログラミング)で質問するなら言語名は明確に示しましょうよ。
また、それ以前の問題として、質問しようとしている言語のためのカテゴリがあるならそちらのカテゴリで質問しましょう。

投稿日時 - 2009-10-20 19:56:03

ANo.4

 あの~、ご質問にあるソースでは、やりたいこととぜんぜん違うプログラムになっちゃっているんですよ。どこが間違っているのかと問われれば、「ヘッダを除いて全部」と言えちゃうくらいに。
 いま、ソースはどうなっているんですか? (暇なときに)ていねいに教えて差し上げますから、現在のソースを見せてください。

投稿日時 - 2009-10-20 18:18:53

ANo.3

No.1への返答
>間違ってる所のご指摘とどのように直せばいいのか教えていただけませんか?

その「修正した」ソースを開示してください。
どうなおしたのかわからなければ対処しようがありません。

投稿日時 - 2009-10-20 17:08:23

ANo.2

>どこがまちがってるのでしょうか?
色々と

まず
>本当は好きな数字を入力する状況になるようにして
の「入力処理」がありません。

そして
>例えば「2」を入力したら
>2go
>とだけ表示したいんです。
while()の処理は、
・iを1000になるまでループ
・iが偶数であったら「i」と「go」を表示
・iが奇数であったら「i」を表示
・表示したらiに1を足す
という処理です。

投稿日時 - 2009-10-20 12:44:13

ANo.1

好きな数字を入力するには
cin>>n;
を使わなくちゃダメじゃないですか。どうして繰り返しちゃうのって、While文は繰り返しのためにあるんでしょ! 落ち着いて!!

投稿日時 - 2009-10-20 12:43:12

お礼

回答ありがとうございます。
早速whileを消してcin>>n;
を入れてみたところ数字を入力できるようにはなったんですけど、
数字を入力してエンターを押すとなぜか繰りかえしが起こってしまいます。
申し訳ございません。
間違ってる所のご指摘とどのように直せばいいのか教えていただけませんか?
よろしくお願いします。

投稿日時 - 2009-10-20 14:43:33