C++の質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
眠い人

C++の質問です

#1

投稿記事 by 眠い人 » 14年前

C++のプログラムの勉強をしていてわからない所があるので教えていただけませんでしょうか?
プログラムはこれです。

#include<iostream>
using namespace std;

//西暦を昭和に変換します。
//変な値が渡されたら場合は 0 を返します。

int WesternToShouwa (int western) {
if (1926 <= western && western <=1989) {
return western - 1925;
} else {
return 0;
}
}

void Shouwa() {
int western;

cout << "西暦を入力してください > " <<flush;
cin >> western;

int shouwa = WesternToShouwa (western);
if (shouwa == 0) {
cout << "その年は昭和ではありません。" << endl;
} else {
cout << "その年は昭和 " << shouwa << " 年です。" << endl;
}
}

int main() {
Shouwa();
Shouwa();
}
             この中です↓
のint WesternToShouwa →(int western)← {
がどういう意味なのかわかりません。
int ○○○()の()の中はどのようなときに使うのか?あるいはどのようなものを書くのでしょうか? 画像

シエル

Re:C++の質問です

#2

投稿記事 by シエル » 14年前

WesternToShouwa関数に値を渡すときに使います。

cin >> western;
でwesternっていう変数に値を入力させて、その値を
WesternToShouwa (western);
でこの関数に渡してます。

渡された値は、
int WesternToShouwa (int western) {
if (1926 <= western && western <=1989) {
return western - 1925;
} else {
return 0;
}
}
の関数の中でwesternとして処理されるわけです。

眠い人

Re:C++の質問です

#3

投稿記事 by 眠い人 » 14年前

cin >> western; でwesternに値を入れて(たとえば1950で)
WesternToShouwa (western); の部分すべてが1950になっていると考えて問題ないでしょうか?

それとも
int WesternToShouwa (int western) {

int WesternToShouwa (int 1950) {
ということでしょうか?
すみません混乱してきました・・。;;

シエル

Re:C++の質問です

#4

投稿記事 by シエル » 14年前

今回の場合は値渡しなので、1950という値を渡していると思ってもらってもいいです。

で、その渡された値は、

int WesternToShouwa (int western) {
if (1926 <= western && western <=1989) {
return western - 1925;
} else {
return 0;
}
}

この関数の中でwestern変数に値がコピーされ、westernという名前で処理されるわけです。
westernという変数がそのまま数字に置き換えられて処理されると思ってもらっていいです。

ですが、参照渡しとかポインタを渡すようになってくるとまた話が違ってくるので、
その場合はまた質問して下さい。 画像

MNS

Re:C++の質問です

#5

投稿記事 by MNS » 14年前

WesternToShouwa (1950);
こう渡したのなら、
int WesternToShouwa () {
int western = 1950;
if (1926 <= western && western <=1989) {
return western - 1925;
} else {
return 0;
}
}
こういうことです。

眠い人

Re:C++の質問です

#6

投稿記事 by 眠い人 » 14年前

はい、ありがとうございます^^
またわからない所があったらよろしくお願いします。





解決を押し忘れたので編集しました^^; 画像

閉鎖

“C言語何でも質問掲示板” へ戻る