自作関数SelectSentenseを他の自作関数にさりげなく追加してメッセージ文を表示してみましょう
アレサ 「さあ、😊次の2つのプログラムをご覧ください。」
#include <stdio.h>
int main(void){
int a=0;
if(a==0) printf("絶好調です\n");
else printf("超好調です\n");
return 0;
}
コンパイル結果
絶好調です
#include <stdio.h>
int main(void){
int b=0;
if(b==0) printf("超絶好調です\n");
else printf("ひたすら好調です\n");
return 0;
}
コンパイル結果
超絶好調です
これらはaやbの値が0かそうでないかによって
異なるメッセージを表示するプログラムです。
aやbの値が0かそうでないかによって
異なるメッセージを表示する
自作関数SelectSentenseを作製してみます
自作関数の定義は
void SelectSentense(int a,int b){
if(a==0) printf("絶好調です\n");
else printf("超好調です\n");
if(b==0) printf("超絶好調です\n");
else printf("ひたすら好調です\n");
return;
}
となります。
このように定義された自作関数SelectSentenseをつかって
プログラムを構成してみます
#include <stdio.h>
void SelectSentense(int a,int b){
if(a==0) printf("絶好調です\n");
else printf("超好調です\n");
if(b==0) printf("超絶好調です\n");
else printf("ひたすら好調です\n");
return;
}
int main(void){
SelectSentense(0,1);
return 0;
}
コンパイル結果
絶好調です
ひたすら好調です
この自作関数SelectSentense(int a,int b)をつかえば
変数a,bに0か1を代入するだけで
好きな方のメッセージを簡単に表示することができます。
ソーラー「自作関数SelectSentense…優雅な響きだね。」
アレサ「ぷぷっ
この自作関数SelectSentenseの面白いところは
さりげなく
他の自作関数に
くっつけることができるところにあります。
以前のエピソードで
int x
int y
に代入された
数値を表示する
次のようなプログラムがありました。
#include <stdio.h>
void Twoprintf (int x,int y){
printf("%d\n",x);
printf("%d\n",y);
return;
}
int main(void){
Twoprintf(1,2);
return 0;
}
コンパイル結果
1
2
このプログラムの自作関数 Twoprintf に
自作関数SelectSentenseを組み込むことができます。
#include <stdio.h>
void SelectSentense(int a,int b){
if(a==0) printf("絶好調です\n");
else printf("超好調です\n");
if(b==0) printf("超絶好調です\n");
else printf("ひたすら好調です\n");
return;
}
void Twoprintf (int x,int y,int a,int b){
printf("%d\n",x);
printf("%d\n",y);
SelectSentense(a, b);
/*自作関数TwoprintfにSelectSentense(a, b);
をくっつけました
それにともない
自作関数Twoprintf の引数は
int x
int y
int a
int b
の
4つとなりました。
*/
return;
}
int main(void){
Twoprintf(1,2,0,0);
return 0;
}
コンパイル結果
1
2
超好調です
超絶好調です
ソーラー
「さりげに自作関数Twoprintfの引数が
Twoprintf (int x,int y,)の2つから
Twoprintf (int x,int y,int a,int b)の4つにふえてるよね。」
アレサ「そうなのです。
そして 自作関数SelectSentense(a, b)が機能するためには
自作関数Twoprintf の前で
自作関数SelectSentenseの定義が行われている必要がありますね。」
ソーラー「この自作関数SelectSentenseのすごいところは
どんなに複雑な自作関数にも組み込んで
簡単にメッセージ文を追加できるところにあるんだよ。
だから お友達の プログラマーのつくった自作関数に
さりげな~く
この自作関数SelectSentenseをくみこんで
コンパイル結果に
面白メッセージを表示してあげれば
腰を抜かすことまちがいなしなんだ(^_^)/
その際
次のプログラムのように
自作関数SelectSentense(int a,int b)の定義に
printf("0か1を入力してください\n");
の命令文を追加して
コンパイル結果で
0か1を入力するよう表示し
さらに
scanf関数を追加しておいて
自作関数SelectSentense(int a,int b)の
の引数となっている変数a,bに
0か1の
数値を入力して
メッセージ文を選べるようにすれば
さらに演出効果倍増さ(#^.^#)
#include <stdio.h>
void SelectSentense(int a,int b){
printf("0か1を入力してください\n");
scanf("%d",&a);
if(a==0) printf("絶好調です\n");
else printf("超好調です\n");
printf("0か1を入力してください\n");
scanf("%d",&b);
if(b==0) printf("超絶好調です\n");
else printf("ひたすら好調です\n");
return;
}
void Twoprintf (int x,int y,int a,int b){
printf("%d\n",x);
printf("%d\n",y);
SelectSentense(a, b);
return;
}
int main(void){
Twoprintf(1,2,0,0);
return 0;
}
コンパイル結果
1
2
0か1を入力してください
1(を入力すると)
超好調です。
0か1を入力してください
1(を入力すると)
ひたすら好調です。
ソーラー「コンパイル結果に
0か1を入力してください
1(を入力すると)
超好調です。
0か1を入力してください
1(を入力すると)
ひたすら好調です。
が追加されたわけだね。
お友達も???
と
思うかな?
このとき
Twoprintf (int x,int y,int a,int b)
Twoprintf(1,2,0,0);
のように
int a=0;
int b=0;
と変数a,変数bが初期化されていますが
scanf関数をつかって
あとから
数値を格納することができるので
if(a==0) printf("絶好調です\n");
else printf("超好調です\n");
if(b==0) printf("超絶好調です\n");
else printf("ひたすら好調です\n");
return;
の中の好きなメッセージを選択できるんだね。
そして
0や1以外の数値が
入力されてもメッセージが表示されるように
else printf文
が
このif文に設定されているんだね😊
これで
お友達のプログラマーも元気を出すこと間違いなしさ」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます