• ベストアンサー

質問です。。。

いつもすみません。また質問させていただきます。 まずしたのプログラムを見てください・・・ #include <iostream> #include <string> using namespace std; int main() { string name; int tosi; cout << "こんにちは。私はコンピュータです。" <<endl; cout << "あなたの年齢を教えてください" <<endl; cin >> tosi; cout<<name<<"歳なんですか・・・老けてますね(笑)"<<endl; cout << "どこの学校ですか" <<endl; cin >> name; cout<<name<<"That's right!"<<endl; } このプログラムの8行目にあるint tosi;がありますよね。 この単語がなくても string name があったら12行目のプログラムができたのですが、どういうことなのでしょうか? 表現が一部変ですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> intは数字に関係がるんですよね。 '数値'と'数字'は別物です。 intに入るのは数値であり数字ではありません。 > stringは数字も含むのでしょうか? '数値'はstringに納まりませんが、 '数字'は文字なのでOK。 > ちなみに12行目のtosiはnameと考えてください。 cin >> name; cout<<name<<"歳なんですか・・・老けてますね(笑)"<<endl; ってことですね。ならば問題ありません。 ここで 35 と入力してもあくまで文字列 "35" とみなされます。 参拾五 と入力するのと何の違いもありません。 # ところで "質問です" なんてな阿呆なタイトルは控えてください。

dfksh
質問者

お礼

回答ありがとうございます! やっとすっきりしました。 確かに 質問です なんて題名は変ですよね。 質問するのに題名が質問ですなんて回答する人が困りますよね・・・ 気をつけます!

その他の回答 (3)

回答No.4

ANo.2 > 余談ですが > int main() > となっているので、main関数の最後に return 0; を入れてあげましょう。 C++ではint main() のreturnは省略してもよい(暗黙に0が返される) と言語仕様に定められています。

  • Interest
  • ベストアンサー率31% (207/659)
回答No.2

コンパイルが通ったこと、実行できたことと、プログラムが意図したとおりの動作をすることとは別です。 プログラムを実行して、年齢を聞かれて適当な値を入れたとき、狙い通りの結果が表示されますか? ## cin >> tosi; ## cout<<name<<"歳なんですか・・・老けてますね(笑)"<<endl; ここは、きっと cin >> tosi; cout << tosi <<"歳なんですか・・・老けてますね(笑)"<<endl; としたかったのだと思いますがいかがでしょうか。 余談ですが int main() となっているので、main関数の最後に return 0; を入れてあげましょう。

dfksh
質問者

お礼

回答ありがとうございます すみません・・ちょっと理解できません return0;はどこに書けばいいのでしょうか? 関数がいまだに理解できません

回答No.1

cout<<name<<"歳なんですか・・・老けてますね(笑)"<<endl;     ↑これ、何かのマチガイ。

dfksh
質問者

お礼

回答ありがとうございます え~っと・・・僕の間違いでした・・・ intは数字に関係がるんですよね。 stringは数字も含むのでしょうか? ちなみに12行目のtosiはnameと考えてください。 ちょっと変ですがよろしくお願いします

関連するQ&A